Bug 1420127

Summary: Gnome Web crashes on Web pages
Product: [Fedora] Fedora Reporter: -Pv- <pvarn01>
Component: epiphanyAssignee: Michael Catanzaro <mcatanzaro+wrong-account-do-not-cc>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 25CC: gecko-bugs-nobody, mcatanzaro+wrong-account-do-not-cc, npmccallum, pvarn01, rob.townley, tpopela
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-02-09 23:50:32 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
GDB strack trace of Epiphany crash
none
new gdb stack trace for Epiphany and audio problems
none
another dgb back trace of Epiphany freeze which looks different from the others none

Description -Pv- 2017-02-07 22:29:25 UTC
Description of problem:
Crashes when loading web pages or clicking links

Version-Release number of selected component (if applicable):


How reproducible:
Every time on my system (Fedora 25 4.9.3-200.fc25.x86_64)

Steps to Reproduce:
1. use DNF or Gnome Software to install epiphany.x86_64
2. start epiphany
3. enter foxnews.com into location bar
4) crashes immediately
5) restart epiphany
6) type nasa.gog into location bar
7) observe: site loads normally
8) click on NASA TV link
9) observe: page tries to load then crashes

Actual results:
web pages and links crash the app

Expected results:
web pages and link do no crash the app

Additional info:
System has been upgraded incrementally to Fedora 25 from Fedora 23.
Firefox 50.1.0 on same system is stable.

Comment 1 Michael Catanzaro 2017-02-08 01:48:45 UTC
Hi, you'll need to provide a stacktrace so that we can see where it's crashing. The easiest way to do this would be via the built-in Problem Reporting tool, but you can also do it manually following the instructions at https://fedoraproject.org/wiki/StackTraces

Comment 2 -Pv- 2017-02-08 19:52:07 UTC
Created attachment 1248658 [details]
GDB strack trace of Epiphany crash

Comment 3 Michael Catanzaro 2017-02-08 23:46:36 UTC
It looks like WebKit is trying to use GtkSocket in Wayland. That's probably a security issue actually. But we need a much better backtrace. You'll need to install the necessary debuginfo packages before taking the backtrace. Also, for some reason it's cut off at thread seven, so we can't even see the crashing thread.

Comment 4 Michael Catanzaro 2017-02-09 00:51:17 UTC
I think the easiest way to proceed here would be to report the bug using the Problem Reporting application that's installed by default in Workstation. The hardest task here would be to figure out where in the preferences dialog to configure your Red Hat Bugzilla credentials; it's not a great user interface, but shouldn't be too hard.

Alternatively, when running gdb, look for the 'dnf debuginfo-install' command given by gdb, execute it, quit gdb, and wait for it to finish. (It may take a long time.) Then try to get the backtrace again now that you have debug symbols installed. We need the debug symbols to see where the program is crashing. When generating the backtrace, make sure to keep pressing Enter until you've reached the bottom; in the trace you attached above, you stopped for some reason halfway through, missing the thread that actually crashed.

Comment 5 -Pv- 2017-02-09 19:26:25 UTC
Created attachment 1248885 [details]
new gdb stack trace for Epiphany and audio problems

Comment 6 -Pv- 2017-02-09 20:00:03 UTC
I attached a new gdb trace text file although when running gdb Epiphany after using dnf to debuginfo-install, Epiphany would not crash in that environment although it still crashes running directly from gnome desktop exactly as before.  Gnome Problem Reporter seems to resist sending a report of the crash but my last attempt to do so resulted in:
Epiphany killed by SIGSEGV - abrt

--- Running report_uReport ---
The server at 'https://retrace.fedoraproject.org/faf' encountered an internal error (got error 500)
reporter-ureport failed with exit code 1
('report_uReport' exited with 1)

--- Running report_EmergencyAnalysis ---
Compressing data
Sending /var/tmp/ccpp-2017-02-08-11:41:31-3123.tar.gz to https://retrace.fedoraproject.org
Successfully created https://retrace.fedoraproject.org/faf/dumpdirs/new/ccpp-2017-02-08-11:41:31-3123.tar.gz
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>Redirecting...</title>
<h1>Redirecting...</h1> 

