"Bus Error" at thread.c:228 on OS X with Xcode 2.4 and -O2
dackz
dackze at gmail.com
Thu Aug 31 16:13:03 CDT 2006
>From what I've heard, there was a bug in the gcc bundled with Xcode
2.3 that caused stack alignment issues when -O2 was used (and maybe
-O1?). This is supposed to be fixed in Xcode 2.4, which is what I'm
using, yet I'm still getting a "Bus Error" with all default CFLAGS.
Adding -O0 into the mix fixes the problem.
Here's all I could gleam with gdb:
Breakpoint 1, NtAllocateVirtualMemory (process=0x7bc5b6f1,
ret=0xbffff949, zero_bits=3221222220, size_ptr=0x10000,
type=3221222216, protect=2147352576) at virtual.c:1306
1306 in virtual.c
(gdb) bt
#0 NtAllocateVirtualMemory (process=0x7bc5b6f1, ret=0xbffff949,
zero_bits=3221222220, size_ptr=0x10000, type=3221222216,
protect=2147352576) at virtual.c:1306
#1 0x7bc4f428 in thread_init () at thread.c:224
#2 0x7bc2beea in __wine_process_init () at loader.c:2354
#3 0x60a088c1 in wine_init (argc=2, argv=0xbffff8b8, error=0xbffff450
"", error_size=1024) at loader.c:664
#4 0x7bf00f2d in main (argc=2, argv=0xbffff8b8) at main.c:58
[stepping...]
(gdb) step
NtAllocateVirtualMemory (process=0x2001, ret=0xbffff22c,
zero_bits=1048576, size_ptr=0x1000, type=4294967295, protect=10514258)
at virtual.c:1379
1379 in virtual.c
(gdb) print status
$22 = 0
[stepping...]
(gdb) step
thread_init () at thread.c:226
226 thread.c: No such file or directory.
in thread.c
(gdb) print addr
$23 = (void *) 0x7ffde000
(gdb) print size
$24 = 4096
(gdb) step
228 in thread.c
(gdb) step
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_PROTECTION_FAILURE at address: 0x7ffde064
thread_init () at thread.c:228
228 in thread.c
(gdb) bt
#0 thread_init () at thread.c:228
#1 0x7bc2beea in __wine_process_init () at loader.c:2354
#2 0x60a088c1 in wine_init (argc=2, argv=0xbffff8b8, error=0xbffff450
"", error_size=1024) at loader.c:664
#3 0x7bf00f2d in main (argc=2, argv=0xbffff8b8) at main.c:58
(gdb)
thread.c:228 being "peb->NumberOfProcessors = 1;", and peb being 0x7ffde000.
Here's some environment information:
OS: Mac OS X 10.4.7
Xcode: Xcode 2.4
X11: XFree86 Version 4.4.0 / X Window System
(protocol Version 11, revision 0, vendor release 6600)
gcc -v: Using built-in specs.
Target: i686-apple-darwin8
Configured with: /private/var/tmp/gcc/gcc-5363.obj~28/src/configure
--disable-checking -enable-werror --prefix=/usr --mandir=/share/man
--enable-languages=c,objc,c++,obj-c++
--program-transform-name=/^[cg][^.-]*$/s/$/-4.0/
--with-gxx-include-dir=/include/c++/4.0.0 --with-slibdir=/usr/lib
--build=powerpc-apple-darwin8 --with-arch=nocona --with-tune=generic
--program-prefix= --host=i686-apple-darwin8
--target=i686-apple-darwin8
Thread model: posix
gcc version 4.0.1 (Apple Computer, Inc. build 5363)
uname -a: Darwin my-computer 8.7.1 Darwin Kernel Version 8.7.1: Wed
Jun 7 16:19:56 PDT 2006; root:xnu-792.9.72.obj~2/RELEASE_I386 i386
i386
I've built Wine with the following DarwinPorts portfile:
# $Id: $
PortSystem 1.0
name wine
version 0.9.20
description Windows compatibility layer
long_description Microsoft Windows compatibility layer for Unix-like systems
categories emulators
maintainers dackze+darwinports at gmail.com
platforms darwin freebsd
homepage http://www.winehq.org/
master_sites sourceforge:wine
use_bzip2 yes
depends_lib bin:bison:bison bin:fontforge:fontforge bin:gmake:gmake \
bin:m4:m4 bin:pkg-config:pkgconfig \
lib:libfontconfig:fontconfig lib:libfreetype:freetype \
lib:libintl:gettext lib:libjpeg:jpeg lib:libncurses:ncurses \
lib:libX11:XFree86 lib:liblcms:lcms lib:libglut:glut \
lib:libgphoto2:libgphoto2 lib:libsane:sane-backends \
lib:libssl:openssl lib:libungif:libungif \
lib:libxml2:libxml2 lib:libxslt:libxslt
build.type gnu
checksums ${distname}${extract.suffix} md5 3e80a07819e4df084becdbbcd4d6cdd3 \
sha1
71b918dcdc54bc32e0b37a63f66891bb7c96b938 \
rmd160
80f1a055674b56ec7cb9231d08b837d1a1a4e883
platform darwin powerpc {
ui_msg "Wine is not supported on PowerPC"
exit 1
}
Which installs the following:
fontforge @20060125_0 (active)
freetype @2.1.10_1 (active)
gettext @0.14.6_0 (active)
glut @3.7_0 (active)
gmake @3.81_0 (active)
jpeg @6b_1 (active)
lcms @1.15_0 (active)
libgphoto2 @2.1.5_0 (active)
libiconv @1.10_1+darwin_8 (active)
libpng @1.2.10_2+darwin_8 (active)
libungif @4.1.4_0 (active)
libuninameslist @20050712_0 (active)
libusb @0.1.12_0 (active)
pkgconfig @0.21_0 (active)
sane-backends @1.0.17_0+local-backends (active)
tiff @3.8.2_0+darwin_8 (active)
wine @0.9.20_0 (active)
zlib @1.2.3_0 (active)
More information about the wine-devel
mailing list