https://bugs.winehq.org/show_bug.cgi?id=39028
Bug ID: 39028 Summary: Built-in iexplore crashes when opening forum/blog entries on hup.hu (crash in get_frame_by_name("yterr") Product: Wine Version: 1.7.48 Hardware: x86 OS: Linux Status: NEW Keywords: download, source Severity: normal Priority: P2 Component: mshtml Assignee: wine-bugs@winehq.org Reporter: gyebro69@gmail.com Distribution: ---
Created attachment 51990 --> https://bugs.winehq.org/attachment.cgi?id=51990 terminal output
HUP (Hungarian Unix Portal) is a Hungarian IT portal (not exclusively for Unix/Linux).
The main page loads properly but opening the forums "fórumok" or blog pages "blogok" results in a crash shortly after the page was loaded.You can see the most recent forum posts on the main page, clicking on any of those links also triggers the crash.
wine iexplore http://hup.hu/
Native IE (whether it is IE6 or IE7) when installed with winetricks works around the problem.
wine-1.7.48-100-ge3c6777
https://bugs.winehq.org/show_bug.cgi?id=39028
Indrek efbiaiinzinz@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |efbiaiinzinz@hotmail.com
--- Comment #1 from Indrek efbiaiinzinz@hotmail.com --- After some digging, it seems that the issue/feature lies withing Gecko codebase.
Wine code on line 380 in mshtml/htmlwindow.c is: nsres = nsIDOMWindow_GetFrames(This->nswindow, &nsframes); if(NS_FAILED(nsres)) { FIXME("nsIDOMWindow_GetFrames failed: 0x%08x\n", nsres); return E_FAIL; }
When viewing Gecko source code from https://github.com/mozilla/gecko-dev/blob/b6ea902b969546b6ae6c2d43e68b193bfb... on line 4129 the source of that function is: NS_IMETHODIMP nsGlobalWindow::GetFrames(nsIDOMWindowCollection** aFrames) { FORWARD_TO_OUTER(GetFrames, (aFrames), NS_ERROR_NOT_INITIALIZED);
*aFrames = GetWindowList(); NS_IF_ADDREF(*aFrames); return NS_OK; }
The definition of GetWindowList is in the same file (right before GetFrames): nsDOMWindowList* nsGlobalWindow::GetWindowList() { MOZ_ASSERT(IsOuterWindow());
if (!mFrames && mDocShell) { mFrames = new nsDOMWindowList(mDocShell); }
return mFrames; }
So as seen, there exists a chance that when mDocShell is NULL the GetWindowList will return also NULL (will not return any error codes).
When viewing the same file for usage of GetWindowList() there seem to be NULL checks for it in Gecko source: void nsGlobalWindow::GetSupportedNames(nsTArray<nsString>& aNames) { FORWARD_TO_OUTER_VOID(GetSupportedNames, (aNames));
nsDOMWindowList* windows = GetWindowList(); if (windows) { ...
nsDOMWindowList* windows = GetWindowList(); NS_ENSURE_TRUE(windows, nullptr); ...
So all of it put together, to behave more like Gecko in this manner, Wine should also check for NULL nsframes.
https://bugs.winehq.org/show_bug.cgi?id=39028
--- Comment #2 from Indrek efbiaiinzinz@hotmail.com --- Created attachment 52042 --> https://bugs.winehq.org/attachment.cgi?id=52042 patch
Attached patch that fixes the crash.
https://bugs.winehq.org/show_bug.cgi?id=39028
--- Comment #3 from Béla Gyebrószki gyebro69@gmail.com --- *** Bug 39029 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=39028
Béla Gyebrószki gyebro69@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch
--- Comment #4 from Béla Gyebrószki gyebro69@gmail.com --- Indrek, would you mind sending the patch to wine-patches for review?
https://bugs.winehq.org/show_bug.cgi?id=39028
--- Comment #5 from Indrek efbiaiinzinz@hotmail.com --- Yes, just sent it in https://source.winehq.org/patches/data/113539
It took some time because for some reason the sendmail (in the VM I used for testing) refused to send out any e-mails (although a few months back all worked fine and VM has been powered down since).
https://bugs.winehq.org/show_bug.cgi?id=39028
Béla Gyebrószki gyebro69@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |2cfe3cac0ce15e97b1b3fe374ad | |6f3d8da4075e7 Status|NEW |RESOLVED Resolution|--- |FIXED
--- Comment #6 from Béla Gyebrószki gyebro69@gmail.com --- The patch was committed as http://source.winehq.org/git/wine.git/commit/2cfe3cac0ce15e97b1b3fe374ad6f3d...
Fixed in wine-1.7.49-104-gbd7f43d, thanks again Indrek for fixing this bug.
https://bugs.winehq.org/show_bug.cgi?id=39028
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #7 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 1.7.50.