Open Mintulix opened 6 years ago
Can I get you to try to reproduce this using cinnamon-screensaver --debug
(you can use cinnamon-screensaver-command -e
or killall cinnamon-screensaver
Also, is there any generated report for this? (check "System Reports" in the menu)
Thanks
I'll try with debug, but it's only sometimes...
No system reports for this (I had a few for other events).
I had this before (18.1 or 18.2), so I still have a key combination for a screensaver "restart" to solve this
cinnamon-screensaver-command -e >/dev/null 2>&1 && nohup cinnamon-screensaver >/dev/null 2>&1 &
Ok, I have a log for you... Here is what I did: Connect an HDMI-cable to get sound with an spdif-converter. This is interpreted as second monitor wich is absent, I use it only to send the sound to a receiver. Also I switched to a second user, watched some movies. Then I logged out from user 2 and logged back into my user account, then the screensaver was still active.
Log: cinnamon-screensaver --debug Debug mode active Cinnamon Screensaver support not found in current theme - adding some... Trying to connect to logind... Starting screensaver... Successfully using logind Received Lock from session manager Found 2 Xinerama screens on display :0 Monitor 0 is 0,0 1920 x 1080 Monitor 1 is 0,0 1920 x 1080 Cinnamon Screensaver compiled without Solaris Xinerama support Scale factor of 1 applied. Monitor 0 is 0,0 1920 x 1080 Stage.update_geometry - new backdrop position: 0, 0 new size: 1920 x 1080
(cinnamon-screensaver-main.py:3110): CScreensaver-WARNING **: Error setting property 'OverviewActive' on interface org.Cinnamon: Zeitüberschreitung wurde erreicht (g-io-error-quark, 24)
(cinnamon-screensaver-main.py:3110): CScreensaver-WARNING *: Error setting property 'ExpoActive' on interface org.Cinnamon: Zeitüberschreitung wurde erreicht (g-io-error-quark, 24) Found 2 Xinerama screens on display :0 Monitor 0 is 0,0 1920 x 1080 Monitor 1 is 0,0 1920 x 1080 Cinnamon Screensaver compiled without Solaris Xinerama support Scale factor of 1 applied. Monitor 0 is 0,0 1920 x 1080 Stage.update_geometry - new backdrop position: 0, 0 new size: 1920 x 1080 Received Unlock from session manager authClient cancel requested, but no helper process Received Active changed from session manager Stage.update_geometry - new backdrop position: 0, 0 new size: 1920 x 1080 authClient cancel requested, but no helper process CsScreen dispose CsScreen finalize Found 2 Xinerama screens on display :0 Monitor 0 is 0,0 1920 x 1080 Monitor 1 is 0,0 1920 x 1080 Cinnamon Screensaver compiled without Solaris Xinerama support Scale factor of 1 applied. Monitor 0 is 0,0 1920 x 1080 Stage.update_geometry - new backdrop position: 0, 0 new size: 1920 x 1080 authClient cancel requested, but no helper process CsScreen dispose CsScreen finalize Traceback (most recent call last): File "/usr/share/cinnamon-screensaver/stage.py", line 901, in position_overlay_child monitor_rect = status.screen.get_monitor_geometry(current_monitor) AttributeError: 'NoneType' object has no attribute 'get_monitor_geometry' Traceback (most recent call last): File "/usr/share/cinnamon-screensaver/util/trackers.py", line 38, in do_callback ret = callback(args) File "/usr/share/cinnamon-screensaver/floating.py", line 58, in align_clock if status.screen.get_n_monitors() > 1: AttributeError: 'NoneType' object has no attribute 'get_n_monitors' Traceback (most recent call last): File "/usr/share/cinnamon-screensaver/stage.py", line 901, in position_overlay_child monitor_rect = status.screen.get_monitor_geometry(current_monitor) AttributeError: 'NoneType' object has no attribute 'get_monitor_geometry' Traceback (most recent call last): File "/usr/share/cinnamon-screensaver/stage.py", line 901, in position_overlay_child monitor_rect = status.screen.get_monitor_geometry(current_monitor) AttributeError: 'NoneType' object has no attribute 'get_monitor_geometry' Traceback (most recent call last): File "/usr/share/cinnamon-screensaver/stage.py", line 901, in position_overlay_child monitor_rect = status.screen.get_monitor_geometry(current_monitor) AttributeError: 'NoneType' object has no attribute 'get_monitor_geometry' Traceback (most recent call last): File "/usr/share/cinnamon-screensaver/stage.py", line 901, in position_overlay_child monitor_rect = status.screen.get_monitor_geometry(current_monitor) AttributeError: 'NoneType' object has no attribute 'get_monitor_geometry' Traceback (most recent call last): File "/usr/share/cinnamon-screensaver/stage.py", line 901, in position_overlay_child monitor_rect = status.screen.get_monitor_geometry(current_monitor) AttributeError: 'NoneType' object has no attribute 'get_monitor_geometry' Traceback (most recent call last): File "/usr/share/cinnamon-screensaver/stage.py", line 901, in position_overlay_child monitor_rect = status.screen.get_monitor_geometry(current_monitor) AttributeError: 'NoneType' object has no attribute 'get_monitor_geometry' Traceback (most recent call last): File "/usr/share/cinnamon-screensaver/stage.py", line 901, in position_overlay_child monitor_rect = status.screen.get_monitor_geometry(current_monitor) AttributeError: 'NoneType' object has no attribute 'get_monitor_geometry' Traceback (most recent call last): File "/usr/share/cinnamon-screensaver/stage.py", line 901, in position_overlay_child monitor_rect = status.screen.get_monitor_geometry(current_monitor) AttributeError: 'NoneType' object has no attribute 'get_monitor_geometry'
Okay, something like this never occurred to me.. I've ordered one of these extractors.. I'm curious what's happening, and how our libraries interpret that sort of device. Should have in a couple days. If I can reproduce this, a fix will be pretty simple.
Can you try this file out:
https://www.dropbox.com/s/il1y8cv20pm5jzl/stage.py?dl=0
Download it to some folder, then open a terminal in that folder and run:
sudo cp stage.py /usr/share/cinnamon-screensaver
Then kill and restart the screensaver.
Thanks
Thanks a lot Michael, also for ordering an HDMI-Converter just for debugging :-). I patched stage.py, will test it later this evening and the next days and report.
Hmm, just had the bug again with the patched stage.py. HDMI was not plugged in this time, but I switched users again. I think I have to test a few more days with the --debug switch on...
Hi, I have a new debug log. Just changed users like before, no HDMI cable involved (sorry for misleading).
... Output from pam helper: 'CS_PAM_AUTH_BUSY_FALSE' authClient idle add auth-busy Output from pam helper: '' authClient initialize... initialized already: True authClient initialize... initialized already: True authClient message to child authClient initialize... initialized already: True auth_message_handler processing response string should interrupt: 0 Got response Got respose to message style 1: interrupt:0 Msg handler returned 1 Output from pam helper: 'CS_PAM_AUTH_BUSY_TRUE' authClient idle add auth-busy Output from pam helper: '' pam_authenticate (...) ==> 0 (Erfolgreich) pam_acct_mgmt (...) ==> 0 (Erfolgreich) pam_setcred (...) ==> 0 (Erfolgreich) pam_end (...) ==> 0 (Success) Verify user returned: TRUE Output from pam helper: 'CS_PAM_AUTH_SUCCESS' authClient idle add success Output from pam helper: '' authClient message to child authClient helper process completed... CsScreen dispose CsScreen finalize Found 1 Xinerama screens on display :0 Monitor 0 is 0,0 1920 x 1080 Cinnamon Screensaver compiled without Solaris Xinerama support Scale factor of 1 applied. Monitor 0 is 0,0 1920 x 1080 Stage.update_geometry - new backdrop position: 0, 0 new size: 1920 x 1080 authClient initialize... initialized already: False pam_start ("cinnamon-screensaver", "user-name", ...) ==> 0 (Erfolgreich) Handling message style 1: 'Passwort: ' Waiting for respose to message style 1: 'Passwort: ' Waiting for lock Waiting for response Got message style 1: 'Passwort: ' Output from pam helper: 'CS_PAM_AUTH_SET_PROMPTPasswort: ' authClient idle add auth-prompt Output from pam helper: 'CS_PAM_AUTH_BUSY_FALSE' authClient idle add auth-busy Output from pam helper: '' authClient initialize... initialized already: True authClient initialize... initialized already: True authClient message to child authClient initialize... initialized already: True auth_message_handler processing response string should interrupt: 0 Got response Got respose to message style 1: interrupt:0 Msg handler returned 1 Output from pam helper: 'CS_PAM_AUTH_BUSY_TRUE' authClient idle add auth-busy Output from pam helper: '' pam_authenticate (...) ==> 0 (Erfolgreich) pam_acct_mgmt (...) ==> 0 (Erfolgreich) pam_setcred (...) ==> 0 (Erfolgreich) pam_end (...) ==> 0 (Success) Verify user returned: TRUE Output from pam helper: 'CS_PAM_AUTH_SUCCESS' authClient idle add success Output from pam helper: '' authClient message to child Error writing to child - Fehler beim Schreiben in den Dateideskriptor: Datenübergabe unterbrochen (broken pipe) authClient helper process completed... CsScreen dispose CsScreen finalize Found 1 Xinerama screens on display :0 Monitor 0 is 0,0 1920 x 1080 Cinnamon Screensaver compiled without Solaris Xinerama support Scale factor of 1 applied. Monitor 0 is 0,0 1920 x 1080 Stage.update_geometry - new backdrop position: 0, 0 new size: 1920 x 1080 authClient cancel requested, but no helper process CsScreen dispose CsScreen finalize Received Lock from session manager Found 1 Xinerama screens on display :0 Monitor 0 is 0,0 1920 x 1080 Cinnamon Screensaver compiled without Solaris Xinerama support Scale factor of 1 applied. Monitor 0 is 0,0 1920 x 1080 Stage.update_geometry - new backdrop position: 0, 0 new size: 1920 x 1080
(cinnamon-screensaver-main.py:32393): CScreensaver-WARNING **: Error setting property 'OverviewActive' on interface org.Cinnamon: Zeitüberschreitung wurde erreicht (g-io-error-quark, 24)
(cinnamon-screensaver-main.py:32393): CScreensaver-WARNING *: Error setting property 'ExpoActive' on interface org.Cinnamon: Zeitüberschreitung wurde erreicht (g-io-error-quark, 24) Found 1 Xinerama screens on display :0 Monitor 0 is 0,0 1920 x 1080 Cinnamon Screensaver compiled without Solaris Xinerama support Scale factor of 1 applied. Monitor 0 is 0,0 1920 x 1080 Stage.update_geometry - new backdrop position: 0, 0 new size: 1920 x 1080 Received Unlock from session manager authClient cancel requested, but no helper process Received Active changed from session manager Stage.update_geometry - new backdrop position: 0, 0 new size: 1920 x 1080 authClient cancel requested, but no helper process CsScreen dispose CsScreen finalize Found 1 Xinerama screens on display :0 Monitor 0 is 0,0 1920 x 1080 Cinnamon Screensaver compiled without Solaris Xinerama support Scale factor of 1 applied. Monitor 0 is 0,0 1920 x 1080 Stage.update_geometry - new backdrop position: 0, 0 new size: 1920 x 1080 authClient cancel requested, but no helper process CsScreen dispose CsScreen finalize Traceback (most recent call last): File "/usr/share/cinnamon-screensaver/stage.py", line 904, in position_overlay_child monitor_rect = status.screen.get_monitor_geometry(current_monitor) AttributeError: 'NoneType' object has no attribute 'get_monitor_geometry' Traceback (most recent call last): File "/usr/share/cinnamon-screensaver/util/trackers.py", line 38, in do_callback ret = callback(args) File "/usr/share/cinnamon-screensaver/floating.py", line 58, in align_clock if status.screen.get_n_monitors() > 1: AttributeError: 'NoneType' object has no attribute 'get_n_monitors' Traceback (most recent call last): File "/usr/share/cinnamon-screensaver/stage.py", line 904, in position_overlay_child monitor_rect = status.screen.get_monitor_geometry(current_monitor) AttributeError: 'NoneType' object has no attribute 'get_monitor_geometry' Traceback (most recent call last): File "/usr/share/cinnamon-screensaver/stage.py", line 904, in position_overlay_child monitor_rect = status.screen.get_monitor_geometry(current_monitor) AttributeError: 'NoneType' object has no attribute 'get_monitor_geometry' Traceback (most recent call last): File "/usr/share/cinnamon-screensaver/stage.py", line 904, in position_overlay_child monitor_rect = status.screen.get_monitor_geometry(current_monitor) AttributeError: 'NoneType' object has no attribute 'get_monitor_geometry' Traceback (most recent call last): File "/usr/share/cinnamon-screensaver/stage.py", line 904, in position_overlay_child monitor_rect = status.screen.get_monitor_geometry(current_monitor) AttributeError: 'NoneType' object has no attribute 'get_monitor_geometry'
For what it is worth: I too, but on Mint 20.2, see an error message (in my log) similar to one reported here. That error message that I see is: 'org.cinnamon.ScreenSaver: Error writing to child - Error writing to file descriptor: Broken pipe'.
On weirdness caused by HDMI cables: please cf. this open issue filed against Cinnamon.