#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)
Change History (9)
Changed 14 years ago by ballapete (Peter "Pete" Dyballa)
Attachment: | blackbox_2010-11-13-143836_Latsche.crash added |
---|
comment:1 Changed 14 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 follow-up: 3 Changed 14 years ago by jmroot (Joshua Root)
Resolution: | → duplicate |
---|---|
Status: | new → closed |
comment:3 Changed 14 years ago by ballapete (Peter "Pete" Dyballa)
comment:4 Changed 14 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 follow-up: 6 Changed 14 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 Changed 14 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 14 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 14 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.
Crash report