[00:24] what version? [00:30] how much of that path exists? [00:33] FurretUber: please open a bug with ubuntu-bug xfpanel-switch and attach ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml and ls -lR ~/.config/xfce4/panel [00:34] it's possible that either of those files could contain private information so check for that first [00:34] paste the bug link here and i will take a look [00:34] Ok, give me a moment [00:35] also a screenshot of your panel layout might help to get a basic idea of what is going on [00:43] https://bugs.launchpad.net/ubuntu/+source/xfpanel-switch/+bug/1765565 [00:43] Launchpad bug 1765565 in xfpanel-switch (Ubuntu) "xfpanel-switch is failing to save panel settings" [Undecided,New] [00:45] you have five launchers in the configuration, but the matching .desktop files are missing? [00:46] The panel has two, which is the intended. I don't know from where are those additional .desktop files [00:46] they are in th configuration [00:46] I saw this, but they don't exist in the panel [00:46] can you open panel properties on the the list of plugins and screenshot it please? [00:47] https://i.imgur.com/QJDsU0w.png [00:48] do you have any idea how this could have happened? did you ave more launchers before? [00:48] did you load a configuration that could have added them? [00:49] I have changed the default browser a few times, and I changed the icon accordingly [00:49] the name of the .desktop is a unix timestamp [00:50] it has one extra digit tho :) [00:50] so those .desktop files are from 2015 [00:52] hmmm [00:53] The heck is session-migration? [00:53] yes, you can see that those plugins are not in the plugin-ids array [00:53] Unit193: context? [00:54] New package, not a whole lot of a description. [00:55] oh i bet i know how this has happened [00:56] 1. make new panel, 2. add stuff to panel, 3. delete original default panel, 4. plugins from the original panel are not removed, just left as orphans, 5. .desktops do get removed though [00:59] yeah this is it [01:00] this is actually a xfce4-panel bug [01:00] going to be way easier to work around it in panelswitch though [01:13] FurretUber: when did you make your panel configuration? [01:14] 1. make new panel, 2. add stuff to panel, 3. delete original default panel <- is that what you did? [01:14] I changed it last time yesterday (as I added xfce4-statusnotifier-plugin to the panel), but this configuration is,definitively, not new [01:14] when did you delete the default panel? [01:15] I never deleted a panel, I just edited its settings [01:15] Trying to delete that part from the XML with the .desktop files don't work, as it reappear a second later [01:16] If I start another session without the xfce4-panel and edit the XML, the moment I log in the panel returns to that state [01:17] you cant edit the xml on disk [01:17] you can use the settings editor to delete it however it would be helpful if you didn't for testing [01:18] so you removed some of the plugins from the default panel and added new ones? [01:18] Yes [01:19] when did you remove them? [01:19] was it before or after upgrading? [01:20] Before and after [01:20] the default ones i mean [01:20] Before [01:20] all the orphans on your panel are from the default configuration [01:20] and i can't reproduce the effect in 18.04 [01:20] so on 17.10? or is the config even older than that? [01:21] Even older. Give me a moment to think [01:21] did you use panel switch to copy over the panel from an older install? [01:22] No, I just upgraded from one to another [01:22] oh right, 17.04 was your first install [01:22] It was Xenial -> Yakkety -> Zesty -> Zesty reinstall -> Artful -> Bionic [01:23] so this is probably a bug that has been fixed on the panel side [01:23] but we need to handle the left over bad config in panel-switch [01:24] What may be the cause of the XML for the panel returning to its previous state after I edit it? [01:25] its how xfconf works [01:25] it only loads the file at login and after that it only writes [01:25] if you edit it while logged out, that will work [01:26] you can do that from a console [01:27] I will try to edit from the console, so I will log out. I will join here again and tell if it worked or not [01:28] you can just use the settings editor too [01:28] i dont recommend hacking the xml [01:37] I have changed it, but I saved that "tainted" configuration, if we need to make additional tests [01:38] Oh, I've found a way to reproduce that bug of Indicator icons appearing multiple times [01:40] Just changing the panels with xfpanel-switch enough times to the Bionic version makes this happen sometimes [01:48] FurretUber: okay i've got a patch for you to test [01:49] http://paste.ubuntu.com/p/r59fFDyh7N/ [01:49] copy that over /usr/share/xfpanel-switch/xfpanel-switch/panelconfig.py [01:50] run "xfpanel-switch save foo" on terminal [01:50] it should print the orphans [01:53] https://paste.ubuntu.com/p/FWNfX2FBZJ/ [01:54] looks right [01:54] can you try saving and loading the configuration through the gui? [01:54] afterwards, your orphans should be gone [01:56] Apparently it worked. The file is smaller and no longer has those additional launchers, nor multiple genmon [01:57] nice [01:58] i'm going to need you to test this one more time on the version of the patch with no debug prints :) [02:09] this is my final patch: https://bazaar.launchpad.net/~a-j-buxton/xfpanel-switch/orphan-plugins/view/head:/xfpanel-switch/panelconfig.py [02:09] i sent a merge request [02:10] this will need careful testing/review [02:10] Apparently it's working here. What behavior should I see? Are there additional tests I should do? [02:11] well, first, get the new version of the patch :) [02:11] and then... test as much as you can [02:11] the corrupt config, and also just regular configs [02:21] It's no longer removing the invalid entries from the XML file, but I think this is intended (maybe a plugin lacking that the user want), but it is importing and exporting properly. Give me a moment [02:21] it should be [02:51] I tried to cause errors in many ways, I've used even a live system to try to cause havoc. What I have noticed: [02:52] If the configuration was invalid and would cause a error, as it happened with my configuration without the .desktop files, then all invalid entries are corrected [02:53] If the configuration has invalid values but would not cause a error, then it saves the configuration with the invalid but not "fatal" values [02:54] They are being corrected in the moment of the save [03:00] can you check the saved config? it's a tar file with config.txt inside [03:04] From the saved configs, if when saving it would crash, then all invalid entries are removed. If there are no entries that would crash, it saves the invalid but not fatal entries [03:06] One entry that is removed in the file that causes the crash but is not removed if no crash happens is: /plugins/plugin-26 'thunar-tpa' [03:08] If I start a session using the config file with the invalid entries I can use it but, when I save it, the invalid entries are removed [03:09] If it would cause a crash [03:09] If there are invalid entries but they do not cause a crash, then I can save and load it [03:13] edit panelconfig.py line 154 add a print statement: print(param) [03:14] hmm [03:14] i see [03:18] show me the config.txt please? [03:18] Adding that, when opening xfpanel-switch with the file with invalid entries but that does not cause the crash makes this appear: https://paste.ubuntu.com/p/7Y67tW7vyF/ [03:19] Which one of the config.txt? From the one that causes the crash? [03:19] both [03:23] When opening with the configuration that would cause the crash: https://paste.ubuntu.com/p/TFQ6qKjcGf/ [03:23] Give me a moment, I will obtain the config.txt of the file that causes the crash [03:24] so it is deleting those keys [03:26] How the entry that would cause the crash is after saving it: https://paste.ubuntu.com/p/zcTcC4X2d8/ [03:26] so they are gone from the config [03:27] How they are in the entry with invalid values but not fatal: https://paste.ubuntu.com/p/ZdykJYRqKr/ [03:28] can you show me the two xml files as well? [03:29] After reimporting them? As the one that causes crash is impossible to recover [03:29] no, before [03:29] Ok [03:30] This one causes the crash: https://bugs.launchpad.net/ubuntu/+source/xfpanel-switch/+bug/1765565/+attachment/5123170/+files/xfce4-panel.xml [03:30] Launchpad bug 1765565 in xfpanel-switch (Ubuntu) "xfpanel-switch is failing to save panel settings" [Undecided,New] [03:31] "PHP and other Web scripts are not allowed" [03:31] https://pastebin.com/6UmiCaS2 [03:32] The second one has invalid entries but can still be saved [03:32] "Lossless" [03:32] (sorry, couldn't find a better term) [03:34] hmmmmmmm [03:39] What is the intended behavior? Remove all invalid entries or only the ones that cause a crash? [03:39] remove all [03:40] So the issue is with the file that kept the invalid ones? [03:40] yes [03:41] Aren't the functions that remove invalid entries called only if the program would crash? [03:42] no [03:44] try this please http://paste.ubuntu.com/p/drhkY3gK28/ [03:47] Should something different happen? More messages were printed [03:47] no, past the messages please [03:47] https://paste.ubuntu.com/p/STGDyn5RQt/ [03:48] and the config.txt? [03:48] https://paste.ubuntu.com/p/J5S22PJDS4/ [03:50] wtf [03:50] try this one please: http://paste.ubuntu.com/p/wyNw58Q3C6/ [03:53] The output from the program: https://paste.ubuntu.com/p/ND6k4Gp6Hn/ [03:54] The config.txt file: https://paste.ubuntu.com/p/kdJtr7zbpD/ [03:54] now they are gone? [03:55] The config.txt has the same 63 lines as the file that would cause the crash and was corrected [03:55] but i did not change anything in the code [03:58] The only possibility in that in the penultimate test I have not copied the file correctly [03:58] But it was more verbose [04:00] this one has the prints commented out: http://paste.ubuntu.com/p/BgqPHtKv8Z/ [04:01] Copied correctly, now I'll test [04:03] Ok, it did not change, the invalid entries are still there [04:05] this one i just uncommented the one print line: http://paste.ubuntu.com/p/H33ksPg3WJ/ [04:05] Copied, now I'll test [04:07] Kept the invalid values and printed this: https://paste.ubuntu.com/p/7NZFc3TPDT/ [04:08] One of the versions is corrected [04:09] what do you mean? [04:09] One you sent previously is removing the invalid entries [04:10] oh, i made a typo [04:10] http://paste.ubuntu.com/p/wgrHgpXGrJ/ [04:11] Copied, now I will test [04:13] Didn't work, the invalid entries are still there [04:13] uncomment line 175 and try again [04:14] http://paste.ubuntu.com/p/wyNw58Q3C6/plain/ you sent before [04:14] This one works [04:14] and line 155 [04:16] It didn't work, and this was printed: https://paste.ubuntu.com/p/gMxZPQhSbS/ [04:17] hmm so it saved it without, then it saved it again with [04:17] are you using the GUI or command line? [04:17] GUI [04:20] okay well this is a start [04:24] are you using the export button? [04:25] I'm using the save button [04:27] try this one please: http://paste.ubuntu.com/p/2NsXJy5JxC/ [04:28] i dont understand what is happening here [04:28] Copied, I'll test [04:29] Now it removes the invalid entries [04:30] https://paste.ubuntu.com/p/7Pny99qksS/ [04:30] The config.txt: https://paste.ubuntu.com/p/RBDc47KB4r/ [04:32] there must be a race condition [04:33] http://paste.ubuntu.com/p/hs3gCBsZ9h/ [04:34] Now it failed. What? [04:34] yes there's some kind of race condition. it randomly works or does not work [04:36] Copied [04:36] hmm that one is broken, nvm [04:37] Yes, it is [04:38] the problem is the cache file [04:40] hmmmmmmmmmmmmmmmm [04:40] i know what the problem is [04:40] always close() files when you are done writing to them [04:43] Note fileobj is not closed, when TarFile is closed. [04:47] I don't know Python, but then this means the f.close() should be before the t.close()? [04:53] FurretUber: http://paste.ubuntu.com/p/7gbYdyf4Ck/ [04:54] Copied [04:54] Worked, will try again [04:55] Didn't work after [04:55] It worked the first time [04:56] what was the output? [04:57] When worked: https://paste.ubuntu.com/p/tqFN3s8VxX/ [04:58] thats not the full output [05:00] As I changed the configuration more than once, I thought that was the output for one run. Here is the complete one (more than one run): https://paste.ubuntu.com/p/4QGhxMGdX9/ [05:02] To be clear: the LevementeRuim17 is OK, but the LevementeRuim18 is bad [05:03] you loaded a bad config and then saved it? [05:03] (To the curious: "Levemente Ruim" means "Slightly Bad") [05:04] I started with a bad config [05:04] Then saved it to the 17 [05:04] File 17 was good [05:04] yes. and then you loaded 16 [05:04] Yes, and 16 was bad [05:04] and 16 was bad to begin with [05:04] then you saved to 18 [05:04] Yes [05:04] And 18 was bad [05:05] yes. because it used the cache file [05:05] why does that cache file even exist? [05:08] I'm sorry, but I have to go sleep, it's really late now [05:08] np. i know what the problem is now [05:09] Thank you for helping me. Good night [07:15] -SwissBot:#xubuntu-devel- ATTN: Xubuntu Core 18.04 - i386 - i386 built. [07:41] -SwissBot:#xubuntu-devel- ATTN: Xubuntu Core 18.04 - amd64 - amd64 built. [09:37] ...And I never remembered whisker at a time I was allowed to touch packages. :/ [09:37] !info xfce4-whiskermenu-plugin experimental [09:37] 'experimental' is not a valid distribution: artful, artful-backports, artful-proposed, bionic, bionic-backports, bionic-proposed, kubuntu-backports, kubuntu-experimental, kubuntu-updates, partner, precise, precise-backports, precise-proposed, stable, testing, trusty, trusty-backports, trusty-proposed, unstable, utopic, utopic-backports, utopic-proposed, vivid, vivid-backports, vivid-proposed, wily, wily-backports, wily-proposed, xenial, xenial-back [09:37] !info xfce4-whiskermenu-plugin bionic [09:37] xfce4-whiskermenu-plugin (source: xfce4-whiskermenu-plugin): Alternate menu plugin for the Xfce desktop environment. In component universe, is optional. Version 2.1.5-0ubuntu1 (bionic), package size 149 kB, installed size 715 kB [09:37] !info xfce4-whiskermenu-plugin unstable [09:37] xfce4-whiskermenu-plugin (source: xfce4-whiskermenu-plugin): Alternate menu plugin for the Xfce desktop environment. In component main, is optional. Version 1.6.2-1 (unstable), package size 160 kB, installed size 681 kB [19:15] xfce4-panel in bionic looks kinda broken when switched to vertical mode https://i.imgur.com/M5NNrzx.png [19:30] the panel always looks broken if it's not horizontal [19:31] it's never not for me for years