Xperia 10 II - Screen flicker / Cannot get past the lock-screen

Hi all,

My Xperia 10 II decided to randomly lock me out of my system this morning. The screen just won’t turn on, at least not long enough to enter my security code. I force-restarted it multiple times and everything works fine until it actually boots (so it’s not a hardware issue, at least not with the screen) but then when I’m supposed to enter my security key (for the second time after the initial crypt unlock) the screen just doesn’t come on; or rather it flickers from time to time so I can see what it expects me to do, but I don’t have enough time to do anything about it. Over time even the flicker stops and the screen is completely dead until the next force-restart.

Pressing / touching the power button will sometimes result in a vibration, as if it’s trying to unlock by fingerprint (and probably telling me that I need to unlock it by password the first time) but the screen remains dark (or will just flash me after a bit).

Anybody else experienced this and have any ideas on how to resolve it?

Yes, I’ve seen it. Maybe a handful of times since installing SFOS on my Xperia 10 II about two months ago.

But no, other than restarting once or twice, I haven’t found a fix. Nor have I seen a pattern as to when it happens, since it’s so infrequent. But at least on the bright side, it’s infrequent! :wink:

I must have restarted it a dozen times, sometimes I am fast enough to enter my security code and even see the (flickering) home screen but then it goes off, shows up for half a second a couple of times and then it never shows again until restart…

At this point the phone is completely unusable, to make matters worse I did a foolish thing and took it with me as my main and only driver to a two-week vacation and my means of recovering it to a usable state are very limited.

If it was at least connecting to the same WiFi I could SSH into it to see what’s going on, alas it connects only to the cellular network and I have no idea what’s it’s IP :frowning:

Having to rely on my wife’s phone (Android of all things) is not a lot of fun…

I suspect it’s restarting Lipstick, or rather, Lipstick crashes and restarts. I can get the screen flicker if I restart it using Sailfish Utilities.

It doesn’t help much, but the symptom sounds like it’s the same issue. It’s been fixed in upcoming 4.2.0, but that’s no help either…

The screen still “works” and so does touch. I can still restart or reboot my X10II in that state by locking the screen, unlocking it via fingerprint, opening the top menu and clicking the area where the reboot button would be. If you could enable wifi by guessing, there’s hope to get SSH access to it.

Or, connect it to a computer via USB cable, click to guess and enable developer mode and SSH in.

Unfortunately, this is not the case with the failure that I’m experiencing—the touchscreen is also dead (or appears so) the moment the screen goes off. I can unlock the phone but anything that I try doesn’t produce any results. I tried swipe-down - press the ‘reset’ area and connecting USB and pressing around the ‘Developer mode’ area with no success.

I don’t think it’s necessarily Lipstick’s fault (or just its fault) as if I’m fast enough to enter my unlock code before the screen goes dark everything seems a bit scrambled. It tries to pull up the top menu line animation after unlock but fails half the way with weird screen artifacts which leads me to believe that even if the touchscreen worked, the system cannot even render the elements/capture zones for it to even register what I want to press.

In the meantime, I’ve flashed it to a recovery mode (check a hint at the end) and entered shell but I couldn’t get to any systemd logs as it says journal is empty (and looking at /run/log/journal it actually is empty). What gives? :confused: I managed at least to make /home/defaultuser backup (hopefully, I’ll be able to extract SailOTP tokens if I end up having to reflash it) so I feel more at ease with poking the bear…

Any idea what could I change on the system from recovery mode that could potentially fix the issue (or at least force the Developer mode connection when connecting a USB cable)? I was thinking of forcing it to connect to the same WiFi network by manually entering settings, alas this stupid hotel’s WiFi require you to go through data-mining hoops before it gives you access. Any and all suggestions are more than welcome.

Thanks!

===

How to force `fastboot` flashing without USB2 ports on Linux

Flashing recovery image was surprisingly difficult as fastboot was complaining on the image size for which the common suggestion is to connect the phone to a USB2 port. Sadly, my Linux laptop doesn’t have any USB2 ports and I wasn’t in the mood for another travel to a distant electronics store to try to find a USB2 hub. Soft-forcing USB2 mode didn’t work, either.

What worked, tho, is to run fastboot commands without the phone attached, then wait for the ‘please connect your device’ or something along that message at which point connecting the phone while holding Volume Up will end up as successful. Then one needs to disconnect the phone, issue the next ‘fastboot’ command, connect again, rinse & repeat until all is in. I managed to flash the recovery image and then flash the real image back twice already and this is the only trick that worked.

:+1: Great success! :+1:

