> On Jul 5, 2017, at 18:25, Joshua Campbell <josh...@ualberta.ca> wrote: > > This segfault appears to occur within the JVM code on both oracle-java8-jdk > and > java-1.8.0-openjdk-amd64. I installed the JVM debugging symbols but it > didn't seem to help. > > Occurs under python 2 and 3. I don't know how to debug this any further. > > 0 joshua@buttercup unnaturalcode 17609$ python3 -m virtualenv -p python3 > venv3 Already using interpreter /usr/bin/python3 > Using base prefix '/usr' > New python executable in /home/joshua/unnaturalcode/venv3/bin/python3 > Also creating executable in /home/joshua/unnaturalcode/venv3/bin/python > Installing setuptools, pkg_resources, pip, wheel...done. > 0 joshua@buttercup unnaturalcode 17610$ source venv3/bin/activate > 0 joshua@buttercup unnaturalcode 17611$ which python > /home/joshua/unnaturalcode/venv3/bin/python > 0 joshua@buttercup unnaturalcode 17616$ pip install jcc --no-cache-dir > Collecting jcc > Downloading JCC-3.0.tar.gz (176kB) > 100% |████████████████████████████████| 184kB 3.4MB/s > Installing collected packages: jcc > Running setup.py install for jcc ... done
What version if java is this jcc built with ? To build jcc for debugging with gcc add --debug to the build command. You should then have symbols visible to gdb. > Successfully installed jcc-3.0 > 0 joshua@buttercup unnaturalcode 17617$ gdb --args > /home/joshua/unnaturalcode/venv3/bin/python -m jcc --jar Is the version of java used here the same as during jcc build time ? Andi.. > java/lex-java/target/lex-java-1.0-SNAPSHOT.jar > GNU gdb (Debian 7.12-6) 7.12.0.20161007-git > Copyright (C) 2016 Free Software Foundation, Inc. > License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html >> > This is free software: you are free to change and redistribute it. > There is NO WARRANTY, to the extent permitted by law. Type "show copying" > and "show warranty" for details. > This GDB was configured as "x86_64-linux-gnu". > Type "show configuration" for configuration details. > For bug reporting instructions, please see: > <http://www.gnu.org/software/gdb/bugs/>. > Find the GDB manual and other documentation resources online at: > <http://www.gnu.org/software/gdb/documentation/>. > For help, type "help". > Type "apropos word" to search for commands related to "word"... > Reading symbols from /home/joshua/unnaturalcode/venv3/bin/python...Reading > symbols from > /usr/lib/debug/.build-id/db/fc2e1a3c58b6d241b3f9af7b2fb3a24b81b90e.debug...done. > done. > (gdb) r > Starting program: /home/joshua/unnaturalcode/venv3/bin/python -m jcc --jar > java/lex-java/target/lex-java-1.0-SNAPSHOT.jar > [Thread debugging using libthread_db enabled] > Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". > Installing openjdk unwinder > Traceback (most recent call last): > File > "/usr/share/gdb/auto-load/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/ > libjvm.so-gdb.py", line 52, in <module> > class Types(object): > File > "/usr/share/gdb/auto-load/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/ > libjvm.so-gdb.py", line 66, in Types > nmethodp_t = gdb.lookup_type('nmethod').pointer() > gdb.error: No type named nmethod. > > Program received signal SIGSEGV, Segmentation fault. > 0x00007fffe47f22b4 in ?? () > (gdb) bt > #0 0x00007fffe47f22b4 in ?? () > #1 0x0000000000000246 in ?? () > #2 0x00007fffe47f2160 in ?? () > #3 0x00007fffffffc8c0 in ?? () > #4 0x00007fffffffc860 in ?? () > #5 0x00007ffff600d075 in VM_Version::get_processor_features() () > from /usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/amd64/server/libjvm.so > Backtrace stopped: previous frame inner to this frame (corrupt stack?) > > > > -- > Joshua Charles Campbell > Ph.D. Student and Research Assistant > Department of Computing Science > University of Alberta > josh...@ualberta.ca