On Fri, Feb 19, 2016 at 07:24:22PM +0100, Jérémie Courrèges-Anglas wrote:
> Alessandro DE LAURENZIS <just22....@gmail.com> writes:
> 
> > Hello,
> >
> > bbpager systematically receives a SIGBUS when a window is closed:
> >
> > # gdb bbpager
> > GNU gdb 6.3
> > Copyright 2004 Free Software Foundation, Inc.
> > GDB is free software, covered by the GNU General Public License, and you are
> > welcome to change it and/or distribute copies of it under certain 
> > conditions.
> > Type "show copying" to see the conditions.
> > There is absolutely no warranty for GDB.  Type "show warranty" for details.
> > This GDB was configured as "amd64-unknown-openbsd5.9"...(no debugging 
> > symbols found)
> >
> > (gdb) run
> > Starting program: /usr/local/bin/bbpager 
> > (no debugging symbols found)
> > (no debugging symbols found)
> > (no debugging symbols found)
> > (no debugging symbols found)
> > (no debugging symbols found)
> > (no debugging symbols found)
> > (no debugging symbols found)
> >
> > Program received signal SIGBUS, Bus error.
> > 0x000014ea13f13c06 in __register_frame_info () from /usr/local/bin/bbpager
> >
> > The problem is 100% reproducible (I tried with different WM: fluxbox,
> > Openbox, JWM): just launch the program, open anew window and then close
> > it.
> >
> > Any further info needed? Hints?
> 
> Give this a try.  I don't understand the purpose of the -- though.
> *shrug*

This seems to fix the issue for me on amd64, thanks!

> 
> Index: patches/patch-src_wminterface_cxx
> ===================================================================
> RCS file: patches/patch-src_wminterface_cxx
> diff -N patches/patch-src_wminterface_cxx
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-src_wminterface_cxx 19 Feb 2016 18:21:33 -0000
> @@ -0,0 +1,13 @@
> +$OpenBSD$
> +--- src/wminterface.cxx.orig Fri Feb 19 19:14:47 2016
> ++++ src/wminterface.cxx      Fri Feb 19 19:15:04 2016
> +@@ -84,8 +84,7 @@ void WMInterface::updateWindowList(void)
> +         for (; pit != pit_end; pit++) {
> +             if (!(*pit)->isMarked()) {
> +                 delete (*pit);
> +-                bbtool->pagerWindowList().erase(pit);
> +-                pit--;
> ++                bbtool->pagerWindowList().erase(pit--);
> +             } else {
> +             }
> +         }
> 
> 
> -- 
> jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE 1524 E7EE
> 

Reply via email to