I believe we have a working patch for the problem. A quick summary of what it looks like is happening:
Openbox maintains a list of windows organized by stacking order from highest to lowest. This is a doubly-linked list. There is a function in Openbox called client_calc_layer that uses a pointer into this list to walk through it while modifying it. When client_calc_layer modifies the list, it also messes up the pointer that it is actively using to walk through the list. The next element that Openbox loads contains a dangling pointer, and that promptly results in a segfault when Openbox tries to dereference that pointer. To solve the problem, I added a patch that makes Openbox save a pointer to the list element *before* the current element before modifying the list. When the list is then modified, the still-valid pointer to the previous list element is used to get a new (and actually usable!) pointer to the current list element. The old, broken pointer is then overwritten by the new, working pointer, and the segfaults stop. Using the patch, I am no longer able to reproduce this bug when following the testcase (open a browser fullscreen, right-click a link, and click "Open in new window"). I have the patched Openbox uploaded to a PPA here: https://launchpad.net/~arraybolt3/+archive/ubuntu/openbox -- You received this bug notification because you are a member of Desktop Packages, which is subscribed to glib2.0 in Ubuntu. https://bugs.launchpad.net/bugs/2011751 Title: openbox crashed with SIGABRT Status in glib2.0 package in Ubuntu: Confirmed Status in openbox package in Ubuntu: Confirmed Bug description: Lubuntu lunar (primary box) on - dell [optiplex] 7050 (i5-6500, 16gb, intel hd530/i915) I experienced a crash yesterday (openbox) but tend to ignore the first crashes... Whilst using the machine again today a crash occurred. This is my primary box, so my setup is pretty consistent - featherpad (restored session) - hexchat (irc) - qterminal (only single tab today; usually many) - firefox (snap, most sites excluding google related) - chromium (snap, used for anything google related) - telegram (snap) - element I was using chromium full screen (trying to read my gmail inbox) when borders around windows disappeared & I lost the capacity to switch between windows; mouse would move, but keyboard appeared mostly dead (it wasn't, more I think windows weren't responding, inc. clicks with mouse though that's likely inconsistent; I could work out how to describe it yesterday, but todays is almost identical). I switched to text terminal (ctrl+alt+f4) & explored; returned to GUI and used - ctrl+alt+t to open new terminal - openbox & session returned to what I expect... ** expected outcome Openbox doesn't crash ** actual outcome all windows lost borders, and i lost ability to switch between windows I appeared to have minimal control (not true, more a fraction of what I expect) ** How to get crash For me, - I used chromium (browser) - make chromium full screen (ie. F11) - click on something & right-click to open in new window OPENBOX CRASH. ProblemType: Crash DistroRelease: Ubuntu 23.04 Package: openbox 3.6.1-10 ProcVersionSignature: Ubuntu 6.1.0-16.16-generic 6.1.6 Uname: Linux 6.1.0-16-generic x86_64 ApportVersion: 2.26.0-0ubuntu2 Architecture: amd64 CasperMD5CheckResult: unknown CrashCounter: 1 CurrentDesktop: LXQt Date: Thu Mar 16 09:46:22 2023 ExecutablePath: /usr/bin/openbox ExecutableTimestamp: 1643543619 InstallationDate: Installed on 2023-01-25 (49 days ago) InstallationMedia: Lubuntu 23.04 "Lunar Lobster" - Alpha amd64 (20230124) JournalErrors: -- No entries -- ProcCmdline: /usr/bin/openbox ProcCwd: /home/guiverc RebootRequiredPkgs: Error: path contained symlinks. Signal: 6 SourcePackage: openbox StacktraceTop: () at /lib/x86_64-linux-gnu/libobt.so.2 <signal handler called> () at /lib/x86_64-linux-gnu/libc.so.6 client_calc_layer () () () at /lib/x86_64-linux-gnu/libobt.so.2 UpgradeStatus: No upgrade log present (probably fresh install) UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo separator: To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/glib2.0/+bug/2011751/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : desktop-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp