harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ilya Berezhniuk" <ilya.berezhn...@gmail.com>
Subject Re: [porting] FreeBSD
Date Mon, 29 Oct 2007 00:43:38 GMT
I think this infinite loop appears because the crash handler needs
some adjustment to work on FreeBSD. It occasionally goes into infinite
loop even on Linux.

To avoid this and simply crash with a core dump, you can comment out
the call to st_print_stack in null_java_reference_handler

But probably the best way is using '-XX:vm.crash_handler=true' option.
VM will start GDB automatically for unprocessed signals. I see you
have corrected related code in crash_handler.cpp, so this option
should work.

2007/10/29, Mark Hindess <mark.hindess@googlemail.com>:
> There are quite a few hacks the last of which is in r589418, but on
> FreeBSD 6.2 I can now compile a minimal amount of drlvm with:
> sh build.sh \
>   -DCOMPONENTS="vm.interpreter vm.vmcore vm.em vm.gc_gen vm.vmi vm.hythr vm.kernel_classes"
>    -Dhy.local.zlib=true -Dhy.no.sig=true -Dhy.no.thr=false
> and then run with:
> LD_LIBRARY_PATH=freebsd_ia32_gcc_debug/deploy/jdk/jre/bin/default:freebsd_ia32_gcc_debug/deploy/jdk/jre/bin
./freebsd_ia32_gcc_debug/deploy/jdk/jre/bin/java \
>   -Xint HelloWorld
> The good news is that it does get far enough to print "Hello World".
> The bad news is that it then goes in to an infinite loop segfaulting in
> the signal handler.  (The initial SIGSEGV seems to be a problem with
> recursive mutexes.)
> Regards,
>  Mark



View raw message