Well, kind of—since the screen obviously works if I’m fast enough to enter my security code, I thought that if I connect USB before unlocking it might render the USB dialog where I can select Developer mode and I might have a chance to click it before it goes dark—and after a few attempts I actually made it.

Now I’m SSH-ed in and I can read the logs. The crux of the problem is indeed Lipstick but I have no idea why nor how to fix it :confused:

This is what keeps repeating (with random other messages interspersed) whenever it tries to start the screen and fails spectacularly:

journalctl_redux.log
Jul 21 08:47:04 maqinica-unicorn mce[1865]: modules/display.c: mdy_display_state_enter(): current display state = ON
Jul 21 08:47:04 maqinica-unicorn mce[1865]: tklock.c: tklock_ui_notify_beg_cb(): skipped: show device lock query
Jul 21 08:47:04 maqinica-unicorn systemd[1]: Started Controller for display.service.
Jul 21 08:47:05 maqinica-unicorn systemd[5404]: lipstick.service: Service hold-off time over, scheduling restart.
Jul 21 08:47:05 maqinica-unicorn systemd[5404]: lipstick.service: Scheduled restart job, restart counter is at 3.
Jul 21 08:47:05 maqinica-unicorn systemd[5404]: Stopped The lipstick UI.
Jul 21 08:47:05 maqinica-unicorn systemd[5404]: Starting The lipstick UI...
Jul 21 08:47:05 maqinica-unicorn mce[1865]: modules/display.c: mdy_stm_set_compositor_availability_changed(): compositor availability change: pending
Jul 21 08:47:05 maqinica-unicorn mce[1865]: modules/display.c: mdy_stm_step(): forced brightness sync to: 654
Jul 21 08:47:05 maqinica-unicorn mce[1865]: modules/display.c: mdy_stm_set_compositor_availability_changed(): compositor availability change: handled
Jul 21 08:47:05 maqinica-unicorn mce[1865]: modules/display.c: mdy_display_state_enter(): current display state = ON
Jul 21 08:47:05 maqinica-unicorn mce[1865]: modules/display.c: mdy_stm_set_compositor_availability_changed(): compositor availability change: pending
Jul 21 08:47:05 maqinica-unicorn mce[1865]: modules/display.c: mdy_stm_step(): forced brightness sync to: 654
Jul 21 08:47:05 maqinica-unicorn mce[1865]: modules/display.c: mdy_stm_set_compositor_availability_changed(): compositor availability change: handled
Jul 21 08:47:05 maqinica-unicorn mce[1865]: modules/display.c: mdy_display_state_enter(): current display state = ON
Jul 21 08:47:06 maqinica-unicorn lipstick[11225]: library "libGLESv2_adreno.so" not found
Jul 21 08:47:06 maqinica-unicorn lipstick[11225]: library "eglSubDriverAndroid.so" not found
Jul 21 08:47:06 maqinica-unicorn lipstick[11225]: library "android.hardware.camera.provider@2.5.so" not found
Jul 21 08:47:06 maqinica-unicorn lipstick[11225]: libminisf is incompatible or missing. Can not possibly start the SurfaceFlinger service. If you're experiencing troubles with media try updating droidmedia (and/or this plugin).== hwcomposer module ==
Jul 21 08:47:06 maqinica-unicorn lipstick[11225]:  * Address: 0x7ec5170008
Jul 21 08:47:06 maqinica-unicorn lipstick[11225]:  * Module API Version: 3
Jul 21 08:47:06 maqinica-unicorn lipstick[11225]:  * HAL API Version: 0
Jul 21 08:47:06 maqinica-unicorn lipstick[11225]:  * Identifier: hwcomposer
Jul 21 08:47:06 maqinica-unicorn lipstick[11225]:  * Name: QTI Hardware Composer Module
Jul 21 08:47:06 maqinica-unicorn lipstick[11225]:  * Author: CodeAurora Forum
Jul 21 08:47:06 maqinica-unicorn lipstick[11225]: == hwcomposer module ==
Jul 21 08:47:06 maqinica-unicorn lipstick[11225]: == hwcomposer device ==
Jul 21 08:47:06 maqinica-unicorn lipstick[11225]:  * Version: 2000001 (interpreted as 2000001)
Jul 21 08:47:06 maqinica-unicorn lipstick[11225]:  * Module: 0x7ec5170008
Jul 21 08:47:06 maqinica-unicorn lipstick[11225]: == hwcomposer device ==
Jul 21 08:47:06 maqinica-unicorn lipstick[11225]: [D] unknown:0 - onHotplugReceived(0, 0, connected, primary)
Jul 21 08:47:06 maqinica-unicorn lipstick[11225]: [W] unknown:0 - EGLFS: Failed to open /dev/fb0
Jul 21 08:47:06 maqinica-unicorn lipstick[11225]: [D] unknown:0 - EGLFS: Screen Info
Jul 21 08:47:06 maqinica-unicorn lipstick[11225]: [D] unknown:0 -  - Physical size: QSizeF(60.0263, 139.148)
Jul 21 08:47:06 maqinica-unicorn lipstick[11225]: [D] unknown:0 -  - Screen size: QSize(1080, 2520)
Jul 21 08:47:06 maqinica-unicorn lipstick[11225]: [D] unknown:0 -  - Screen depth: 32
Jul 21 08:47:06 maqinica-unicorn lipstick[11225]: [W] unknown:0 - QEglScreen 0x6c9c7a0
Jul 21 08:47:06 maqinica-unicorn lipstick[11225]: [W] unknown:0 - Notifications restored: 10
Jul 21 08:47:06 maqinica-unicorn kernel: BUG: Bad rss-counter state mm:ffffffc0d6485e80 idx:4 val:64
Jul 21 08:47:07 maqinica-unicorn sensorfwd[2788]: virtual bool HybrisAdaptor::setInterval(unsigned int, int) setInterval not ok
Jul 21 08:47:09 maqinica-unicorn lipstick[11225]: [W] unknown:105 - file:///usr/share/lipstick-jolla-home-qt5/layers/Layer.qml:105:25: Unable to assign [undefined] to double
Jul 21 08:47:09 maqinica-unicorn systemd[1]: selinux: Unknown class service
Jul 21 08:47:09 maqinica-unicorn mce[1865]: modules/proximity.c: mp_datapipe_set_proximity_sensor_actual(): state: OPEN -> UNDEF
Jul 21 08:47:09 maqinica-unicorn lipstick[11225]: [D] unknown:0 - Registered VoiceCallAgent /com/jolla/Voicecall
Jul 21 08:47:09 maqinica-unicorn kernel: i2c_geni 4a88000.i2c: i2c error :-107
Jul 21 08:47:10 maqinica-unicorn lipstick[11225]: [D] onStatusChanged:45 - WeatherModel - could not obtain weather data The Place I'm At 102522091
Jul 21 08:47:10 maqinica-unicorn lipstick[11225]: [D] onStatusChanged:100 - WeatherForecastModel - could not obtain forecast weather data The Place I'm At 102522091
Jul 21 08:47:10 maqinica-unicorn mce[1865]: tklock.c: tklock_dbus_notification_end_cb(): notification end from name=:1.273 owner=:1.273 pid=11225 uid=100000 gid=996 priv=1 cmd=/usr/bin/lipstick -plugin evdevtouch -plugin evdevkeyboard:key
Jul 21 08:47:10 maqinica-unicorn lipstick[11225]: [D] onStatusChanged:45 - WeatherModel - could not obtain weather data The Place I'm At 102522091
Jul 21 08:47:11 maqinica-unicorn lipstick[11225]: [W] unknown:18 - file:///usr/share/lipstick-jolla-home-qt5/notifications/NotificationPreview.qml:18:1: QML NotificationPreview: Binding loop detected for property "notification"
Jul 21 08:47:11 maqinica-unicorn lipstick[11225]: [W] unknown:18 - file:///usr/share/lipstick-jolla-home-qt5/notifications/NotificationPreview.qml:18:1: QML NotificationPreview: Binding loop detected for property "notification"
Jul 21 08:47:11 maqinica-unicorn mce[1865]: tklock.c: tklock_dbus_notification_beg_cb(): notification begin from name=:1.273 owner=:1.273 pid=11225 uid=100000 gid=996 priv=1 cmd=/usr/bin/lipstick -plugin evdevtouch -plugin evdevkeyboard:key
Jul 21 08:47:11 maqinica-unicorn mce[1865]: tklock.c: tklock_datapipe_uiexception_type_cb(): uiexception_type = none -> notif
Jul 21 08:47:11 maqinica-unicorn lipstick[11225]: [W] unknown:68 - file:///usr/lib64/qt5/qml/Sailfish/Silica/BackgroundItem.qml:68:5: QML : Binding loop detected for property "width"
Jul 21 08:47:11 maqinica-unicorn lipstick[11225]: [W] unknown:68 - file:///usr/lib64/qt5/qml/Sailfish/Silica/BackgroundItem.qml:68:5: QML : Binding loop detected for property "width"
Jul 21 08:47:11 maqinica-unicorn lipstick[11225]: [W] unknown:68 - file:///usr/lib64/qt5/qml/Sailfish/Silica/BackgroundItem.qml:68:5: QML : Binding loop detected for property "width"
Jul 21 08:47:11 maqinica-unicorn lipstick[11225]: [W] unknown:68 - file:///usr/lib64/qt5/qml/Sailfish/Silica/BackgroundItem.qml:68:5: QML : Binding loop detected for property "width"
Jul 21 08:47:11 maqinica-unicorn mce[1865]: modules/display.c: mdy_stm_set_compositor_availability_changed(): compositor availability change: pending
Jul 21 08:47:11 maqinica-unicorn mce[1865]: modules/display.c: mdy_stm_step(): forced brightness sync to: 654
Jul 21 08:47:11 maqinica-unicorn mce[1865]: modules/display.c: mdy_stm_set_compositor_availability_changed(): compositor availability change: handled
Jul 21 08:47:11 maqinica-unicorn systemd[1]: selinux: Unknown class service
Jul 21 08:47:11 maqinica-unicorn lipstick[11225]: [W] unknown:31 - file:///usr/lib64/qt5/qml/Sailfish/Lipstick/NotificationAppIcon.qml:31:5: QML HighlightImageBase: Failed to get image from provider: image://nemothumbnail//home/defaultuser/.cache/apkd-bridge/icons/0_org.thoughtcrime.securesms_313399_null_10039.png
Jul 21 08:47:11 maqinica-unicorn lipstick[11225]: [W] unknown:18 - file:///usr/share/lipstick-jolla-home-qt5/notifications/NotificationPreview.qml:18:1: QML NotificationPreview: Binding loop detected for property "notification"
Jul 21 08:47:11 maqinica-unicorn lipstick[11225]: [W] unknown:18 - file:///usr/share/lipstick-jolla-home-qt5/notifications/NotificationPreview.qml:18:1: QML NotificationPreview: Binding loop detected for property "notification"
Jul 21 08:47:11 maqinica-unicorn mce[1865]: tklock.c: tklock_dbus_notification_beg_cb(): notification begin from name=:1.273 owner=:1.273 pid=11225 uid=100000 gid=996 priv=1 cmd=/usr/bin/lipstick -plugin evdevtouch -plugin evdevkeyboard:key
Jul 21 08:47:11 maqinica-unicorn lipstick[11225]: [W] unknown:31 - file:///usr/lib64/qt5/qml/Sailfish/Lipstick/NotificationAppIcon.qml:31:5: QML HighlightImageBase: Failed to get image from provider: image://nemothumbnail//home/defaultuser/.cache/apkd-bridge/icons/0_org.thoughtcrime.securesms_313399_null_10039.png
Jul 21 08:47:12 maqinica-unicorn mce[1865]: modules/proximity.c: mp_datapipe_set_proximity_sensor_actual(): state: UNDEF -> OPEN
Jul 21 08:47:12 maqinica-unicorn systemd[1]: selinux: Unknown class service
Jul 21 08:47:12 maqinica-unicorn lipstick[11225]: [W] unknown:0 - QEglWindow 0x7f124d0: 0x6f1d890 0x0
Jul 21 08:47:12 maqinica-unicorn ambience-wallpaper-tool[11252]: [W] unknown:0 - No filter named:
Jul 21 08:47:12 maqinica-unicorn ambience-wallpaper-tool[11252]: [D] unknown:0 - Using Wayland-EGL
Jul 21 08:47:12 maqinica-unicorn mce[1865]: modules/display.c: mdy_display_state_enter(): current display state = ON
Jul 21 08:47:12 maqinica-unicorn sensorfwd[2788]: [SocketHandler]: Socket error:  QLocalSocket::PeerClosedError
Jul 21 08:47:12 maqinica-unicorn systemd[1]: sys-fs-bpf.mount: Cannot add dependency job, ignoring: Unit sys-fs-bpf.mount is not loaded properly: Invalid argument.
Jul 21 08:47:12 maqinica-unicorn sensorfwd[2788]: [SocketHandler]: Noticed lost session:  31
Jul 21 08:47:12 maqinica-unicorn [5463]: [W] unknown:0 - Wallpaper creation failed. ("--color-scheme", "light-on-dark", "--application-filter", "", "--application-output", "/home/defaultuser/.cache/ambienced/com/jolla/components/bgimages/12746971ap.jpg", "/usr/share/ambience/water/images/ambience_water.jpg")
Jul 21 08:47:12 maqinica-unicorn [5463]: [W] unknown:0 -
Jul 21 08:47:12 maqinica-unicorn kernel: binder_alloc: 11225: binder_alloc_buf, no vma
Jul 21 08:47:12 maqinica-unicorn kernel: binder: 5540:5587 transaction failed 29189/-3, size 76-0 line 3207
Jul 21 08:47:12 maqinica-unicorn systemd[1]: Starting Controller for display.service...
Jul 21 08:47:12 maqinica-unicorn mce[1865]: modules/display.c: mdy_stm_set_compositor_availability_changed(): compositor availability change: pending
Jul 21 08:47:12 maqinica-unicorn mce[1865]: modules/display.c: mdy_stm_step(): forced brightness sync to: 654
Jul 21 08:47:12 maqinica-unicorn kernel: binder: undelivered TRANSACTION_COMPLETE
Jul 21 08:47:12 maqinica-unicorn kernel: binder: undelivered transaction 66571, process died.
Jul 21 08:47:12 maqinica-unicorn kernel: binder: undelivered transaction 66570, process died.
Jul 21 08:47:12 maqinica-unicorn kernel: binder: undelivered transaction 66578, process died.
Jul 21 08:47:12 maqinica-unicorn kernel: binder: undelivered transaction 66581, process died.
Jul 21 08:47:12 maqinica-unicorn kernel: binder: undelivered transaction 66567, process died.
Jul 21 08:47:12 maqinica-unicorn kernel: BUG: Bad rss-counter state mm:ffffffc0d65fa300 idx:4 val:20835
Jul 21 08:47:12 maqinica-unicorn systemd[5404]: lipstick.service: Main process exited, code=killed, status=11/SEGV
Jul 21 08:47:12 maqinica-unicorn systemd[5404]: lipstick.service: Failed with result 'signal'.
Jul 21 08:47:12 maqinica-unicorn systemd[5404]: Failed to start The lipstick UI.

