Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

#27304 closed defect (duplicate)

Blackbox WM crashes with XQuartz 2.6.0 (xorg-server 1.9.2)

Reported by: ballapete (Peter "Pete" Dyballa) Owned by: pmq@…
Priority: Normal Milestone:
Component: ports Version: 1.9.2
Keywords: Cc: jeremyhu (Jeremy Huddleston Sequoia)
Port: blackbox

Description

Around the beginning of November a few packages were updated, mostly X11 related. Since then I cannot use blackbox @0.70.1_1 as window manager. It crashes.

Attachments (1)

blackbox_2010-11-13-143836_Latsche.crash (4.1 KB) - added by ballapete (Peter "Pete" Dyballa) 13 years ago.
Crash report

Download all attachments as: .zip

Change History (9)

Changed 13 years ago by ballapete (Peter "Pete" Dyballa)

Crash report

comment:1 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: pmq@… openmaintainer@… removed
Owner: changed from macports-tickets@… to pmq@…
Port: xorg-server-devel @1.9.2 @0.70.1 Revision 1 removed

comment:2 Changed 13 years ago by jmroot (Joshua Root)

Resolution: duplicate
Status: newclosed

Crash log is exactly the same as #24535. Also, testing might be difficult considering #27118 says blackbox doesn't even build.

comment:3 in reply to:  2 Changed 13 years ago by ballapete (Peter "Pete" Dyballa)

Replying to jmr@…:

Crash log is exactly the same as #24535. Also, testing might be difficult considering #27118 says blackbox doesn't even build.

I restored MacPorts' Blackbox WM with Time Machine, hoping it would give more clues than Fink's version...

comment:4 Changed 13 years ago by ballapete (Peter "Pete" Dyballa)

I tried to compile blackbox myself, changing the configure options stepwise until g++ failed to compile Util.cc. I added -H to the CFLAGS und could see that different C header files were used in the failing and in the succeeding compilation (marked):

•. /opt/local/include/X11/Xlib.h						. /usr/X11/include/X11/Xlib.h
.. /usr/include/sys/types.h							.. /usr/include/sys/types.h
... /usr/include/sys/appleapiopts.h						... /usr/include/sys/appleapiopts.h
... /usr/include/sys/cdefs.h							... /usr/include/sys/cdefs.h
... /usr/include/machine/types.h						... /usr/include/machine/types.h
.... /usr/include/ppc/types.h							.... /usr/include/ppc/types.h
..... /usr/include/ppc/_types.h							..... /usr/include/ppc/_types.h
... /usr/include/sys/_types.h							... /usr/include/sys/_types.h
.... /usr/include/machine/_types.h						.... /usr/include/machine/_types.h
... /usr/include/machine/endian.h						... /usr/include/machine/endian.h
.... /usr/include/ppc/endian.h							.... /usr/include/ppc/endian.h
..... /usr/include/sys/_endian.h						..... /usr/include/sys/_endian.h
... /usr/include/sys/_structs.h							... /usr/include/sys/_structs.h
•.. /opt/local/include/X11/X.h							.. /usr/X11/include/X11/X.h
•.. /opt/local/include/X11/Xfuncproto.h						.. /usr/X11/include/X11/Xfuncproto.h
•.. /opt/local/include/X11/Xosdefs.h						.. /usr/X11/include/X11/Xosdefs.h
.. /usr/lib/gcc/powerpc-apple-darwin9/4.0.1/include/stddef.h			.. /usr/lib/gcc/powerpc-apple-darwin9/4.0.1/include/stddef.h
•. /opt/local/include/X11/Xutil.h						. /usr/X11/include/X11/Xutil.h
•.. /opt/local/include/X11/keysym.h						.. /usr/X11/include/X11/keysym.h
•... /opt/local/include/X11/keysymdef.h						... /usr/X11/include/X11/keysymdef.h
. Util.hh									. Util.hh
.. /usr/lib/gcc/powerpc-apple-darwin9/4.0.1/include/limits.h			.. /usr/lib/gcc/powerpc-apple-darwin9/4.0.1/include/limits.h
... /usr/lib/gcc/powerpc-apple-darwin9/4.0.1/include/syslimits.h		... /usr/lib/gcc/powerpc-apple-darwin9/4.0.1/include/syslimits.h
... /usr/include/limits.h							... /usr/include/limits.h
.... /usr/include/machine/limits.h						.... /usr/include/machine/limits.h
..... /usr/include/ppc/limits.h							..... /usr/include/ppc/limits.h
...... /usr/include/ppc/_limits.h						...... /usr/include/ppc/_limits.h
.... /usr/include/sys/syslimits.h						.... /usr/include/sys/syslimits.h
.. /usr/include/c++/4.0.0/string						.. /usr/include/c++/4.0.0/string
... /usr/include/c++/4.0.0/powerpc-apple-darwin9/bits/c++config.h		... /usr/include/c++/4.0.0/powerpc-apple-darwin9/bits/c++config.h
.... /usr/include/c++/4.0.0/powerpc-apple-darwin9/bits/os_defines.h		.... /usr/include/c++/4.0.0/powerpc-apple-darwin9/bits/os_defines.h
... /usr/include/c++/4.0.0/bits/stringfwd.h					... /usr/include/c++/4.0.0/bits/stringfwd.h
... /usr/include/c++/4.0.0/bits/char_traits.h					... /usr/include/c++/4.0.0/bits/char_traits.h
.... /usr/include/c++/4.0.0/cstring						.... /usr/include/c++/4.0.0/cstring
..... /usr/include/c++/4.0.0/cstddef						..... /usr/include/c++/4.0.0/cstddef
...... /usr/lib/gcc/powerpc-apple-darwin9/4.0.1/include/stddef.h		...... /usr/lib/gcc/powerpc-apple-darwin9/4.0.1/include/stddef.h
..... /usr/include/string.h							..... /usr/include/string.h
...... /usr/include/_types.h							...... /usr/include/_types.h
.... /usr/include/c++/4.0.0/bits/stl_algobase.h					.... /usr/include/c++/4.0.0/bits/stl_algobase.h
..... /usr/include/c++/4.0.0/climits						..... /usr/include/c++/4.0.0/climits
...... /usr/lib/gcc/powerpc-apple-darwin9/4.0.1/include/limits.h		...... /usr/lib/gcc/powerpc-apple-darwin9/4.0.1/include/limits.h
....... /usr/lib/gcc/powerpc-apple-darwin9/4.0.1/include/syslimits.h		....... /usr/lib/gcc/powerpc-apple-darwin9/4.0.1/include/syslimits.h
..... /usr/include/c++/4.0.0/cstdlib						..... /usr/include/c++/4.0.0/cstdlib
...... /usr/include/stdlib.h							...... /usr/include/stdlib.h
....... /usr/include/available.h						....... /usr/include/available.h
....... /usr/include/sys/wait.h							....... /usr/include/sys/wait.h
........ /usr/include/sys/signal.h						........ /usr/include/sys/signal.h
......... /usr/include/machine/signal.h						......... /usr/include/machine/signal.h
.......... /usr/include/ppc/signal.h						.......... /usr/include/ppc/signal.h
........... /usr/include/ppc/_structs.h						........... /usr/include/ppc/_structs.h
......... /usr/include/sys/_structs.h						......... /usr/include/sys/_structs.h
.......... /usr/include/machine/_structs.h					.......... /usr/include/machine/_structs.h
........... /usr/include/ppc/_structs.h						........... /usr/include/ppc/_structs.h
............ /usr/include/mach/ppc/_structs.h					............ /usr/include/mach/ppc/_structs.h
........ /usr/include/sys/resource.h						........ /usr/include/sys/resource.h
......... /usr/include/sys/_structs.h						......... /usr/include/sys/_structs.h
....... /usr/include/alloca.h							....... /usr/include/alloca.h
..... /usr/include/c++/4.0.0/iosfwd						..... /usr/include/c++/4.0.0/iosfwd
...... /usr/include/c++/4.0.0/powerpc-apple-darwin9/bits/c++locale.h		...... /usr/include/c++/4.0.0/powerpc-apple-darwin9/bits/c++locale.h
....... /usr/include/c++/4.0.0/clocale						....... /usr/include/c++/4.0.0/clocale
........ /usr/include/locale.h							........ /usr/include/locale.h
......... /usr/include/_locale.h						......... /usr/include/_locale.h
....... /usr/include/c++/4.0.0/cstdio						....... /usr/include/c++/4.0.0/cstdio
........ /usr/include/stdio.h							........ /usr/include/stdio.h
...... /usr/include/c++/4.0.0/powerpc-apple-darwin9/bits/c++io.h		...... /usr/include/c++/4.0.0/powerpc-apple-darwin9/bits/c++io.h
....... /usr/include/c++/4.0.0/powerpc-apple-darwin9/bits/gthr.h		....... /usr/include/c++/4.0.0/powerpc-apple-darwin9/bits/gthr.h
........ /usr/include/c++/4.0.0/powerpc-apple-darwin9/bits/gthr-default.h	........ /usr/include/c++/4.0.0/powerpc-apple-darwin9/bits/gthr-default.h
......... /usr/include/pthread.h						......... /usr/include/pthread.h
.......... /usr/include/pthread_impl.h						.......... /usr/include/pthread_impl.h
.......... /usr/include/sched.h							.......... /usr/include/sched.h
.......... /usr/include/time.h							.......... /usr/include/time.h
........... /usr/include/_structs.h						........... /usr/include/_structs.h
............ /usr/include/sys/_structs.h					............ /usr/include/sys/_structs.h
......... /usr/include/unistd.h							......... /usr/include/unistd.h
.......... /usr/include/sys/unistd.h						.......... /usr/include/sys/unistd.h
.......... /usr/include/sys/select.h						.......... /usr/include/sys/select.h
........... /usr/include/sys/_structs.h						........... /usr/include/sys/_structs.h
........... /usr/include/sys/_select.h						........... /usr/include/sys/_select.h
...... /usr/include/c++/4.0.0/cctype						...... /usr/include/c++/4.0.0/cctype
....... /usr/include/ctype.h							....... /usr/include/ctype.h
........ /usr/include/runetype.h						........ /usr/include/runetype.h
...... /usr/include/c++/4.0.0/bits/postypes.h					...... /usr/include/c++/4.0.0/bits/postypes.h
....... /usr/include/c++/4.0.0/cwchar						....... /usr/include/c++/4.0.0/cwchar
........ /usr/include/c++/4.0.0/ctime						........ /usr/include/c++/4.0.0/ctime
........ /usr/include/wchar.h							........ /usr/include/wchar.h
......... /usr/lib/gcc/powerpc-apple-darwin9/4.0.1/include/stdarg.h		......... /usr/lib/gcc/powerpc-apple-darwin9/4.0.1/include/stdarg.h
......... /usr/include/_wctype.h						......... /usr/include/_wctype.h
....... /usr/lib/gcc/powerpc-apple-darwin9/4.0.1/include/stdint.h		....... /usr/lib/gcc/powerpc-apple-darwin9/4.0.1/include/stdint.h
...... /usr/include/c++/4.0.0/bits/functexcept.h				...... /usr/include/c++/4.0.0/bits/functexcept.h
....... /usr/include/c++/4.0.0/exception_defines.h				....... /usr/include/c++/4.0.0/exception_defines.h
..... /usr/include/c++/4.0.0/bits/stl_pair.h					..... /usr/include/c++/4.0.0/bits/stl_pair.h
..... /usr/include/c++/4.0.0/bits/cpp_type_traits.h				..... /usr/include/c++/4.0.0/bits/cpp_type_traits.h
..... /usr/include/c++/4.0.0/bits/stl_iterator_base_types.h			..... /usr/include/c++/4.0.0/bits/stl_iterator_base_types.h
..... /usr/include/c++/4.0.0/bits/stl_iterator_base_funcs.h			..... /usr/include/c++/4.0.0/bits/stl_iterator_base_funcs.h
...... /usr/include/c++/4.0.0/bits/concept_check.h				...... /usr/include/c++/4.0.0/bits/concept_check.h
..... /usr/include/c++/4.0.0/bits/stl_iterator.h				..... /usr/include/c++/4.0.0/bits/stl_iterator.h
..... /usr/include/c++/4.0.0/debug/debug.h					..... /usr/include/c++/4.0.0/debug/debug.h
...... /usr/include/c++/4.0.0/cassert						...... /usr/include/c++/4.0.0/cassert
....... /usr/include/assert.h							....... /usr/include/assert.h
...... /usr/lib/gcc/powerpc-apple-darwin9/4.0.1/include/stddef.h		...... /usr/lib/gcc/powerpc-apple-darwin9/4.0.1/include/stddef.h
... /usr/include/c++/4.0.0/memory						... /usr/include/c++/4.0.0/memory
.... /usr/include/c++/4.0.0/bits/allocator.h					.... /usr/include/c++/4.0.0/bits/allocator.h
..... /usr/include/c++/4.0.0/powerpc-apple-darwin9/bits/c++allocator.h		..... /usr/include/c++/4.0.0/powerpc-apple-darwin9/bits/c++allocator.h
...... /usr/include/c++/4.0.0/ext/new_allocator.h				...... /usr/include/c++/4.0.0/ext/new_allocator.h
....... /usr/include/c++/4.0.0/new						....... /usr/include/c++/4.0.0/new
........ /usr/include/c++/4.0.0/exception					........ /usr/include/c++/4.0.0/exception
.... /usr/include/c++/4.0.0/bits/stl_construct.h				.... /usr/include/c++/4.0.0/bits/stl_construct.h
.... /usr/include/c++/4.0.0/bits/stl_uninitialized.h				.... /usr/include/c++/4.0.0/bits/stl_uninitialized.h
.... /usr/include/c++/4.0.0/bits/stl_raw_storage_iter.h				.... /usr/include/c++/4.0.0/bits/stl_raw_storage_iter.h
.... /usr/include/c++/4.0.0/limits						.... /usr/include/c++/4.0.0/limits
... /usr/include/c++/4.0.0/bits/stl_function.h					... /usr/include/c++/4.0.0/bits/stl_function.h
... /usr/include/c++/4.0.0/bits/basic_string.h					... /usr/include/c++/4.0.0/bits/basic_string.h
.... /usr/include/c++/4.0.0/bits/atomicity.h					.... /usr/include/c++/4.0.0/bits/atomicity.h
..... /usr/include/c++/4.0.0/powerpc-apple-darwin9/bits/atomic_word.h		..... /usr/include/c++/4.0.0/powerpc-apple-darwin9/bits/atomic_word.h
... /usr/include/c++/4.0.0/algorithm						... /usr/include/c++/4.0.0/algorithm
.... /usr/include/c++/4.0.0/bits/stl_algo.h					.... /usr/include/c++/4.0.0/bits/stl_algo.h
..... /usr/include/c++/4.0.0/bits/stl_heap.h					..... /usr/include/c++/4.0.0/bits/stl_heap.h
..... /usr/include/c++/4.0.0/bits/stl_tempbuf.h					..... /usr/include/c++/4.0.0/bits/stl_tempbuf.h
... /usr/include/c++/4.0.0/bits/basic_string.tcc				... /usr/include/c++/4.0.0/bits/basic_string.tcc
•. /opt/local/include/X11/Xatom.h						. /usr/X11/include/X11/Xatom.h
. /usr/include/sys/stat.h							. /usr/include/sys/stat.h
.. /usr/include/sys/_structs.h							.. /usr/include/sys/_structs.h
. /usr/include/assert.h								. /usr/include/assert.h
. /usr/include/errno.h								. /usr/include/errno.h
.. /usr/include/sys/errno.h							.. /usr/include/sys/errno.h

