On Wed, Oct 20, 2021 at 03:32:36PM +0200, Matthieu Herrb wrote: > On Wed, Oct 20, 2021 at 03:04:14PM +0200, Björn Ketelaars wrote: > > +@@ -95,7 +95,7 @@ void handleSignal(int signum) { > > + break; > > + #endif > > + case SIGSEGV: > > +- abort(); > > ++ exit(0); > > + break; > > + case SIGALRM: > > + // last resort for shutting down fluxbox. the alarm() is set in > > Hi, > > This just hides the issue under the carpet... > > The real issue is that there is no X I/O errror handler > installed other than the default one, and the default one seems to > segfault (SIGSEGV) for a reason (looks like a shared libs destructor > issue at 1st glance, but I don't care enough to look deeper for now). > > See XSetIOErrorHandler(3) for details. > > -- > Matthieu Herrb
Actually, XSetIOErrorHandler and XSetErrorHandler are set in fluxbox.cc. They call handleXIOErrors and handleXErrors respectively. int handleXIOErrors(Display* d) { cerr << "Fluxbox: XIOError: lost connection to display.\n"; exit(1); } -- OpenPGP Key Fingerprint: 543F EB89 7FDE 8E33 AFF7 E794 E4AB 4807 58F7 6C76