Any ideas on how to fix it, o mighty gurus of SailfishOS wisdom? :pray:

P.S. Also found this bug report: The screen goes black and that’s it which pretty much explains the same thing that’s happening with my device, except I don’t have any overlaying app installed and everything was working fine until it didn’t for no apparent reason (I didn’t change or install anything for this to happen). I also tried clearing up notifications as the only other overlaying thing I can think of but it didn’t help. I can now manually restart Lipstick but it doesn’t help either…

1 Like

:+1: Greater success :+1:

I got it working! Not sure what did it, tho, as I didn’t do much. My logic was that if it can be caused by overlays I better remove anything that can render overlays. I didn’t have any of the listed apps but I had pending notifications so I manually cleared them from notifications.db. I also removed Battery Buddy as it was creating the only ‘non-standard’ notification.

Restarting Lipstick didn’t help and I ran out of time to tinker so I turned the phone off. I just turned it on and everything is back to (buggy) normal - typing this from it, in fact!

So, what actually caused it remains a mystery, unless somebody can figure it out from the logs I collected :man_shrugging:

1 Like

not hard to guess that after you reboot the phone everything is normal

Except rebooting didn’t do anything a few dozen times before it…

While older versions of Battery Buddy did create notifications using external binary, current version uses QML Nemo.Notifications 1.0, which is the normal method - AFAIK. I am not aware of any issues with notifications, and they don’t even set any callbacks (they do nothing when clicked), so I don’t really see how they could have caused that.

I could have looked at the notifications database, do you still have the original available?

I’ll check the log you pasted later.

Uh, oh, the issue is back and it’s not due to notifications as I did the same thing as before (clearing notifications from notifications.db) and physically restarting the device and the issue is still there, something else is going on :confused:

The logs are showing pretty much the same thing, I’ll try to scour them from boot up line by line to see if I can find any clue…

Alright, I got it back to a working state and at this point I actually do think it has something to do with notifications—and specifically, with the notification to login to the stupid hotel portal to ‘enable’ WiFi. I’m basing this conclusion on:

  • My Lipstick troubles started when I arrived to the hotel and tried to connect to its WiFi
  • The last time I ‘fixed’ it I inadvertently disabled WiFi (as the UI wasn’t working anyway and I wanted to see if I can repair some packages via pkcon)
  • I didn’t enable WiFi until this morning when I wanted to download some offline maps
  • The only notification I briefly managed to notice (before everything went black) even after deleting all of the notifications from notifications.db was the request to login to the hotel portal to enable networking
  • Disabling WiFi and restarting got rid of the notification and everything went back to ‘normal’

I need my phone today but I’ll try to repeat the experiment tomorrow and see if I can reliably get the phone to break and fix it by disabling WiFi / removing hotel’s WiFi connection from automatically connected networks. Then I can make a proper bug report and hope it will get fixed in due time (or at least provide other users a workaround if they encounter the same issue).

2 Likes