[Mono-list] Problems on MacOSX, bus error in mint

Cameron Heide cheide@shaw.ca
Sat, 20 Mar 2004 18:16:17 -0700


Greetings!

I have been trying to get Mono 0.31 working under OS X and it compiles
and installs, but then it generates a bus error when I try to actually
compile something with mcs.  It works to a certain degree, as I can
run it with --help and get mcs usage information, or no parameters and
get the "No files to compile were specified" error, it just fails when
I supply an actual .cs file to compile.  The source code used doesn't
seem to matter, as it still crashes on even the simplest examples in
mono/tests.

Running mint and mcs.exe in gdb produces the following:

(gdb) run
Starting program: /opt/mono/bin/mint /opt/mono/bin/mcs.exe switch.cs
Reading symbols for shared libraries warning: Trying to remove a 
section from the ordered section list that did not exist at 0x0.
++++++++. done
** (/opt/mono/bin/mcs.exe:13889): WARNING **: The handle daemon didnt 
start up properly
** (/opt/mono/bin/mcs.exe:13889): WARNING **: Failed to attach shared 
memory! Falling back to non-shared handles
Program received signal EXC_BAD_ACCESS, Could not access memory.
[Switching to process 13889 thread 0x2303]
0x004b0a30 in ves_exec_method_with_context (frame=0xf03f9c70, 
context=0xf0401b90) at interp.c:3585
3585                            g_assert (MONO_CLASS_IS_ARRAY 
(o->obj.vtable->klass));
(gdb) p o
$1 = (MonoArray *) 0x4e9f
(gdb) p *o
$2 = {
   obj = {
     vtable = 0x0,
     synchronisation = 0x0  },
   bounds = 0x0,
   max_length = 0,
   vector = 0x4eaf
}

Before considering it a bug, I should make sure I'm doing everything
right though.  I'm new to both OS X and Mono, so there's plenty of room
for error...  :-)

The system is an iBook G4 with OS X 10.3.3 and Xcode 1.1 installed.
I also have glib-2.2.1 and pkg-config installed via Fink, the Boehm
GC 6.2 (and I am specifying --with-gc=boehm), and ICU 2.8.

I've tried both the instructions on the "Installing Mono on Mac OS X"
page using CVS, and the plain untar/configure/make/make install on the
0.31 distribution, and they both wind up with the same problem.  I'm
not using the JIT (slight bug here, using --with-jit=no on the
configure actually forces it to use the JIT).  It's installed to
/opt/mono instead of /usr/local, but I've got /opt/mono/lib on the
LD_LIBRARY_PATH (if that matters).

Is there anything I'm missing or any further information that would 
help?

Thanks!