Page 1 of 1
Oxygen 15 dumping core on Linux
Posted: Mon Jun 10, 2013 3:34 pm
by GraydonS
14.2 worked without complaint.
[graydon@conversiondev3 Oxygen XML Editor 15]$ ./oxygen.sh
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00000033b8227a30, pid=15943, tid=139774156162816
#
# JRE version: 7.0_09-b05
# Java VM: Java HotSpot(TM) 64-Bit Server VM (23.5-b02 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C [libdbus-1.so.3+0x27a30] getenv+0x27a30
#
# Core dump written. Default location: /home/graydon/Oxygen XML Editor 15/core or core.15943
#
# An error report file with more information is saved as:
# /home/graydon/Oxygen XML Editor 15/hs_err_pid15943.log
[thread 139774155110144 also had an error]
#
# If you would like to submit a bug report, please visit:
#
http://bugreport.sun.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
./oxygen.sh: line 68: 15943 Aborted (core dumped) "${OXYGEN_JAVA}" -Xmx512m -XX:SoftRefLRUPolicyMSPerMB=10 "-Dcom.oxygenxml.editor.plugins.dir=$OXYGEN_HOME/plugins" -Dcom.oxygenxml.app.descriptor=ro.sync.exml.EditorFrameDescriptor -Dcom.oxygenxml.MultipleInstances=true -XX:MaxPermSize=256m -cp "$CP" ro.sync.exml.Oxygen "$@"
Not seeing a location to attach the core dump.
Re: Oxygen 15 dumping core on Linux
Posted: Mon Jun 10, 2013 4:41 pm
by adrian
Hello,
On Linux, starting with v15.0, Oxygen uses the system installed Java. If no compatible Java is available it uses its own bundled JRE (currently Java SE 7 update 15). From the crash log I see that Oxygen is using Java SE 7 update 9 you have installed on your system and that's what's crashing with Oxygen.
We encourage Linux users to install OpenJDK 7 (or OpenJDK 6 if 7 is not available) and run Oxygen using it. Instructions on how to install OpenJDK are available here:
How to download and install prebuilt OpenJDK packages
If you have several Java runtimes installed, make sure OpenJDK is set as default:
Code: Select all
sudo update-alternatives --config java
You can check the JVM used by Oxygen in:
Help > About, System properties, "
java.runtime.name" and "
java.runtime.version"
If Oxygen doesn't pick OpenJDK automatically after it has been set as the default Java runtime, you may have to reinstall Oxygen.
Regards,
Adrian
Re: Oxygen 15 dumping core on Linux
Posted: Mon Jun 10, 2013 5:43 pm
by GraydonS
That's got it.
Thank you!
Re: Oxygen 15 dumping core on Linux
Posted: Mon Jul 08, 2013 4:17 pm
by GraydonS
This morning, on current Fedora 17, against
[graydon@conversiondev3 Oxygen XML Editor 15]$ java -version
java version "1.7.0_25"
OpenJDK Runtime Environment (fedora-2.3.10.3.fc17-x86_64)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)
I get
[graydon@conversiondev3 Oxygen XML Editor 15]$ ./oxygen.sh &
[1] 2223
[graydon@conversiondev3 Oxygen XML Editor 15]$ 08:58:55,406 1 ERROR [ main ] ro.sync.ui.application.ApplicationLauncher - java.lang.reflect.InvocationTargetException
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at ro.sync.ui.application.ApplicationLauncher.h(Unknown Source)
at ro.sync.ui.application.ApplicationLauncher.launch(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at ro.sync.exml.Oxygen.main(Unknown Source)
Caused by: java.lang.NoSuchMethodError: sun.reflect.Reflection.getCallerClass(I)Ljava/lang/Class;
at com.jidesoft.plaf.UIDefaultsLookup.c(Unknown Source)
at com.jidesoft.plaf.UIDefaultsLookup.get(Unknown Source)
at com.jidesoft.swing.ContentContainer.updateUI(Unknown Source)
at javax.swing.JPanel.<init>(JPanel.java:86)
at javax.swing.JPanel.<init>(JPanel.java:109)
at javax.swing.JPanel.<init>(JPanel.java:117)
at com.jidesoft.swing.ContentContainer.<init>(Unknown Source)
at ro.sync.exml.c.f.<init>(Unknown Source)
at ro.sync.exml.MainFrame.qxm(Unknown Source)
at ro.sync.exml.MainFrame.createContentContainer(Unknown Source)
at com.jidesoft.action.DefaultDockableBarHolder.initFrame(Unknown Source)
at com.jidesoft.action.DefaultDockableBarHolder.<init>(Unknown Source)
at ro.sync.ui.application.sc.<init>(Unknown Source)
at ro.sync.ui.application.b.<init>(Unknown Source)
at ro.sync.exml.MainFrame.<init>(Unknown Source)
at ro.sync.exml.MainFrame.<init>(Unknown Source)
... 11 more
If I switch the java symlink in alternatives to
[graydon@conversiondev3 Oxygen XML Editor 15]$ java -version
java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b15)
Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)
I get
[graydon@conversiondev3 Oxygen XML Editor 15]$ ./oxygen.sh &
[1] 3308
[graydon@conversiondev3 Oxygen XML Editor 15]$ *** glibc detected *** /bin/java: double free or corruption (out): 0x00007f856c004380 ***
======= Backtrace: =========
/lib64/libc.so.6[0x33b2a7c00e]
/lib64/libdbus-1.so.3[0x33b82295d1]
./oxygen.sh: line 68: 3312 Aborted "${OXYGEN_JAVA}" -Xmx12g -XX:SoftRefLRUPolicyMSPerMB=10 "-Dcom.oxygenxml.editor.plugins.dir=$OXYGEN_HOME/plugins" -Dcom.oxygenxml.app.descriptor=ro.sync.exml.EditorFrameDescriptor -Dcom.oxygenxml.MultipleInstances=true -XX:MaxPermSize=256m -cp "$CP" ro.sync.exml.Oxygen "$@"
The second might not be an oxygen issue; pretty sure the first one is.
Any suggestions?
Thanks!
Re: Oxygen 15 dumping core on Linux
Posted: Mon Jul 08, 2013 5:01 pm
by adrian
Hello,
1. Unfortunately Oxygen v15.0 and earlier won't start with the latest update of OpenJDK, 1.7.0.25 (and most likely later versions of OpenJDK, including 1.8.x). The issue with these new versions of the OpenJDK is that one of the libraries used by Oxygen (the JIDE Docking library) used a Java method (sun.reflect.Reflection.getCallerClass) which was not public API in the JRE implementation. This method was changed/removed in these new versions of the OpenJDK and as a result the application no longer starts with them. We're working on resolving this in v15.1 and hopefully also patching it for v15.0.
Most Linux distributions don't rush to include the latest OpenJDK, however we know for sure that Fedora Core 17 has updated OpenJDK in their package repositories to 1.7.0.25.
Here's our forum thread where this was reported and discussed:
Incompatibility with java-1.7.0-openjdk-1.7.0.25-2.3.10
We are preparing a new maintenance build of Oxygen v15.0 that will include a bugfix for this problem. Until this build becomes available you can use the following patch:
http://mirror.oxygenxml.com/userFiles/p ... 7.0.25.zip
Download and unpack the zip. Move the unpacked .jar to the
Oxygen XML Editor 15/lib folder replacing the old file. Start Oxygen with OpenJDK and it should work as before.
2. That's a crash of the Java Virtual Machine (Java SE 7). I can't comment on the cause, seems different then your original crash though (with the older Java SE 7.0_09).
Regards,
Adrian
Re: Oxygen 15 dumping core on Linux
Posted: Mon Jul 08, 2013 5:29 pm
by GraydonS
rm /etc/alternatives/java
rm -rf current oxygen directory, new oXygen 15 download, reinstall.
Discover that it's trying to create /etc/.java, which fails in part because it created one on the original oxygen 15 install. Delete that.
Get a less fragile run:
[graydon@conversiondev3 Oxygen XML Editor 15]$ sh ./oxygen.sh
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00000033b8207d91, pid=7036, tid=140061205305088
#
# JRE version: 7.0_15-b03
# Java VM: Java HotSpot(TM) 64-Bit Server VM (23.7-b01 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C [libdbus-1.so.3+0x7d91] dbus_address_entry_get_value+0x41
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
[thread 140061190874880 also had an error]
# An error report file with more information is saved as:
# [thread 140061190874880 also had an error]
[thread 140061314254592 also had an error]
# [ timer expired, abort... ]
./oxygen.sh: line 68: 7036 Aborted "${OXYGEN_JAVA}" -Xmx512m -XX:SoftRefLRUPolicyMSPerMB=10 "-Dcom.oxygenxml.editor.plugins.dir=$OXYGEN_HOME/plugins" -Dcom.oxygenxml.app.descriptor=ro.sync.exml.EditorFrameDescriptor -Dcom.oxygenxml.MultipleInstances=true -XX:MaxPermSize=256m -cp "$CP" ro.sync.exml.Oxygen "$@"
Which looks like it's failing against the bundled JRE, too.
So far as I can tell, dbus is running:
[root@conversiondev3 etc]# systemctl status dbus.socket dbus.service
dbus.socket - D-Bus System Message Bus Socket
Loaded: loaded (/usr/lib/systemd/system/dbus.socket; static)
Active: active (running) since Mon, 08 Jul 2013 08:47:11 -0400; 1h 41min ago
CGroup: name=systemd:/system/dbus.socket
dbus.service - D-Bus System Message Bus
Loaded: loaded (/usr/lib/systemd/system/dbus.service; static)
Active: active (running) since Mon, 08 Jul 2013 08:47:11 -0400; 1h 41min ago
Main PID: 752 (dbus-daemon)
CGroup: name=systemd:/system/dbus.service
├ 752 /bin/dbus-daemon --system --address=systemd: --nof...
├ 808 /usr/libexec/polkit-1/polkitd --no-debug
├ 812 /usr/sbin/modem-manager
├ 2101 /usr/libexec/udisks-daemon --no-debug
└ 2109 udisks-daemon: not polling any devices
Jul 08 08:54:17 conversiondev3 dbus-daemon[752]: dbus[752]: [system] Success...'
Jul 08 08:54:17 conversiondev3 dbus[752]: [system] Successfully activated se...'
Jul 08 08:54:17 conversiondev3 dbus-daemon[752]: dbus[752]: [system] Activat...)
Jul 08 08:54:17 conversiondev3 dbus[752]: [system] Activating service name='...)
Jul 08 08:54:17 conversiondev3 dbus-daemon[752]: dbus[752]: [system] Success...'
Jul 08 08:54:17 conversiondev3 dbus[752]: [system] Successfully activated se...'
Jul 08 09:57:35 conversiondev3 dbus-daemon[752]: dbus[752]: [system] Activat...)
Jul 08 09:57:35 conversiondev3 dbus[752]: [system] Activating service name='...)
Jul 08 09:57:36 conversiondev3 dbus-daemon[752]: dbus[752]: [system] Success...'
Jul 08 09:57:36 conversiondev3 dbus[752]: [system] Successfully activated se...'
Re: Oxygen 15 dumping core on Linux
Posted: Mon Jul 08, 2013 5:35 pm
by adrian
HI,
It's clear that Java SE 7 has some issues on your system, so I would suggest sticking with OpenJDK for the time being (bypass the bundled JRE by renaming the jre folder from the Oxygen installation folder). Use the patch I provided in my previous post and you should be up and running with OpenJDK.
Regards,
Adrian
Re: Oxygen 15 dumping core on Linux
Posted: Mon Jul 08, 2013 6:29 pm
by GraydonS
adrian wrote:HI,
It's clear that Java SE 7 has some issues on your system, so I would suggest sticking with OpenJDK for the time being (bypass the bundled JRE by renaming the jre folder from the Oxygen installation folder). Use the patch I provided in my previous post and you should be up and running with OpenJDK.
Regards,
Adrian
Hi Adrian --
With a little hammering away to remove ancient JAVA and JAVA_HOME shell variables, that works.
Thanks!
-- Graydon