[Mono-dev] Compiling Mono v2.4 RC2 (Solaris 10 SPARCv9)

Burkhard Linke blinke at CeBiTec.Uni-Bielefeld.DE
Thu Apr 16 14:08:24 EDT 2009


Hi,


Thracx wrote:
> 
> <P>In short, it's not working for me but I'm willing to keep trying and
> document my experiences if I can get some help from the Mono developer
> community.  I apologize for the lengthy post but I figured that I might as
> well be thorough.</P>
> 

I'm running into the same problem with the 2.4 release of Mono. My current
build does not use the bundled garbage collector, since I get compiler error
during build time.

The cause of the endless loop during compiling the class library is not the
compiler, but the runtime itself. The main thread of mono hangs in a loop,
JIT-compiling methods (output created using 'pstack' utility under Solaris
10 and trimmed):

cab:~> pstack 6411
6411:   /vol/src/gnu/mono/mono-2.4/mono/mini/mono --config
/vol/src/gnu/mono/m
-----------------  lwp# 1 / thread# 1  --------------------
 00083588 mono_local_deadce (2f4870, 1b4e80, 1b09f4, 137, ffffffff, ffffff)
+ 818
 00039b9c mini_method_compile (2f4870, 35169ff, 10000000, 0, 1af560, 2f6fd0)
+ a40
 0003b058 mono_jit_compile_method (2f6890, 1, fee73580, fef52000, ff371480,
0) + 2f0
 000d7cdc mono_compile_method (2f6890, fec90740, ff373a40, 14, 80808080,
fef52100) + 18
 000a0ec8 mono_magic_trampoline (ffbfdeb0, fec90740, 2f6890, 0, 0, ff) + f8
 fecf0104 ???????? (2e4ee0, 0, fee73580, fef52000, 2570b0, 6)
 fec90740 ???????? (0, fec906f8, fee73580, fef52000, 257000, 6)
 fec90478 ???????? (0, 0, ffbfe36c, fec906f8, 257000, fef52100)
 0003b8a4 mono_jit_runtime_invoke (2fad58, 0, 0, ffbfe36c, 0, ff) + 98
 000d8ca8 mono_runtime_invoke (2fad58, 0, 0, ffbfe36c, 2570b0, 6) + 50
 000ded68 mono_runtime_class_init_full (2b7128, 0, fee73580, fef52000,
257000, 0) + 18c
 00056f10 mono_method_to_ir (2c8cc0, 2f5240, 2b8340, feb92b3d, 2f7ad0, 2) +
c8fc
 00039710 mini_method_compile (2c8cc0, 35169ff, 10000000, 0, 1af560, 2f5240)
+ 5b4
 0003b058 mono_jit_compile_method (2b8340, 1, 257000, 20, 2bf090, fef52100)
+ 2f0
 0003b890 mono_jit_runtime_invoke (2b8340, 0, ffbfe7a4, 0, ffbfe72c,
80808080) + 84
 000d8ca8 mono_runtime_invoke (2b8340, 0, ffbfe7a4, 0, 0, 34) + 50
 000db7dc mono_runtime_exec_main (2b8340, 299e40, 0, 20, 2e, 34) + 138
 000dbe14 mono_runtime_run_main (2b8340, 2, ffbfe9c0, 0, 80808080, 1010101)
+ 14c
 0008523c mono_main (3, ffbfe9b4, 0, 0, 6, 0) + 15ac
 00033110 _start   (0, 0, 0, 0, 0, 0) + 5c

The other two threads active at the time are the garbage collection thread
and finalizer thread. 

The instruction pointer (first column) of the mono_local_deadce changes
during several invocation of pstack, but the remaining backtrace remains the
same. So the problem should be located somewhere in that function.

I'll put more debug output calls into the function in the next build and try
to find out under which circumstances the endless loop occurs.

Mono 2.4 works fine under Solaris 10 x86, so the problem should be related
to the different register sets of x86 and SPARC cpus.
-- 
View this message in context: http://www.nabble.com/Compiling-Mono-v2.4-RC2-%28Solaris-10-SPARCv9%29-tp22587130p23083459.html
Sent from the Mono - Dev mailing list archive at Nabble.com.



More information about the Mono-devel-list mailing list