GNOME Bugzilla – Bug 784234
Inspect Element causes WebKitWebProcess Segmentation fault
Last modified: 2017-06-30 15:51:47 UTC
No big deal, but: User starts epiphany for the first time and sees "Welcome to Web". This is poor English [BUG] and he wishes to copy and paste it into a bug report. He moves the cursor (pointer) over it and the cursor indeed changes into an "I", but he cannot highlight and copy it [BUG!]. He also notices this window is called "Most Visited", but that only shows up in the (icewm) window list, no where on the screen. [ODD!] OK, in an effort to copy the poor English, he right clicks and picks "Inspect Element", this time producing text he can indeed copy, "Oops! Something went wrong while displaying this page. Please reload or visit a different page to continue."[Hmmm].
(In reply to Dan Jacobson from comment #0) > No big deal, but: > User starts epiphany for the first time and sees > "Welcome to Web". This is poor English [BUG] and he wishes to copy and > paste it into a bug report. I don't think it's bad English. The app is named "Web" and the welcome screen is there to welcome you to it. On the other hand, it's certainly confusing if you're expecting it to be welcoming you to "the Web" rather than Web the app. I'm open to suggestions here. > He moves the cursor (pointer) over it and the cursor indeed changes into > an "I", but he cannot highlight and copy it [BUG!]. Load up ephy-resource:///org/gnome/epiphany/page-templates/about.css and look at this section: .overview-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; margin-left: auto; margin-right: auto; height: 80%; max-width: 800px; opacity: 0.55; /* Adwaita's dim-label */ -webkit-user-select: none; -webkit-user-drag: none; } It's caused by the use of -webkit-user-select: none. I don't remember why I decided the text should be unselectable, but it was intentional. It seems that other apps follow this pattern, at least the first one I checked: the Bluetooth dialog in control-center with no Bluetooth available. I can't drag the bluetooth image, and the text underneath the image is not selectable. My goal was to mimic a native GNOME empty state dialog, so I think that's probably right. > He also notices this window is called "Most Visited", but that only > shows up in the (icewm) window list, no where on the screen. [ODD!] Good catch. It's by design that the title is not displayed in the window in this case, but certainly the window title should be something different than "Most Visited" when there is no history. That's a (minor) bug that we should fix. > OK, in an effort to copy the poor English, he right clicks and picks > "Inspect Element", this time producing text he can indeed copy, > "Oops! > Something went wrong while displaying this page. > > Please reload or visit a different page to continue."[Hmmm]. And this is a serious bug. It indicates that the WebKit process displaying the content has crashed, which should never happen. Since I can't reproduce this either, we need a backtrace. But it's going to be harder to get than in your other bug, because you can't directly run the WebKit process. Normally I would tell you to get the backtrace out of coredumpctl, which is the greatest tool ever, but I know you won't have that enabled since you're using Debian. So instead, ensure you have only one Epiphany window with one tab open, then try attaching to the WebKitWebProcess with 'gdb -p'. Hit 'c' for "continue" and then you can reproduce the bug and get a backtrace that we can use. Once we have a backtrace, we'll be able to report that on WebKit Bugzilla.
Well all I know is here in Debian I do $ epiphany so it should say Welcome to Epiphany. I suppose "Web" is some kind of Gnome thing but I don't think I'm using (most of?) Gnome. All I know is I am using 'nodm' and 'icewm'. I would have never guessed in 1000000 years that the process/app/whatever is called "Web". Hmmm, $ ps 8998 pts/0 00:00:01 epiphany 9019 pts/0 00:00:00 WebKitNetworkPr 9025 pts/0 00:00:00 WebKitWebProces but that's as close as I get. If the text is to be unselectable, then the pointer should stay as an arrow, and not become an "I", misleading users... OK on my other machine Inspect Element works fine, only producing (epiphany:9480): Gtk-WARNING **: Allocating size to WebKitWebViewBase 0x562a1be282f0 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate? So I will try it again soon on the bad machine and report back...
(In reply to Dan Jacobson from comment #2) > Well all I know is here in Debian I do > $ epiphany > so it should say Welcome to Epiphany. To be clear, the user-visible name of this application is Web. "epiphany" is just a codename for developers and the name of the binary. Of course, Debian could patch this if it wants, but I doubt it would want to. > If the text is to be unselectable, then the pointer should stay as an > arrow, and not become an "I", misleading users... Good point. This is also a (minor) bug in WebKit. It would make sense to report this at the same time as reporting the more serious crash. > OK on my other machine Inspect Element works fine, only producing > > (epiphany:9480): Gtk-WARNING **: Allocating size to WebKitWebViewBase > 0x562a1be282f0 without calling gtk_widget_get_preferred_width/height(). How > does the code know the size to allocate? > > So I will try it again soon on the bad machine and report back... Thanks! So to keep track, there are three bugs here: * Window title is "Most Visited" before anything has been visited (Epiphany bug) * Cursor should not change when hovering non-selectable element (WebKit bug) * Web process crash (WebKit bug)
1. I have now used your browser for a week and have got used to its two names. But new users will think it is poor English but I don't care anymore. 2. Please file a Window title is "Most Visited" before anything has been visited (Epiphany bug) if you understand the issue. 3. Please file a Cursor should not change when hovering non-selectable element (WebKit bug) if you understand the issue. 4. as for Web process crash (WebKit bug): > Once we have a backtrace, we'll be able to report that on WebKit Bugzilla. Browse a local file:///... Right click "Inspect Element" on something. I always get "Oops! Something went wrong while displaying this page. Please reload or visit a different page to continue." (By the way, big name browsers would add the error code name in the message shown to the user here, "Error code: COMS_NOT_AUTHORIZED" etc.) journalctl shows 6月 29 10:10:10 jidanni3 kernel: WebKitWebProces[1753]: segfault at 1 ip b26aa430 sp bfd7e97c error 4 in libglib-2.0.so.0.5303.0[b2630000+12b000] Hmmm, in fact doing Inspect Element on some empty part of the "Most Visited" tab does the same: $ epiphany& [1] 2729 $ (WebKitWebProcess:2748): GLib-CRITICAL **: g_variant_new_string: assertion 'string != NULL' failed (WebKitWebProcess:2748): GLib-CRITICAL **: g_variant_new_string: assertion 'string != NULL' failed (WebKitWebProcess:2748): GLib-CRITICAL **: g_variant_new_string: assertion 'string != NULL' failed (WebKitWebProcess:2748): GLib-CRITICAL **: g_variant_new_string: assertion 'string != NULL' failed gdb -p `pidof WebKitWebProcess` GNU gdb (Debian 8.0-1) 8.0... Attaching to process 2748 [New LWP 2749]... [New LWP 2769] [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1". 0xb7769cf9 in __kernel_vsyscall () (gdb) c (And then I click Inspect Element.) Continuing. [Thread 0xa5a6db40 (LWP 2765) exited] [New Thread 0xa5a6db40 (LWP 2797)] Thread 1 "WebKitWebProces" received signal SIGSEGV, Segmentation fault. 0xb2718430 in g_utf8_validate () from /lib/i386-linux-gnu/libglib-2.0.so.0 (gdb) (WebKitWebProcess:2804): GLib-CRITICAL **: g_variant_new_string: assertion 'string != NULL' failed (WebKitWebProcess:2804): GLib-CRITICAL **: g_variant_new_string: assertion 'string != NULL' failed (WebKitWebProcess:2804): GLib-CRITICAL **: g_variant_new_string: assertion 'string != NULL' failed (epiphany:2729): Gtk-WARNING **: Allocating size to WebKitWebViewBase 0x818f3400 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate? bt
+ Trace 237600
Thanks for taking the time to report this. Unfortunately, that stack trace is missing some elements that will help a lot to solve the problem, so it will be hard for the developers to fix that crash. Can you get us a stack trace with debugging symbols? Please see https://wiki.gnome.org/Community/GettingInTouch/Bugzilla/GettingTraces for more information on how to do so and reopen this bug report. Thanks in advance!
Thread 1 "WebKitWebProces" received signal SIGSEGV, Segmentation fault. g_utf8_validate (str=0x1 <error: Cannot access memory at address 0x1>, max_len=-1, end=0x0) at ../../../../glib/gutf8.c:1660 1660 ../../../../glib/gutf8.c: No such file or directory. (gdb) bt full
+ Trace 237606
(gdb)
Note I am using a 32 bit machine today...
OK great, that's exactly what we're looking for! Next step is to move the report to WebKit Bugzilla, since this is a bug in WebKit. Since you already have an account there, I trust you can do that: Thanks for taking the time to report this. This issue is most likely a bug in WebKit. Please report the bug to https://bugs.webkit.org/ including a link to this bug report and noting the version of WebKitGTK+ that you have installed. When reporting the WebKit bug, be sure to include the prefix '[GTK]' in the bug summary and select the 'WebKit Gtk' component.
OK made https://bugs.webkit.org/show_bug.cgi?id=174026 .