Let me know if there is anything else I need to do.  I'm not an expert in debugging Linux software and these tools are now to me.
-Pv-

Comment 7 -Pv- 2017-02-09 20:16:51 UTC
My next attempt was to run Epiphany directly from command line instead of gnome desktop icon.  The application window opens, tries to display the last URL and result:

epiphany
Vector smash protection is enabled.

(epiphany:6568): Gtk-WARNING **: GtkSocket: only works under X11

(epiphany:6568): Gdk-WARNING **: gdkwindow-x11.c:5573 drawable is not a native X11 window
Segmentation fault (core dumped)

Comment 8 -Pv- 2017-02-09 20:40:39 UTC
Created attachment 1248897 [details]
another dgb back trace of Epiphany freeze which looks different from the others

Comment 9 -Pv- 2017-02-09 20:50:20 UTC
More:
Running "dbg epiphany" as su does not crash or freeze but has the PulseAudio problem.  Running same as normal user crashes or freezes.
-Pv-

Comment 10 Michael Catanzaro 2017-02-09 21:44:30 UTC
Don't try to run anything as root. That's not expected to work!

Attachment #1248897 [details] is what I was looking for. In the future, please use 'bt full' rather than 'bt' so that we can see stack frames, but this time plain 'bt' was enough: we know that it's coming from WebKit::WebPageProxy::createPluginContainer. So I'm pretty confident that you're hitting https://bugs.webkit.org/show_bug.cgi?id=163159.

Problem is, we don't know why that crash happens!

So can you please check two more things. First, run this command in a terminal and see what it prints:

$ echo $WAYLAND_DISPLAY

I'm expecting it to print "wayland-0". If so, then it's a bug that WebKit::WebPageProxy::createPluginContainer is being called at all. We should never attempt to display windowed plugins in Wayland.

Next, could you please navigate to the page about:plugins in Epiphany and let me know which plugins you have installed? This page is expected to be kinda broken due to https://bugs.webkit.org/show_bug.cgi?id=164102, but it should at least give you an indication of which plugins you have installed.

Comment 11 Michael Catanzaro 2017-02-09 21:49:37 UTC
*** Bug 1420909 has been marked as a duplicate of this bug. ***

Comment 12 Michael Catanzaro 2017-02-09 21:50:05 UTC
In particular, do you have Flash installed? I guess so!

Comment 13 -Pv- 2017-02-09 22:07:56 UTC
$ echo $WAYLAND_DISPLAY
wayland-0 is the result I get.

about:plugins

result:
Shockwave Flash

Shockwave Flash 24.0 r0
Enabled: Yes
MIME type	Description	Suffixes
application/futuresplash	futuresplash player	spl
application/x-shockwave-flash	shockwave flash	swf

Note: This is the default installed condition.  I have not modified the plugins nor do I know how in this application.  I would never use the itunes plugin so would be interested in disabling it.  Also, foxnews.com uses HTML5 player.

-Pv-

Comment 14 -Pv- 2017-02-09 22:21:27 UTC
iTunes Application Detector

This plug-in detects the presence of iTunes when opening iTunes Store URLs in a web page with Firefox.
Enabled: Yes
MIME type	Description	Suffixes
application/itunes-plugin	(null)

Comment 15 Michael Catanzaro 2017-02-09 23:50:32 UTC
OK thanks, let's track this in the upstream bug https://bugs.webkit.org/show_bug.cgi?id=163159. That's not the default installed condition, by the way; you clearly installed Flash, which is what's causing it to crash.

The iTunes plugin is coming from Rhythmbox, so to get rid of that you'd have to uninstall Rhythmbox. That really is installed by default. The plugin should probably be split into a subpackage so that it can be removed without removing Rhythmbox itself.

*** This bug has been marked as a duplicate of bug 1382789 ***