Bug 1322550

Summary: GtkLauncher.exe from mingw64-webkitgtk Crashes in libjavascriptcoregtk-1.0.0.dll.
Product: [Fedora] Fedora EPEL Reporter: Tony Kubalak <apk>
Component: mingw-webkitgtkAssignee: Erik van Pienbroek <erik-fedora>
Status: CLOSED EOL QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: epel7CC: apk, dennis, djw8605, erik-fedora, kevin, mastahnke, tuxator, yselkowi
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-02-13 11:42:35 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:

Description Tony Kubalak 2016-03-30 17:28:46 UTC
Description of problem:  When loading an html file that includes jquery-1.10.2.min.js (or any other jquery release) in GtkLauncher.exe on windows 7 a crash occurs in libjavascriptcoregtk.  The offset is 0xa4944 as listed in the windows crash details.  The reason for the crash is seg fault.


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

epel-7


How reproducible:

Every time.

Steps to Reproduce:
1.On Windows run the program GtkLauncher.exe from the mingw64-webkitgtk package.
2.Load a url that uses jquery.  "http://www.msnbc.com" is one.
3.The crash will occur almost immediately.

Actual results:


Expected results:


Additional info:

To narrow the problem area I created a small html file that only included jquery-1.10.2.min.js.  I then loaded that in GtkLauncher.exe on windows.  The program crashed in the same place.

Comment 1 Kevin Fenzi 2016-03-30 17:41:24 UTC
Moving this to the right component...

Comment 2 Erik van Pienbroek 2016-04-05 07:00:22 UTC
Could you please try to generate a backtrace using gdb so we can find out where the crash happens in the code. This can be achieved by following these steps:

On your RHEL/CentOS machine:
* Install the mingw64-gdb package using yum
* Install the debug symbols with the command: yum --enablerepo=epel-debuginfo install mingw64-webkitgtk-debuginfo

Now copy the following the files to your Windows environment and put them in the same folder as your other libraries/executables:
/usr/x86_64-w64-mingw32/sys-root/mingw/bin/gdb.exe
/usr/x86_64-w64-mingw32/sys-root/mingw/bin/libexpat-1.dll
/usr/x86_64-w64-mingw32/sys-root/mingw/bin/GtkLauncher.exe.debug
/usr/x86_64-w64-mingw32/sys-root/mingw/bin/jsc-1.exe.debug
/usr/x86_64-w64-mingw32/sys-root/mingw/bin/libjavascriptcoregtk-1.0-0.dll.debug
/usr/x86_64-w64-mingw32/sys-root/mingw/bin/libwebkitgtk-1.0-0.dll.debug

Now open a cmd window, navigate to the correct folder and execute 'gdb GtkLauncher'. Once your inside gdb perform the command 'run'. Now you can try to reproduce the crash. Once the program has crashed, perform the commands 'bt' and 'bt full' in the gdb session and attach its output to this bug

Comment 3 Tony Kubalak 2016-04-05 23:54:25 UTC
Here is the output from running a debug version of GtkLauncher.  All the html file does is to include jquery-1.10.2.min.js.  When I don't include this file it will work.

Program received signal SIGSEGV, Segmentation fault.
0x00000000022b4944 in cti_vm_handle_exception () at ../Source/JavaScriptCore/jit/JITStubs.cpp:2167
2167    ../Source/JavaScriptCore/jit/JITStubs.cpp: No such file or directory.

(gdb) bt
#0  0x00000000022b4944 in cti_vm_handle_exception () at ../Source/JavaScriptCore/jit/JITStubs.cpp:2167
warning: (Internal error: pc 0x22ae884 in read in psymtab, but not in symtab.)

warning: (Internal error: pc 0x22ae884 in read in psymtab, but not in symtab.)

warning: (Internal error: pc 0x22ae884 in read in psymtab, but not in symtab.)

warning: (Internal error: pc 0x22ae884 in read in psymtab, but not in symtab.)

#1  0x00000000022ae885 in ctiVMHandleException ()
   from C:\Program Files (x86)\Apprentice2\lib\libjavascriptcoregtk-1.0-0.dll
warning: (Internal error: pc 0x22ae884 in read in psymtab, but not in symtab.)

#2  0x000000000022e5a0 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Comment 4 Erik van Pienbroek 2016-04-17 18:12:26 UTC
Could you test if the package from http://koji.fedoraproject.org/koji/taskinfo?taskID=13694676 works better for you? It is an update to a more recent version of webkitgtk

Comment 5 Tony Kubalak 2016-04-18 23:09:06 UTC
It is better, but it still doesn't work properly.  GtkLauncher.exe does not crash, but it does not render javascript code well.  For example look at the following link in firefox or some other browser and then look at the same link in GtkLauncher.exe.  At this point they are not the same, but bad behavior is not obvious.  However, click the "Default Functionality" link on the left.  Now the differences in these two views show that the javascript is not being rendered properly.  The link is:  http://www.jqwidgets.com/jquery-widgets-demo/demos/jqxtabs/index.htm#demos/jqxtabs

I also found a difference if the GtkLauncher window is smaller.  In this case the introduction paragraph in the initial link becomes the title in the GtkLauncher title bar.

I tried these two links in the 32-bit version of GtkLauncher.exe from the mingw32-webkitgtk epel package and it works fine.

Comment 6 Yaakov Selkowitz 2016-11-13 17:29:46 UTC
The latest mingw64 packages don't crash with this patch, but JavaScript definitely isn't working properly either.  This can be seen by trying GtkLauncher at http://html5test.com/; the page loads but the tests never finish.

Comment 7 Richard W.M. Jones 2020-02-13 11:42:35 UTC
All mingw-* EPEL 7 components have been retired.  Please see:

https://pagure.io/fesco/issue/2333

Therefore this bug no longer applies and is being mass closed.