OpenHAB designer causes crash in soup_session_feature_detach

Bug #1406981 reported by Marius B. Kotsbak
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Eclipse
Fix Released
Medium
libsoup
Unknown
Medium
libsoup2.4 (Debian)
New
Unknown
libsoup2.4 (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

Running OpenHAB designer through any Java VM (tried 1.7, 1.8 and Oracle 1.8), causes a crash in libsoup:

#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007fb377829451, pid=11209, tid=140412652816128
#
# JRE version: Java(TM) SE Runtime Environment (8.0_25-b17) (build 1.8.0_25-b17)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.25-b02 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C [libsoup-2.4.so.1+0x6f451] soup_session_feature_detach+0x11
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /home/marius_priv/projects/openHAB/designer/hs_err_pid11209.log
#
# 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.

ProblemType: Bug
DistroRelease: Ubuntu 14.10
Package: libsoup2.4-1 2.46.0-3
ProcVersionSignature: Ubuntu 3.16.0-28.38-generic 3.16.7-ckt1
Uname: Linux 3.16.0-28-generic x86_64
NonfreeKernelModules: nvidia
ApportVersion: 2.14.7-0ubuntu8
Architecture: amd64
CurrentDesktop: KDE
Date: Thu Jan 1 20:51:53 2015
DistributionChannelDescriptor:
 # This is a distribution channel descriptor
 # For more information see http://wiki.ubuntu.com/DistributionChannelDescriptor
 canonical-oem-somerville-precise-amd64-20130203-1
InstallationDate: Installed on 2014-03-12 (295 days ago)
InstallationMedia: Ubuntu 12.04 "Precise" - Build amd64 LIVE Binary 20130203-13:50
SourcePackage: libsoup2.4
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
In , Jakub Adam (jakub-adam) wrote :

Created attachment 229266
Patch for the crash

With recent versions of WebKitGTK+, Eclipse crashes whenever Javadoc hover help is to be displayed in Java editor.

Looks this happens because WebKit doesn't attach a default Authenticate listener and therefore WebKitGTK.soup_session_get_feature() returns 0 in WebKit.create(). See attached patch for fix.

Reproduced with all 3.8, 4.2 and 4.3 versions of SWT.

Revision history for this message
In , Jakub Adam (jakub-adam) wrote :

Created attachment 229267
Example crash report

Revision history for this message
In , Jakub Adam (jakub-adam) wrote :

Created attachment 229268
Patch for the crash

Revision history for this message
In , Grant Gayed (grant-gayed) wrote :

Thanks for investigating this Jakub, targeting for 4.3. From the crash report:

Stack: [0x00007f3e62e0d000,0x00007f3e62f0e000], sp=0x00007f3e62f0b3a0, free space=1016k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [libsoup-2.4.so.1+0x72d59] soup_session_feature_detach+0x19

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j org.eclipse.swt.internal.webkit.WebKitGTK._soup_session_feature_detach(JJ)V+0
j org.eclipse.swt.internal.webkit.WebKitGTK.soup_session_feature_detach(JJ)V+9
j org.eclipse.swt.browser.WebKit.create(Lorg/eclipse/swt/widgets/Composite;I)V+919
j org.eclipse.swt.browser.Browser.<init>(Lorg/eclipse/swt/widgets/Composite;I)V+81
j org.eclipse.jface.internal.text.html.BrowserInformationControl.isAvailable(Lorg/eclipse/swt/widgets/Composite;)Z+12
j org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover$HoverControlCreator.doCreateInformationControl(Lorg/eclipse/swt/widgets/Shell;)Lorg/eclipse/jface/text/IInformationControl;+18
j org.eclipse.jface.text.AbstractReusableInformationControlCreator.createInformationControl(Lorg/eclipse/swt/widgets/Shell;)Lorg/eclipse/jface/text/IInformationControl;+20
j org.eclipse.jface.text.AbstractInformationControlManager.getInformationControl()Lorg/eclipse/jface/text/IInformationControl;+176
j org.eclipse.jface.text.AbstractInformationControlManager.internalShowInformationControl(Lorg/eclipse/swt/graphics/Rectangle;Ljava/lang/Object;)V+18
j org.eclipse.jface.text.AbstractInformationControlManager.presentInformation()V+70
j org.eclipse.jface.text.AbstractHoverInformationControlManager.presentInformation()V+64
j org.eclipse.jface.text.TextViewerHoverManager.doPresentInformation()V+1
j org.eclipse.jface.text.TextViewerHoverManager$5.run()V+4
j org.eclipse.swt.widgets.RunnableLock.run()V+11
j org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Z)Z+29
j org.eclipse.swt.widgets.Display.runAsyncMessages(Z)Z+5
j org.eclipse.swt.widgets.Display.readAndDispatch()Z+61
j org.eclipse.ui.internal.Workbench.runEventLoop(Lorg/eclipse/jface/window/Window

Revision history for this message
In , Grant Gayed (grant-gayed) wrote :

*** Bug 405786 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Akurtakov (akurtakov) wrote :

Grant,
Any plans to accept the patch soon? It is impossible to launch Kepler builds on Fedora 19 because of this.

Revision history for this message
In , İsmail Dönmez (ismaildonmez) wrote :

For a workaround add the following to the end of your eclipse.ini

-Dorg.eclipse.swt.browser.DefaultType=mozilla

Revision history for this message
In , Akurtakov (akurtakov) wrote :

(In reply to comment #6)
> For a workaround add the following to the end of your eclipse.ini
>
> -Dorg.eclipse.swt.browser.DefaultType=mozilla

Mozilla is even less reliable as it breaks with every firefox update ans SWT doesn't support recent xulrunner versions (20.0 here) -at least it wasn't last I checked.

Revision history for this message
In , İsmail Dönmez (ismaildonmez) wrote :

Works for me on openSUSE 12.3

Revision history for this message
In , René (rkrell) wrote :

In which environment, the same one with GNOME 3.8 (separate repository GNOME:STABLE) using libsoup 2.42.0? See also bug 405786.
Also in this report there was said "with recent versions of WebkitGTK+" (which is not a standard OpenSUSE 12.3)

(In reply to comment #8)
> Works for me on openSUSE 12.3

Revision history for this message
In , İsmail Dönmez (ismaildonmez) wrote :

Ah I am using GNOME:Stable:3.8 repo.

Revision history for this message
In , René (rkrell) wrote :

(In reply to comment #10)
> Ah I am using GNOME:Stable:3.8 repo.

I use apparently (almost) the same environment OpenSUSE 12.3 + GNOME:Stable:3.8 and it crashes. Before updating to GNOME:Stable:3.8 it didn't crash for several weeks of intensive work with Eclipse. Therefore I'd rather ask:
- You don't override -Dorg.eclipse.swt.browser.DefaultType in eclipse.ini?
- Did you try the Javadoc hovers in some open Java editor for a while?

Revision history for this message
In , İsmail Dönmez (ismaildonmez) wrote :

(In reply to comment #11)
> (In reply to comment #10)
> > Ah I am using GNOME:Stable:3.8 repo.
>
> I use apparently (almost) the same environment OpenSUSE 12.3 +
> GNOME:Stable:3.8 and it crashes. Before updating to GNOME:Stable:3.8 it
> didn't crash for several weeks of intensive work with Eclipse. Therefore I'd
> rather ask:
> - You don't override -Dorg.eclipse.swt.browser.DefaultType in eclipse.ini?
> - Did you try the Javadoc hovers in some open Java editor for a while?

1. I have -Dorg.eclipse.swt.browser.DefaultType=mozilla in my eclipse.ini
2. Yes I did, I opened an Android project and checked docs for multiple functions. Works fine.

Revision history for this message
In , René (rkrell) wrote :

Oh Ismail, sorry, I think I got the message after I've noticed your comments above. You tried the workaround, not the standard Eclipse.
The workaround with the "mozilla" default type works for me, too, using Firefox 20 (xulrunner-17.0.5-2.1.x86_64).

(In reply to comment #11)
> (In reply to comment #10)
> > Ah I am using GNOME:Stable:3.8 repo.
>
> I use apparently (almost) the same environment OpenSUSE 12.3 +
> GNOME:Stable:3.8 and it crashes. Before updating to GNOME:Stable:3.8 it
> didn't crash for several weeks of intensive work with Eclipse. Therefore I'd
> rather ask:
> - You don't override -Dorg.eclipse.swt.browser.DefaultType in eclipse.ini?
> - Did you try the Javadoc hovers in some open Java editor for a while?

Revision history for this message
In , Grant Gayed (grant-gayed) wrote :

(In reply to comment #5)
> Any plans to accept the patch soon? It is impossible to launch Kepler builds
> on Fedora 19 because of this.

A fix will be in for 4.3M7. I don't have a built WebKitGTK 2.0 to use yet, and I want to do a good test pass with it.

Revision history for this message
In , Grant Gayed (grant-gayed) wrote :

Fixed > 20130425, commit: http://git.eclipse.org/c/platform/eclipse.platform.swt.git/commit/?id=b22a7d19afbe2a3811a0f8aa54c1e85d92c62a2c .

Logged bug 406605 for new problem with the WebKitGTK 2.0 default authentication prompter.

Revision history for this message
In , Pwebster-ca (pwebster-ca) wrote :

*** Bug 406736 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Daniel-megert (daniel-megert) wrote :

*** Bug 407076 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Grant Gayed (grant-gayed) wrote :

*** Bug 407208 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Sascha Baumeister (sascha-baumeister) wrote :

Just wanted you to know that adding the line to eclipse.ini seems to work for me under Ubuntu Gnome 13.04, upgraded to Gnome 3.8.1. Will the fix be part of this summer's Juno successor?

If not, I think the workaround info needs somehow to be spread, because this bug renders Eclipse totally unusable on newer Gnome-based linux distros, and this entry seems somewhat hard to find using google ... I didn't, which is the reason I created the duplicate, and I fear I won't have been the last.

Revision history for this message
In , Grant Gayed (grant-gayed) wrote :

(In reply to comment #19)
> Will the fix be part of this summer's Juno successor?

Yes, it will be in the June 4.3 release.

Revision history for this message
In , Jlmoya (jlmoya) wrote :

The workaround didn't do it for me as eclipse 4.2.2 continues to crash. Does anyone have any other suggestion as to how to fix the problem? Would anyone be kind enough to explain how to apply the patch attached?

Revision history for this message
In , Grant Gayed (grant-gayed) wrote :

(In reply to comment #21)

To work around this with 4.2.2 you need to add two lines to the end of your eclipse.ini:

1. the line in comment 6
2. -Dorg.eclipse.swt.browser.XULRunnerPath=<path> where <path> is the full path to a downloaded XULRunner to use (XULRunner 10 is suggested since it's the latest supported release). If for some reason this does not work then you can substitute an invalid path for <path> (eg.- "/dev/null"), which will run with no browser support (base eclipse runs generally fine without browser support).

Revision history for this message
In , Pwebster-ca (pwebster-ca) wrote :

*** Bug 408680 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Pwebster-ca (pwebster-ca) wrote :

*** Bug 411745 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Markus-keller (markus-keller) wrote :

*** Bug 411948 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Thomas-skjolberg (thomas-skjolberg) wrote :

Using this workaround with fedora 19 removes the crash but displays an empty information window for autocompletes (for ctrl-space); unusable.

-Dorg.eclipse.swt.browser.DefaultType=mozilla
-Dorg.eclipse.swt.browser.XULRunnerPath=/usr/lib64/xulrunner/

Revision history for this message
In , Akurtakov (akurtakov) wrote :

(In reply to comment #26)
> Using this workaround with fedora 19 removes the crash but displays an empty
> information window for autocompletes (for ctrl-space); unusable.
>
> -Dorg.eclipse.swt.browser.DefaultType=mozilla
> -Dorg.eclipse.swt.browser.XULRunnerPath=/usr/lib64/xulrunner/

Thomas, do you see this problem with 4.3 final? I don't see the crash with both Eclipse from Fedora(yum install eclipse) and downloaded one from Eclipse.org. Fedora ships with xulrunner 22 which is not supported by swt.

Revision history for this message
In , Thomas-skjolberg (thomas-skjolberg) wrote :

Upgrading to 4.3 works perfectly, thanks.

Revision history for this message
In , Mpol-l (mpol-l) wrote :

The workaround seems to work on Indigo with xulrunner 17.

Revision history for this message
In , Pwebster-ca (pwebster-ca) wrote :

*** Bug 417037 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Pwebster-ca (pwebster-ca) wrote :

*** Bug 417542 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Dan Winship (danw-gnome) wrote :

Comment on attachment 229268
Patch for the crash

> long /*int*/ originalAuth = WebKitGTK.soup_session_get_feature (session, WebKitGTK.webkit_soup_auth_dialog_get_type ());
>- WebKitGTK.soup_session_feature_detach (originalAuth, session);
>+ if (originalAuth != 0) {
>+ WebKitGTK.soup_session_feature_detach (originalAuth, session);
>+ }
> OS.g_signal_connect (session, WebKitGTK.authenticate, Proc5.getAddress (), webView);
>- WebKitGTK.soup_session_feature_attach (originalAuth, session);
>+ if (originalAuth != 0) {
>+ WebKitGTK.soup_session_feature_attach (originalAuth, session);
>+ }

FWIW, the lookup/detach/attach code there is completely unnecessary anyway... The only line here that actually does anything is the g_signal_connect() line.

Revision history for this message
In , Jeremiah-renfro (jeremiah-renfro) wrote :

FWIW I found this thread because I was getting a similar crash after updating OpenSUSE to 13.1 and eclipse to Kepler (eclipse.buildId=4.3.0.M20130911-1000)

Here is the tail of the console log:

No bp log location saved, using default.
[000:000] Browser XEmbed support present: 1
[000:001] Browser toolkit is Gtk2.
[000:001] Using Gtk2 toolkit
No bp log location saved, using default.

Adding -Dorg.eclipse.swt.browser.DefaultType=mozilla to eclipse.ini seems to have resolved the problem... for now. I only think it is worth mentioning because this was supposedly resolved in 4.3

Revision history for this message
In , Grant Gayed (grant-gayed) wrote :

(In reply to Jeremiah Renfro from comment #33)

Are you sure you're seeing the same crash (the dump file from your JRE indicates that it's in the soup_session_feature_detach() call)? The fix for this was a simple null check, and I haven't heard of anyone else seeing it since the fix went in. Maybe you're seeing bug 400626?

Revision history for this message
In , Jeremiah-renfro (jeremiah-renfro) wrote :

(In reply to Grant Gayed from comment #34)
> (In reply to Jeremiah Renfro from comment #33)
>
> Are you sure you're seeing the same crash (the dump file from your JRE
> indicates that it's in the soup_session_feature_detach() call)? The fix for
> this was a simple null check, and I haven't heard of anyone else seeing it
> since the fix went in. Maybe you're seeing bug 400626?

Maybe I am experiencing 400626, thanks for pointing me there, I'll start tracking that one also.

Revision history for this message
In , Pwebster-ca (pwebster-ca) wrote :

*** Bug 426031 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Unnikrishnanadoor (unnikrishnanadoor) wrote :

(In reply to Alexander Kurtakov from comment #7)
> (In reply to comment #6)
> > For a workaround add the following to the end of your eclipse.ini
> >
> > -Dorg.eclipse.swt.browser.DefaultType=mozilla
>
> Mozilla is even less reliable as it breaks with every firefox update ans SWT
> doesn't support recent xulrunner versions (20.0 here) -at least it wasn't
> last I checked.

I had the same problem in LinuxMint (petra), adding Dorg.eclipse.swt.browser.DefaultType=mozilla fixed my it. Thanks for this fix!

Revision history for this message
In , Arunkumar-thondapu-i (arunkumar-thondapu-i) wrote :

*** Bug 434588 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Pwebster-ca (pwebster-ca) wrote :

*** Bug 439082 has been marked as a duplicate of this bug. ***

Revision history for this message
In , P-sub (p-sub) wrote :

*** Bug 440571 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Michael Vorburger (mike-vorburger) wrote :

I can confirm that using Eclipse Luna v4.4 on Ubuntu 14.04 this doesn't happen anymore. For older Eclipse versions (e.g. 3.7.2) the -Dorg.eclipse.swt.browser.DefaultType=mozilla works for me.

Revision history for this message
In , Pwebster-ca (pwebster-ca) wrote :

*** Bug 442630 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Arunkumar-thondapu-i (arunkumar-thondapu-i) wrote :

*** Bug 443457 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Arunkumar-thondapu-i (arunkumar-thondapu-i) wrote :

*** Bug 454196 has been marked as a duplicate of this bug. ***

Revision history for this message
Marius B. Kotsbak (mariusko) wrote :
Revision history for this message
Marius B. Kotsbak (mariusko) wrote :

This is a bug in the packaged version of OpenHAB, which is fixed in newer Eclipse versions.

Changed in libsoup2.4 (Ubuntu):
status: New → Invalid
no longer affects: eclipse (Ubuntu)
Changed in libsoup2.4 (Debian):
status: Unknown → New
Changed in eclipse-eclipsers:
importance: Unknown → Medium
status: Unknown → Fix Released
Changed in libsoup:
importance: Unknown → Medium
Revision history for this message
In , Arunkumar-thondapu-i (arunkumar-thondapu-i) wrote :
Revision history for this message
In , Marcolof (marcolof) wrote :

This bug (or very similar one) appears to have reappeared in the latest update to Luna (20150219-0600). The same workaround also works there (e.g.
-Dorg.eclipse.swt.browser.DefaultType=mozilla).

Revision history for this message
In , Daniel-megert (daniel-megert) wrote :

*** Bug 468562 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Sascha Baumeister (sascha-baumeister) wrote :

(In reply to Marco Rietveld from comment #46)
> This bug (or very similar one) appears to have reappeared in the latest
> update to Luna (20150219-0600). The same workaround also works there (e.g.
> -Dorg.eclipse.swt.browser.DefaultType=mozilla).

Just to let you know, I use the latest Eclipse Luna releases on Ubuntu Gnome 14.04.2 (both the Java and the C/C++ flavors), and have not experienced this problem again since the Juno versions (see comment #19). Therefore, I guess there must be something special in your setup.

Mentioning this 2 years old comment, I was probably right to predict that there'd be tons of duplicates for this bug; the bug description is simply not expressive enough to find it using a standard google search ...

Revision history for this message
In , Arunkumar-thondapu-i (arunkumar-thondapu-i) wrote :

(In reply to Marco Rietveld from comment #46)
> This bug (or very similar one) appears to have reappeared in the latest
> update to Luna (20150219-0600). The same workaround also works there (e.g.
> -Dorg.eclipse.swt.browser.DefaultType=mozilla).

Please provide more details - which OS, what are the versions of GTK+ and webkit etc. and the crash logs too if possible.

Revision history for this message
In , Arunkumar-thondapu-i (arunkumar-thondapu-i) wrote :

*** Bug 474112 has been marked as a duplicate of this bug. ***

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.