klangman / CassiaWindowList

A WindowList/PanelLauncher applet for the Cinnamon desktop environment
https://cinnamon-spices.linuxmint.com/applets/view/372
GNU General Public License v3.0
13 stars 1 forks source link

How to debug? #10

Closed metafarion closed 8 months ago

metafarion commented 8 months ago

Hey, I have CWL installed on three different machines, all running the same distro and the same version of Cinnamon, but one of them is having a lot of trouble displaying any UI elements at all. When adding it to my panel, the space it would occupy flashes briefly but contains no elements, and the setup wizard doesn't appear. Although I can launch the config editor from Applets in System Settings, I can't right-click on the (empty) part of the panel where CWL should be to bring up a menu or interact with it in any other way.

How can I get some meaningful error output here? Nothing useful shows up in the output when Applet settings is run from a terminal, and I haven't been able to find anything relevant in the logs for X or syslog or the cinnamon log files I know about.

klangman commented 8 months ago

Wow.. That's strange. Can't say I have heard of anything like that before, but hopefully we can get to the bottom of it...

If there are error messages or exception stacks that that would help to explain the issue they should appear is the ~/.xsession-errors file. Typically I run tail -f -n300 ~/.xsession-errors when I am debugging an applet.

Try removing the applet and add it back again when tail command is running and take note of any error messages you might get that seems to be related to CWL, then paste them here.

If the wizard does not appear then it might be that the configuration has already set the flag that is used to disable the wizard on startup. This flag is set to 1 after the 1st startup so that the wizard does not reappear after a reboot or cinnamon restart. If we don't see any interesting messages in the .xsession-errors file, than I might suggest we look in the config file location and delete the CassiaWindowList@klangman directory (warning: this will also delete any config backups you might have defined), but let me know if you see any error messages before we take this step.

Hopefully you will see some errors in the .xsession-errors file that we can use to fix your issue. Let me know what you see in that file. Thanks!

metafarion commented 8 months ago

Doesn't look like anything at all gets written into .xsession-errors either when installing the applet, or placing an instance in the panel. I did eventually figure out how to run the setup wizard manually, by executing CassiaWindowList@klangman/setupWizard with the proper arguments, but it doesn't output any errors either.

klangman commented 8 months ago

Doesn't look like anything at all gets written into .xsession-errors either when installing the applet, or placing an instance in the panel. I did eventually figure out how to run the setup wizard manually, by executing CassiaWindowList@klangman/setupWizard with the proper arguments, but it doesn't output any errors either.

That's super strange.

So you run the wizard but no window appears and no message shows up in the terminal or in ~/.xsession-errors? Does it go right back to the prompt or does it hang until you press CTRL-C? When I run the wizard I see the window and if I go back to the terminal and press CTRL-C I get a stack trace from python in the terminal, the window disappears and I get the bash prompt back.

We could try a complete reset by uninstalling the applet then verify that these directories don't exist (and if they do, delete them):

  1. ~/.local/share/cinnamon/applets/CassiaWindowList@klangman
  2. ~/.cinnamon/configs/CassiaWindowList@klangman
  3. ~/.config/cinnamon/spices/CassiaWindowList@klangman

Note: Doing this will remove any CWL setting you might have including any automatic backups that CWL makes.

Then Download/Install the applet from the "Applets" System-Settings application. If this works, we'll be left not knowing what was wrong, but you'll be up and running at least. If you get the same problem, there there must be something unique in your environment that we'll have to find a way to figure out.

metafarion commented 8 months ago

When I run the wizard by hand, it DOES launch, it just doesn't launch automatically when adding the applet to a panel, even after being completely uninstalled and redownloaded. It also doesn't have any visible effect on the applet, same as when using the config editor in the Applet list. The window list itself remains a 1/8" wide empty element that doesn't visibly change. Uninstalling the applet definitely removes all the directories you mentioned.

So all of this this kinda suggests to me that the applet ISN'T encountering any errors, but some external element is causing it to display wrong, maybe forcing it into this teeny size that doesn't do anything.

I also tried creating a fresh user account and seeing if it would behave there. The setup wizard still doesn't launch automatically, but the CWL element does appear with just a single launcher item in it: Files. No icon either, just text. As before, the config editor doesn't change anything.

CWL probably doesn't have any particular library dependencies beyond Cinnamon itself, right?

klangman commented 8 months ago

I assume that adding the standard Window-list or the Grouped-Window-List to the panel does not behave in any strange way? Can you also try CobiWindowList since CWL is based in it, maybe it has the same issue?

What if you add a new panel on a different desktop edge and try adding CWL to that new panel? Same issue?

Since the wizard does run fine launched manually, it must be the case that we are not getting to the point in the CWL code were it checks in the setting if the flag is set to determine if the wizard should be launched.

Maybe I can send you a patch with some basic logging added to the startup code so we can see in the .xsession-errors how far we get before things just stop??

klangman commented 8 months ago

Oh.. To answer your question.. No, CWL has no dependencies out side what is installed by Mint out of the box. I run CWL in a default installation of Mint 19.3, 20.3 and 21.3 under VirtualBox to test it before I release any updates to Cinnamon Spices, and I run it on my Fedora 39 (Cinnamon Spin) Laptop and desktop computers.

metafarion commented 8 months ago

...I might have done a bonehead thing here. In all my adding and removing and uninstalling and reinstalling.... I never actually thought to Update to the latest version. So apparently the distinction between my three machines is that two of them never had CWL before last week, but this problem machine HAD at some point in the past, and that's the version I've been having trouble with. Downloading the most recent release fixed everything.

Cinnamon doesn't seem to actually notify you if your spices are out of date unless you actually go into the Download pane and look.

klangman commented 8 months ago

Oh.. OK.. Glad it working now. But still find it strange that there was no errors at all in .xsession-errors. I don't recall an older version that was so broken that it would not even startup. In any case, it might remain a mystery now that you have it working.

Let me know if you have any other issues (or suggestions).

If all is well, then I guess we can close this issue?