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

Reply via email to