hhannine / superpaper

A cross-platform multi monitor wallpaper manager.
MIT License
1.12k stars 46 forks source link

crashes on windows 10 after changing monitor layout #38

Closed jivanyatra closed 4 years ago

jivanyatra commented 4 years ago

New here, found SuperPaper from reddit and I love it!

I set it up to work with my 3 monitor layout. I disconnected the monitors from my laptop and now SuperPaper doesn't load. Every time I start it, it crashes. Not sure if it's related to the Issue #37 or not, so here's my log output:

Enabled logging to file. use_hotkeys: True hk_binding_next: ('control', 'super', 'w') hk_binding_pause: ('control', 'super', 'shift', 'p') get_display_data output: NUM_DISPLAYS = 2, RES_ARR = [(3200, 1800), (1920, 1080)], OFF_ARR = [(0, 1080), (624, 0)] Display(resolution=(3200, 1800), digital_offset=(0, 1080), phys_size_mm=(294, 165), detected_phys_size_mm=(294, 165), ppi=276.46258503401356, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='\\.\DISPLAY1') Display(resolution=(1920, 1080), digital_offset=(624, 0), phys_size_mm=(521, 293), detected_phys_size_mm=(521, 293), ppi=93.6046065259117, ppi_norm_resolution=None, ppi_norm_offset=None, ppi_norm_bezels=(0, 0), perspective_angles=(0, 0), name='\\.\DISPLAY2') load_system: archive_file not found: C:\Users\username\AppData\Local\Superpaper\display_systems.dat Uncaught exception type: <class 'ValueError'> NoneType: None Exception: max() arg is an empty sequence NoneType: None <traceback object at 0x0000019F84BFAD80> NoneType: None

The error itself appears different to issue #37, and i saw that was closed, so i redownloaded the installer after clearing out %AppData%\Local\Superpaper\ and reinstalled, but i'm seeing the same behavior again.

(There are other issues I'm experiencing on win10, but once I get it loaded, I can take screenshots and open new issues.)

hhannine commented 4 years ago

Yes this appears to be unrelated. Unfortunately the log entries fail to capture useful details of what is failing. Would you describe the steps you take in order to reproduce the issue? Does the issue go away if you delete the running profile text file from the temp folder?

One cause could be that you setup a multi monitor profile that isn't handled gracefully with fewer monitors.

Edit: Glad that you like it!

jivanyatra commented 4 years ago

I can't get this to go away in order to see how to reproduce it. Steps taken to get here were:

  1. create a profile. here's mine:

    name=digitalblasphemyseparate spanmode=multi slideshow=True delay=1800.0 sortmode=shuffle hotkey=control+super+shift+g perspective=default display0paths=C:\Users\username\Pictures\Wallpapers display1paths=C:\Users\username\Pictures\Wallpapers display2paths=C:\Users\username\Pictures\Wallpapers

  2. get it working - i reloaded profiles from the tray icon's context menu, then selected it from the menu.

  3. remove the external monitors from the computer. in my case, my monitors run through a razer core, and so i went to safely remove devices > razer core like i normally do.

  4. put the computer to sleep.

  5. resume from sleep

  6. plugged in a monitor (in a different configuration)

  7. try to open Superpaper - it crashes.

troubleshooting-wise, i've tried:

None of which are working.

jivanyatra commented 4 years ago

I think it's definitely the case that I changed my monitor setup to one that is less.... friendly. It makes things rather difficult to reset or change, however. I'll try later, when I get home, to see if it runs once my monitors are in the original configuration again.

Also, the portable version also does not run and gives the same error.

hhannine commented 4 years ago

Well that is thoroughly perplexing that the issue doesn't go away after you nuke the appdata folder.. Is the log contents the same after the removal of the configs or has it changed?

Try to test with the portable package since its config is contained in the folder? Edit: I missed the first time that you said that is failing as well...

Would you be familiar enough with python & pip to be able to run superpaper as a python script? I'm thinking that I need to do something to make the logging more accurate on Windows, but before I can solve that I'd think that running superpaper as a python script would produce more verbose error messages.

hhannine commented 4 years ago

Tried to reproduce this by

With this I was able to make an IndexError: list index out of range so resuming the profile fails but superpaper still runs.. So still no idea what goes so catastrophically wrong on your machine :(

hhannine commented 4 years ago

And now that I introduced a system suspension in the above procedure for the step of disconnecting the display, after waking up superpaper doesn't even realize that the second display is gone and continues to produce multi image wallpapers that are incorrectly laid out on the single remaining display...

And neither did disconnecting the display while superpaper was running produce anything new. So no idea what could cause

hhannine commented 4 years ago

edit: I'm thinking the next post is getting at the real issue and the question I asked here is unlikely to be relevant to the issue.

hhannine commented 4 years ago

Your displays in this second setup are vertically stacked? It might be that my code trying to reconstruct the physical display arrangement fails with vertically stacked displays.. Would explain why there's no logs at that point.

hhannine commented 4 years ago

Could you try disconnecting the second display to quickly test if superpaper is able to run?

jivanyatra commented 4 years ago

OH, that's it!

In both situations, i have vertically stacked displays. In my 3 monitor setup, i have a portrait 16:9 to the right as well.

Okay, so if i disconnect the second monitor, superpaper does launch. However, once I attach the second monitor, i have another issue. Selecting Settings or Wallpaper Configuration from the context menu doesn't do anything.

Should I open that as another issue? I guess I should check if that's already here first.

hhannine commented 4 years ago

Great! Peculiar that it was able to work in the first case... :D

I'm pretty certain that the dialogs not opening is this same issue, though I'm a bit less certain with the settings panel.

jivanyatra commented 4 years ago

I wasn't able to test it out last night - life got in the way. I'll be testing it tonight to see if it works as expected in my original configuration.

hhannine commented 4 years ago

No problem, I figured out how to reproduce it and a patch is in the pipeline.

The issue was that your second setup was recognized as a single column and that wasn't handled correctly; with you other setup the 3rd display saved it. I think.

hhannine commented 4 years ago

@jivanyatra you mentioned you had found other issues to raise? How bad are they? I'm thinking about releasing a big fix release now that I think the most major issues have been fixed but I wonder what else you found?