Trying to find out the differences between the different C header files gave:

pete 50 /\ diff  /opt/local/include/X11/Xlib.h /usr/X11/include/X11/Xlib.h
33,34c33,34
< #ifndef _X11_XLIB_H_
< #define _X11_XLIB_H_
---
> #ifndef _XLIB_H_
> #define _XLIB_H_
4023c4023
< #endif /* _X11_XLIB_H_ */
---
> #endif /* _XLIB_H_ */
pete 51 /\ l  /opt/local/include/X11/Xlib.h /usr/X11/include/X11/Xlib.h
-rw-r--r-- 2 root admin 99600 30. Sep 00:00 /opt/local/include/X11/Xlib.h
pete 52 /\ diff /opt/local/include/X11/Xatom.h /usr/X11/include/X11/Xatom.h
pete 53 /\ l /opt/local/include/X11/Xatom.h /usr/X11/include/X11/Xatom.h
-rw-r--r-- 2 root admin 2518  3. Nov 17:06 /opt/local/include/X11/Xatom.h
-rw-r--r-- 1 root wheel 2518 13. Aug 21:00 /usr/X11/include/X11/Xatom.h
pete 54 /\ diff /opt/local/include/X11/X.h /usr/X11/include/X11/X.h
pete 55 /\ l /opt/local/include/X11/X.h /usr/X11/include/X11/X.h
-rw-r--r-- 2 root admin 20205  3. Nov 17:06 /opt/local/include/X11/X.h
-rw-r--r-- 1 root wheel 20205 13. Aug 21:00 /usr/X11/include/X11/X.h
pete 56 /\ diff /opt/local/include/X11/Xfuncproto.h /usr/X11/include/X11/Xfuncproto.h
pete 57 /\ l /opt/local/include/X11/Xfuncproto.h /usr/X11/include/X11/Xfuncproto.h
-rw-r--r-- 2 root admin 4090  3. Nov 17:06 /opt/local/include/X11/Xfuncproto.h
-rw-r--r-- 1 root wheel 4090 13. Aug 21:00 /usr/X11/include/X11/Xfuncproto.h
pete 58 /\ diff /opt/local/include/X11/Xosdefs.h /usr/X11/include/X11/Xosdefs.h
pete 59 /\ l /opt/local/include/X11/Xosdefs.h /usr/X11/include/X11/Xosdefs.h
-rw-r--r-- 2 root admin 3115  3. Nov 17:06 /opt/local/include/X11/Xosdefs.h
-rw-r--r-- 1 root wheel 3115 13. Aug 21:00 /usr/X11/include/X11/Xosdefs.h
pete 60 /\ diff /opt/local/include/X11/Xutil.h /usr/X11/include/X11/Xutil.h
49,50c49,50
< #ifndef _X11_XUTIL_H_
< #define _X11_XUTIL_H_
---
> #ifndef _XUTIL_H_
> #define _XUTIL_H_
826c826
< #endif /* _X11_XUTIL_H_ */
---
> #endif /* _XUTIL_H_ */
pete 61 /\ l /opt/local/include/X11/Xutil.h /usr/X11/include/X11/Xutil.h
-rw-r--r-- 2 root admin 21024 30. Sep 00:00 /opt/local/include/X11/Xutil.h
-rw-r--r-- 1 root wheel 21012 13. Aug 22:38 /usr/X11/include/X11/Xutil.h
pete 62 /\ diff /opt/local/include/X11/keysym.h /usr/X11/include/X11/keysym.h
pete 63 /\ l /opt/local/include/X11/keysym.h /usr/X11/include/X11/keysym.h
-rw-r--r-- 2 root admin 2755  3. Nov 17:06 /opt/local/include/X11/keysym.h
-rw-r--r-- 1 root wheel 2755 13. Aug 21:00 /usr/X11/include/X11/keysym.h
pete 64 /\ diff /opt/local/include/X11/keysymdef.h /usr/X11/include/X11/keysymdef.h
pete 65 /\ l /opt/local/include/X11/keysymdef.h /usr/X11/include/X11/keysymdef.h
-rw-r--r-- 2 root admin 168221  3. Nov 17:06 /opt/local/include/X11/keysymdef.h
-rw-r--r-- 1 root wheel 168221 13. Aug 21:00 /usr/X11/include/X11/keysymdef.h
pete 66 /\ diff /opt/local/include/X11/Xatom.h /usr/X11/include/X11/Xatom.h
pete 67 /\ l /opt/local/include/X11/Xatom.h /usr/X11/include/X11/Xatom.h
-rw-r--r-- 2 root admin 2518  3. Nov 17:06 /opt/local/include/X11/Xatom.h
-rw-r--r-- 1 root wheel 2518 13. Aug 21:00 /usr/X11/include/X11/Xatom.h

