Bug 509587 (webkit1JvmCrashes) - [Browser][Webkit 1] JVM crashes tracking bug (libwebkitgtk-3.0 g_main_context_iteration setVisible SIGSEGV javadoc AbstractInformationControl BrowserInformationControl contentassist)
Summary: [Browser][Webkit 1] JVM crashes tracking bug (libwebkitgtk-3.0 g_main_cont...
Status: CLOSED WONTFIX
Alias: webkit1JvmCrashes
Product: Platform
Classification: Eclipse Project
Component: SWT (show other bugs)
Version: 4.7   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Platform-SWT-Inbox CLA
QA Contact: Leo Ufimtsev CLA
URL:
Whiteboard:
Keywords: triaged
: 354842 370215 410847 433570 458128 460459 509658 510000 514484 527098 (view as bug list)
Depends on: 507550 509411 webkitBrowser1Crash
Blocks:
  Show dependency tree
 
Reported: 2016-12-21 09:48 EST by Leo Ufimtsev CLA
Modified: 2018-12-14 12:56 EST (History)
11 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Leo Ufimtsev CLA 2016-12-21 09:48:52 EST
Webkit1 is notorious for crashing a lot.

There appears to be various reasons. This bug is to keep track of them.

One pattern I noticed is that webkit will often crash if OS.g_main_context_iteration is called in java while webkit is doing something.

A common pattern seen in crash dumps is as following:

  Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
  C  [libwebkitgtk-3.0.so.0+0xc7ece0]
  C  [libwebkitgtk-3.0.so.0+0x43eddb]
  ....
  C  [libglib-2.0.so.0+0x468e7]
  
  Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
  J 920  org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(JZ)Z (0 bytes)     <<<< common pattern.
  ...
  j  org.eclipse.swt.widgets.Shell.setVisible(Z)V+302
  ....

At present I'm working on Webkit2 port, where crashes mostly resolved. So I may not work on fixing webkit1 bugs (at least for now). But I think it's useful to keep track of them.
Comment 1 Leo Ufimtsev CLA 2017-03-15 10:13:38 EDT
*** Bug 460459 has been marked as a duplicate of this bug. ***
Comment 2 Leo Ufimtsev CLA 2018-01-30 09:39:39 EST
Status update:

SWT's support for Webkit2is complete and Webkit2 is default:
528844 – [Webkit2] Make webkit2 default.
https://bugs.eclipse.org/bugs/show_bug.cgi?id=528844

(For use in 4.8)

Currently there is no man-power to provide support for SWT's Webkit1 support. The reason is that webkit1 is deprecated (On my Fedora 27, I can't even install Webkit1 anymore..). It's deprecated because it's internals are known to be unstable/insecure and causing crashes/freezes in Eclipse.

I.e, clients who experience issues with webkit1 are advised to move to webkit2 as soon as possible. Webkit2 being available in most recent Linux distributions.

In general we'd like to see it removed eventually, but for the time being SWT's Webkit1 support will still be available for some time for backwards compatibility, but clients are strongly advised to move to Webkit2 as soon as possible.

As a note about your system packages, (depending on your distro), they usually mean:
webkitgtk = Gtk2 with webkit1 bindings
webkitgtk3 = Gtk3 with Webkit1 bindings
webkitgtk4 = Gtk3 with Webkit2 bindings    <<< This is what you want.
(but naming may vary)

To see which webkit version is used for your eclipse:
export SWT_LIB_VERSIONS=1
./eclipse

and search for LIB_SWT * lines in your console.

Feel free to ask away if you have questions.
Comment 3 Leo Ufimtsev CLA 2018-01-30 09:47:23 EST
*** Bug 354842 has been marked as a duplicate of this bug. ***
Comment 4 Leo Ufimtsev CLA 2018-01-30 09:57:21 EST
*** Bug 370215 has been marked as a duplicate of this bug. ***
Comment 5 Leo Ufimtsev CLA 2018-01-30 10:01:06 EST
*** Bug 527098 has been marked as a duplicate of this bug. ***
Comment 6 Leo Ufimtsev CLA 2018-01-30 10:04:03 EST
*** Bug 514484 has been marked as a duplicate of this bug. ***
Comment 7 Leo Ufimtsev CLA 2018-01-30 10:08:27 EST
*** Bug 510000 has been marked as a duplicate of this bug. ***
Comment 8 Leo Ufimtsev CLA 2018-01-30 10:11:21 EST
*** Bug 509658 has been marked as a duplicate of this bug. ***
Comment 9 Leo Ufimtsev CLA 2018-01-30 10:17:01 EST
Adding some keywords that help me identify this issue into subject, to make it easier for users to find this bug.
Comment 10 Leo Ufimtsev CLA 2018-01-30 10:20:13 EST
*** Bug 458128 has been marked as a duplicate of this bug. ***
Comment 11 Andrey Loskutov CLA 2018-01-30 10:24:10 EST
(In reply to Leo Ufimtsev from comment #2)
> To see which webkit version is used for your eclipse:
> export SWT_LIB_VERSIONS=1
> ./eclipse
> 
> and search for LIB_SWT * lines in your console.

Shouldn't we just add this to the system properties, similar to what we already do for SWT GTK version? I doubt user will ever find this instruction above and do this before reporting bugs :-)
Comment 12 Leo Ufimtsev CLA 2018-01-30 10:31:12 EST
(In reply to Andrey Loskutov from comment #11)
> Shouldn't we just add this to the system properties, similar to what we
> already do for SWT GTK version? I doubt user will ever find this instruction
> above and do this before reporting bugs :-)

Thanks for mentioning this.

Yea, actually webkitgtk version is already printed in system properties, just below gtk:
org.eclipse.swt.internal.gtk.version=3.22.26
org.eclipse.swt.internal.webkitgtk.version=2.18.3
(Help -> about > installation details -> configuration. Search for 'webkitgtk')

The versioning is a bit hard to understand thou. Translation:
webkitgtk up to 2.4     = Webkit1.
webkitgtk 2.5 and above = Webkit2.

I should probably add it to "Copy build info" from help about right-click bit.
Comment 13 Leo Ufimtsev CLA 2018-01-31 15:48:10 EST
*** Bug 433570 has been marked as a duplicate of this bug. ***
Comment 14 Leo Ufimtsev CLA 2018-05-07 10:51:47 EDT
*** Bug 410847 has been marked as a duplicate of this bug. ***
Comment 15 Eric Williams CLA 2018-12-14 12:56:24 EST
There is no WebKit1 support anymore, closing this ticket now.