crashes after building from most recent sources

John Rose john.r.rose at
Sat Mar 19 19:02:53 PDT 2011

The root problem appears to be that libjvm is mapped twice.  The second mapping is used by native methods.  The first execution of Thread.currentThread() binds to the uninitialized second copy of JVM_CurrentThread (jvm.cpp) which accesses an uninitialized table _sp_map to get Thread::current().  A broken _sp_map drops the JVM.

There have been launcher changes in the last several weeks.  Perhaps they have caused the double mapping.  Or maybe that was happening all along, but now it has become problematic.

By the way, the double mapping does not happen with "gamma" (non-launcher debug executable), which is why I suspect the launcher.

-- John

$DAVINCI/sources/build/bsd-amd64/j2sdk-image/bin/java -d64 -XX:+ShowMessageBoxOnError
Unexpected Error
SIGSEGV (0xb) at pc=0x00000001020ebe55, pid=29047, tid=4298117120

Do you want to debug the problem?

To debug, run 'gdb /proc/29047/exe 29047'; then switch to thread 4298117120 (4298117120)
Enter 'yes' to launch gdb automatically (PATH must include gdb)
Otherwise, press RETURN to abort...
GNU gdb 6.3.50-20050815 (Apple version gdb-1510) (Wed Sep 22 02:45:02 UTC 2010)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "x86_64-apple-darwin"...set stop-on-solib-events 1
No symbol table is loaded.  Use the "file" command.
/proc/29047/exe: No such file or directory

/Users/jrose/Projects/davinci/patches/netbeans/meth/29047: No such file or directory
Attaching to process 29047.
Reading symbols for shared libraries . done
Reading symbols for shared libraries ......... done
0x00007fff869b0fca in __semwait_signal ()
(gdb) info sha
The DYLD shared library state has not yet been initialized.
                                     Requested State Current State
Num Basename           Type Address         Reason | | Source     
  | |                     | |                    | | | |          
  1 java                  - 0x100000000        exec Y Y /Users/jrose/Projects/davinci/sources/build/bsd-amd64/j2sdk-image/bin/java (offset 0x0)
  2 dyld                  - 0x7fff5fc00000        dyld Y Y /usr/lib/dyld at 0x7fff5fc00000 (offset 0x0) with prefix "__dyld_"
  3 libSystem.B.dylib     - 0x7fff86975000        dyld Y Y /usr/lib/libSystem.B.dylib at 0x7fff86975000 (offset 0x7fff86975000)
                                 (commpage objfile is) /usr/lib/libSystem.B.dylib[LC_SEGMENT.__DATA.__commpage]
  4 libmathCommon.A.dylib - 0x7fff8034f000        dyld Y Y /usr/lib/system/libmathCommon.A.dylib at 0x7fff8034f000 (offset 0x7fff8034f000)
  5 libjvm.dylib          - 0x101000000        dyld Y Y /Users/jrose/Projects/davinci/sources/build/bsd-amd64/j2sdk-image/jre/lib/amd64/server/libjvm.dylib at 0x101000000 (offset 0x101000000)
  6 libstdc++.6.0.9.dylib - 0x7fff85cae000        dyld Y Y /usr/lib/libstdc++.6.0.9.dylib at 0x7fff85cae000 (offset 0x7fff85cae000)
  7 libverify.dylib       - 0x10004f000        dyld Y Y /Users/jrose/Projects/davinci/sources/build/bsd-amd64/j2sdk-image/jre/lib/amd64/libverify.dylib at 0x10004f000 (offset 0x10004f000)
  8 libjvm.dylib          - 0x101c88000        dyld Y Y /Users/jrose/Projects/davinci/sources/build/bsd-amd64/lib/amd64/server/libjvm.dylib at 0x101c88000 (offset 0x101c88000)
  9 libjava.dylib         - 0x10005e000        dyld Y Y /Users/jrose/Projects/davinci/sources/build/bsd-amd64/j2sdk-image/jre/lib/amd64/libjava.dylib at 0x10005e000 (offset 0x10005e000)
 10 libzip.dylib          - 0x100090000        dyld Y Y /Users/jrose/Projects/davinci/sources/build/bsd-amd64/j2sdk-image/jre/lib/amd64/libzip.dylib at 0x100090000 (offset 0x100090000)

-------------- next part --------------
An HTML attachment was scrubbed...

More information about the bsd-port-dev mailing list