Finally I invoked g++ with the "original" command line and made it only pre-process and not compile Util.cc. A diff revealed (leaving out many comments):

pete 78 /\ diff  Util.cpp-opt  Util.cpp-X11 
139c139
< #define __OPTIMIZE__ 1
---
> #define __NO_INLINE__ 1
195c195
< #define LOCALEPATH "/opt/local/share/blackbox/nls"
---
> #define LOCALEPATH "/usr/local/share/blackbox/nls"
200,202c200,202
< # 1 "/opt/local/include/X11/Xlib.h" 1
< # 34 "/opt/local/include/X11/Xlib.h"
< #define _X11_XLIB_H_ 
---
> # 1 "/usr/X11/include/X11/Xlib.h" 1
> # 34 "/usr/X11/include/X11/Xlib.h"
> #define _XLIB_H_ 
[...]
5615,5617c5615,5617
< # 1 "/opt/local/include/X11/Xutil.h" 1
< # 50 "/opt/local/include/X11/Xutil.h"
< #define _X11_XUTIL_H_ 
---
> # 1 "/usr/X11/include/X11/Xutil.h" 1
> # 50 "/usr/X11/include/X11/Xutil.h"
> #define _XUTIL_H_ 
[...]
25578,25579c25578,25579
< 
< 
---
>   std::string textPropertyToString(::Display *display,
>                                    ::XTextProperty& text_prop);
25587c25587
< # 1 "/opt/local/include/X11/Xatom.h" 1
---
> # 1 "/usr/X11/include/X11/Xatom.h" 1

