Crashes on startup on Ubuntu 18.04.3 LTS
Posted: Sun Jan 12, 2020 6:38 pm
Hello,
I just downloaded and installed Protocase Designer for the first time but I've not had any luck getting it to start up. Whenever I launch it, I see a message like this:
I saw some other similar posts in the forum here which led me to try installing a few different versions of Java, but then I noticed that the current version of Protocase Designer (4.8.11) has openjdk version "11.0.5" 2019-10-15 bundled with it and the wrapper shell script launches with that.
With that said, for completeness I also tried launching it with a few other JREs I now had installed on my system due to earlier attempts at troubleshooting: Oracle JDK 13.0.1, OpenJDK 1.8.0_232, and another build of OpenJDK 11.0.5 that came from Ubuntu's package repository. All of them seem to fail in the same way, aside from mentioning different JRE versions in the error message.
I'm not expert at reading JRE crash output, but my read of that hs_err_pid27594.log file was that it seemed to be a crash inside the native code library /usr/lib/x86_64-linux-gnu/libTKXSBase.so.7. Fuller details below:
One thing that seemed odd to me was that it was using the library from /usr/lib/x86_64-linux-gnu/libTKXSBase.so.7 rather than from /usr/local/lib/Protocase\ Designer/natives/occjava/linux-x86_64 so I looked in `ProtocaseDesigner.sh` and found it was using what seemed to be an incorrect LD_LIBRARY_PATH:
There is no /usr/local/lib/debian/usr/local/lib/ on my system and my guess here is that this crept in in the .deb package build process? Sadly, when I tried updating it to the natives directory indicated above it seemed to just get stuck on the splash screen with no error output at all now. When I hit Ctrl+C to interrupt it, it printed the following:
strace tells me that the main thread was blocking on a call to futex, but I imagine that's just because the interesting stuff is happening in a different thread. strace -f generated huge volumes of output and I didn't have any leads to filter further, so I didn't.
The debugging trail has gone cold for me now, so I'm not sure what to try next but I'm happy to dig a little more if you have some leads!
(I also tried installing the non-.deb installer for the same version, but got similar results to what I've described above.)
I just downloaded and installed Protocase Designer for the first time but I've not had any luck getting it to start up. Whenever I launch it, I see a message like this:
Code: Select all
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00000000000b3820, pid=27594, tid=27619
#
# JRE version: OpenJDK Runtime Environment (11.0.5+10) (build 11.0.5+10)
# Java VM: OpenJDK 64-Bit Server VM (11.0.5+10, mixed mode, tiered, compressed oops, g1 gc, linux-amd64)
# Problematic frame:
# C 0x00000000000b3820
#
# Core dump will be written. Default location: Core dumps may be processed with "/usr/share/apport/apport %p %s %c %d %P" (or dumping to /home/username/core.27594)
#
# An error report file with more information is saved as:
# /home/username/hs_err_pid27594.log
#
# If you would like to submit a bug report, please visit:
# https://github.com/AdoptOpenJDK/openjdk-build/issues
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
Aborted (core dumped)
With that said, for completeness I also tried launching it with a few other JREs I now had installed on my system due to earlier attempts at troubleshooting: Oracle JDK 13.0.1, OpenJDK 1.8.0_232, and another build of OpenJDK 11.0.5 that came from Ubuntu's package repository. All of them seem to fail in the same way, aside from mentioning different JRE versions in the error message.
I'm not expert at reading JRE crash output, but my read of that hs_err_pid27594.log file was that it seemed to be a crash inside the native code library /usr/lib/x86_64-linux-gnu/libTKXSBase.so.7. Fuller details below:
Code: Select all
Current thread (0x00007f6f186e8000): JavaThread "AWT-EventQueue-0" [_thread_in_native, id=27619, stack(0x00007f6eba68c000,0x00007f6eba78d000)]
Stack: [0x00007f6eba68c000,0x00007f6eba78d000], sp=0x00007f6eba788088, free space=1008k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
C 0x00000000000b3820
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j java.lang.ClassLoader$NativeLibrary.load0(Ljava/lang/String;Z)Z+0 java.base@11.0.5
j java.lang.ClassLoader$NativeLibrary.load()Z+53 java.base@11.0.5
j java.lang.ClassLoader$NativeLibrary.loadLibrary(Ljava/lang/Class;Ljava/lang/String;Z)Z+216 java.base@11.0.5
j java.lang.ClassLoader.loadLibrary0(Ljava/lang/Class;Ljava/io/File;)Z+46 java.base@11.0.5
j java.lang.ClassLoader.loadLibrary(Ljava/lang/Class;Ljava/lang/String;Z)V+50 java.base@11.0.5
j java.lang.Runtime.load0(Ljava/lang/Class;Ljava/lang/String;)V+57 java.base@11.0.5
j java.lang.System.load(Ljava/lang/String;)V+7 java.base@11.0.5
j com.protocase.io.NativesLoader.loadNative(Ljava/io/File;)Z+4
j com.protocase.io.NativesLoader.loadNatives(Ljava/lang/String;)V+212
j com.protocase.io.NativesLoader.loadNatives(Ljava/lang/String;)V+140
j com.protocase.io.NativesLoader.loadNatives(Ljava/lang/String;)V+140
j com.protocase.io.NativesLoader.initOcc()V+31
j com.protocase.designer.DesignerApplication.<init>()V+26
j com.protocase.designer.JDesigner.<init>()V+1
j com.protocase.designer.JDesigner$$FastClassByGuice$$75a8b3f5.newInstance(I[Ljava/lang/Object;)Ljava/lang/Object;+24
J 2956 c1 com.google.inject.internal.ConstructorInjector.provision(Lcom/google/inject/internal/InternalContext;Lcom/google/inject/internal/ConstructionContext;)Ljava/lang/Object; (126 bytes) @ 0x00007f6f0010223c [0x00007f6f00102160+0x00000000000000dc]
J 2843 c1 com.google.inject.internal.ConstructorInjector.construct(Lcom/google/inject/internal/InternalContext;Lcom/google/inject/spi/Dependency;Lcom/google/inject/internal/ProvisionListenerStackCallback;)Ljava/lang/Object; (136 bytes) @ 0x00007f6f000af20c [0x00007f6f000af120+0x00000000000000ec]
J 2842 c1 com.google.inject.internal.ConstructorBindingImpl$Factory.get(Lcom/google/inject/internal/InternalContext;Lcom/google/inject/spi/Dependency;Z)Ljava/lang/Object; (52 bytes) @ 0x00007f6f000aeb6c [0x00007f6f000aeae0+0x000000000000008c]
j com.google.inject.internal.ProviderToInternalFactoryAdapter.get()Ljava/lang/Object;+18
j com.google.inject.internal.SingletonScope$1.get()Ljava/lang/Object;+58
j com.google.inject.internal.InternalFactoryToProviderAdapter.get(Lcom/google/inject/internal/InternalContext;Lcom/google/inject/spi/Dependency;Z)Ljava/lang/Object;+4
J 2831 c1 com.google.inject.internal.InjectorImpl$1.get()Ljava/lang/Object; (79 bytes) @ 0x00007f6f000ac3bc [0x00007f6f000ac2c0+0x00000000000000fc]
J 2651 c1 com.protocase.guice.Guicer.make(Ljava/lang/Class;)Ljava/lang/Object; (10 bytes) @ 0x00007f6f00041d5c [0x00007f6f000419a0+0x00000000000003bc]
j com.protocase.designer.JDesigner.lambda$main$0(Lcom/protocase/viewer/EventQueueProxy;[Ljava/lang/String;)V+18
j com.protocase.designer.JDesigner$$Lambda$11.run()V+8
j java.awt.event.InvocationEvent.dispatch()V+47 java.desktop@11.0.5
j java.awt.EventQueue.dispatchEventImpl(Ljava/awt/AWTEvent;Ljava/lang/Object;)V+21 java.desktop@11.0.5
j java.awt.EventQueue$4.run()Ljava/lang/Void;+32 java.desktop@11.0.5
j java.awt.EventQueue$4.run()Ljava/lang/Object;+1 java.desktop@11.0.5
v ~StubRoutines::call_stub
j java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;+0 java.base@11.0.5
j java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;Ljava/security/AccessControlContext;)Ljava/lang/Object;+18 java.base@11.0.5
j java.awt.EventQueue.dispatchEvent(Ljava/awt/AWTEvent;)V+46 java.desktop@11.0.5
j com.protocase.viewer.EventQueueProxy.dispatchEvent(Ljava/awt/AWTEvent;)V+2
j java.awt.EventDispatchThread.pumpOneEventForFilters(I)V+78 java.desktop@11.0.5
j java.awt.EventDispatchThread.pumpEventsForFilter(ILjava/awt/Conditional;Ljava/awt/EventFilter;)V+35 java.desktop@11.0.5
j java.awt.EventDispatchThread.pumpEventsForHierarchy(ILjava/awt/Conditional;Ljava/awt/Component;)V+11 java.desktop@11.0.5
j java.awt.EventDispatchThread.pumpEvents(ILjava/awt/Conditional;)V+4 java.desktop@11.0.5
j java.awt.EventDispatchThread.pumpEvents(Ljava/awt/Conditional;)V+3 java.desktop@11.0.5
j java.awt.EventDispatchThread.run()V+9 java.desktop@11.0.5
v ~StubRoutines::call_stub
siginfo: si_signo: 11 (SIGSEGV), si_code: 1 (SEGV_MAPERR), si_addr: 0x00000000000b3820
Register to memory mapping:
RAX=0x00007f6e6fd07100: <offset 0x0000000000473100> in /usr/lib/x86_64-linux-gnu/libTKXSBase.so.7 at 0x00007f6e6f894000
RBX=0x0000000000000004 is an unknown value
RCX=0x00007f6e6fd0e1b0: <offset 0x000000000047a1b0> in /usr/lib/x86_64-linux-gnu/libTKXSBase.so.7 at 0x00007f6e6f894000
RDX=0x000000000241cd10 points into unknown readable memory: f5 ad ae de fe 7f 00 00
RSP=0x00007f6eba788088 is pointing into the stack for thread: 0x00007f6f186e8000
RBP=0x0000000000000003 is an unknown value
RSI=0x00007ffedeaea308 points into unknown readable memory: 91 ad ae de fe 7f 00 00
RDI=0x0000000000000003 is an unknown value
R8 =0x0 is NULL
R9 =64 is a compressed pointer to class: 0x0000000800000040
R10=0x00007f6ea4828e40 points into unknown readable memory: 28 d4 c5 31 6f 7f 00 00
R11=0x0 is NULL
R12=0x00007ffedeaea308 points into unknown readable memory: 91 ad ae de fe 7f 00 00
R13=0x000000000241cd10 points into unknown readable memory: f5 ad ae de fe 7f 00 00
R14=0x00007f6e6fd068b0: <offset 0x00000000004728b0> in /usr/lib/x86_64-linux-gnu/libTKXSBase.so.7 at 0x00007f6e6f894000
R15=0x00007f6ea4862020 points into unknown readable memory: 00 c0 ff 68 6e 7f 00 00
Registers:
RAX=0x00007f6e6fd07100, RBX=0x0000000000000004, RCX=0x00007f6e6fd0e1b0, RDX=0x000000000241cd10
RSP=0x00007f6eba788088, RBP=0x0000000000000003, RSI=0x00007ffedeaea308, RDI=0x0000000000000003
R8 =0x0000000000000000, R9 =0x0000000000000040, R10=0x00007f6ea4828e40, R11=0x0000000000000000
R12=0x00007ffedeaea308, R13=0x000000000241cd10, R14=0x00007f6e6fd068b0, R15=0x00007f6ea4862020
RIP=0x00000000000b3820, EFLAGS=0x0000000000010206, CSGSFS=0x002b000000000033, ERR=0x0000000000000014
TRAPNO=0x000000000000000e
Top of Stack: (sp=0x00007f6eba788088)
0x00007f6eba788088: 00007f6f31a44733 00007f6e6fd07100
0x00007f6eba788098: 00007f6ea4862020 0000000000000014
0x00007f6eba7880a8: 0000000000000000 00007f6eba788190
0x00007f6eba7880b8: 00007f6ea4862020 0000000000000018
Instructions: (pc=0x00000000000b3820)
0x00000000000b3720: ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
0x00000000000b3730: ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
0x00000000000b3740: ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
0x00000000000b3750: ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
0x00000000000b3760: ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
0x00000000000b3770: ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
0x00000000000b3780: ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
0x00000000000b3790: ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
0x00000000000b37a0: ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
0x00000000000b37b0: ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
0x00000000000b37c0: ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
0x00000000000b37d0: ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
0x00000000000b37e0: ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
0x00000000000b37f0: ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
0x00000000000b3800: ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
0x00000000000b3810: ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
0x00000000000b3820: ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
0x00000000000b3830: ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
0x00000000000b3840: ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
0x00000000000b3850: ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
0x00000000000b3860: ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
0x00000000000b3870: ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
0x00000000000b3880: ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
0x00000000000b3890: ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
0x00000000000b38a0: ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
0x00000000000b38b0: ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
0x00000000000b38c0: ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
0x00000000000b38d0: ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
0x00000000000b38e0: ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
0x00000000000b38f0: ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
0x00000000000b3900: ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
0x00000000000b3910: ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
Stack slot to memory mapping:
stack at sp + 0 slots: 0x00007f6f31a44733: <offset 0x0000000000010733> in /lib64/ld-linux-x86-64.so.2 at 0x00007f6f31a34000
stack at sp + 1 slots: 0x00007f6e6fd07100: <offset 0x0000000000473100> in /usr/lib/x86_64-linux-gnu/libTKXSBase.so.7 at 0x00007f6e6f894000
stack at sp + 2 slots: 0x00007f6ea4862020 points into unknown readable memory: 00 c0 ff 68 6e 7f 00 00
stack at sp + 3 slots: 0x0000000000000014 is an unknown value
stack at sp + 4 slots: 0x0 is NULL
stack at sp + 5 slots: 0x00007f6eba788190 is pointing into the stack for thread: 0x00007f6f186e8000
stack at sp + 6 slots: 0x00007f6ea4862020 points into unknown readable memory: 00 c0 ff 68 6e 7f 00 00
stack at sp + 7 slots: 0x0000000000000018 is an unknown value
Code: Select all
LD_LIBRARY_PATH=/usr/local/lib/Protocase\ Designer/:/usr/local/lib/debian/usr/local/lib/:$LD_LIBRARY_PATH /usr/local/lib/Protocase\ Designer/jre/bin/java -jar /usr/local/lib/Protocase\ Designer/jdesigner.jar >> ~/ProtocaseDesigner/error.log 2>&1
Code: Select all
free(): invalid pointer
The debugging trail has gone cold for me now, so I'm not sure what to try next but I'm happy to dig a little more if you have some leads!
(I also tried installing the non-.deb installer for the same version, but got similar results to what I've described above.)