So it's that declaration which is somehow commented now in Util.hh, near its end:

#ifdef _XUTIL_H_
  std::string textPropertyToString(::Display *display,
                                   ::XTextProperty& text_prop);
#endif

comment:5 Changed 13 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Wow. Blackbox fails. Using a header guard to detect capability!

X11/Xutil.h changed _XUTIL_H_ to _X11_XUTIL_H_, so now Util.hh didn't bring in textPropertyToString

That conditional should probably just be removed...

It looks like jmr already fixed the build in MP on Monday (#27118)

comment:6 in reply to:  5 Changed 13 years ago by ballapete (Peter "Pete" Dyballa)

Replying to jeremyhu@…:

Using a header guard to detect capability!

Thanks for this statement! Now I think I know what GCC might mean with 'missing input guards'...

comment:7 Changed 13 years ago by ballapete (Peter "Pete" Dyballa)

Now with xorg-server-devel @1.9.3.902_0 I made tests with ~/.xinitrc.d/50-clients.sh. Since I found that this X server does not provide the environment as recorded in ~/.MacOSX/environment.plist (GNU Emacsen are particularly missing LC_CTYPE and LANG) I augmented the script with lines like

export LANG=$(defaults read "${HOME}/.MacOSX/environment" LANG)
export LC_CTYPE=$(defaults read "${HOME}/.MacOSX/environment" LC_CTYPE)

Any of these lets blackbox crash, as launched from ~/.xinitrc.d/98-blackbox.sh:

[[ -x /opt/local/bin/blackbox ]] && exec /opt/local/bin/blackbox
[[ -x /sw/bin/blackbox ]] && exec /sw/bin/blackbox
[[ -x ~/Quellen/blackbox-0.70.1/src/blackbox ]] && exec ~/Quellen/blackbox-0.70.1/src/blackbox

comment:8 Changed 13 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Peter, your lack of ~/.MacOSX/environment.plist is a known issue on Leopard.

Open a new bug for your blackbox crash, and provide the crash log.

Note: See TracTickets for help on using tickets.