Bug 78845 - [BlackBerry] Crash @WebPagePrivate::enqueueRenderingOfClippedContentOfScrollableNodeAfterInRegionScrolling
Summary: [BlackBerry] Crash @WebPagePrivate::enqueueRenderingOfClippedContentOfScrolla...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Antonio Gomes
URL:
Keywords:
Depends on:
Blocks: 73144
  Show dependency treegraph
 
Reported: 2012-02-16 14:46 PST by Antonio Gomes
Modified: 2012-02-16 16:07 PST (History)
0 users

See Also:


Attachments
(landed r107991) patch (4.01 KB, patch)
2012-02-16 14:50 PST, Antonio Gomes
rwlbuis: review+
rwlbuis: commit-queue-
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Antonio Gomes 2012-02-16 14:46:53 PST
Go to a webpage that has in-region scrollable areas, and scroll down/up by
swiping a lot. While page it kinetic scrolling the in-region scrollable area,
press BACK. you will eventually hit this crash below:

warning: Could not load shared library symbols for 7 libraries, e.g.
libCore.so.
Use the "info sharedlibrary" command to see the complete listing.
Do you need "set solib-search-path" or "set sysroot"?
Program terminated with signal 11, Segmentation fault.
#0  0x7bc5c68e in
BlackBerry::WebKit::WebPagePrivate::enqueueRenderingOfClippedContentOfScrollableNodeAfterInRegionScrolling
(this=0x7dfad0e0, scrolledNode=<optimized out>)
    at
/home/agomes/Devel/RIM/Winchester/webkit/Source/WebKit/blackberry/Api/WebPage.cpp:1172
1172            frameRect =
frame->tree()->parent()->view()->contentsToWindow(frameRect);
(gdb) 
(gdb) bt
#0  0x7bc5c68e in
BlackBerry::WebKit::WebPagePrivate::enqueueRenderingOfClippedContentOfScrollableNodeAfterInRegionScrolling
(this=0x7dfad0e0, scrolledNode=<optimized out>)
    at
/home/agomes/Devel/RIM/Winchester/webkit/Source/WebKit/blackberry/Api/WebPage.cpp:1172
#1  0x7bc5c7ee in notifyInRegionScrollStatusChanged (status=false,
this=0x7dfad0e0) at
/home/agomes/Devel/RIM/Winchester/webkit/Source/WebKit/blackberry/Api/WebPage.cpp:1145
#2  BlackBerry::WebKit::WebPage::notifyInRegionScrollStatusChanged
(this=<optimized out>, status=<optimized out>)
    at
/home/agomes/Devel/RIM/Winchester/webkit/Source/WebKit/blackberry/Api/WebPage.cpp:1138
#3  0x78b177ba in BlackBerry::Platform::MethodDelegate1<void
(BlackBerry::WebKit::WebPage::*)(bool), BlackBerry::WebKit::WebPage,
bool>::execute (this=0x7d4bfd90)
    at
/home/agomes/Devel/RIM/Winchester/staging/usr/include/browser/platform/BlackBerryPlatformMessageDelegate.h:804
#4  0x78bed560 in BlackBerry::Platform::ExecutableMessage::execute
(this=<optimized out>)
    at
/home/agomes/Devel/RIM/Winchester/platform/blackberryplatform/BlackBerryPlatformExecutableMessage.cpp:38
#5  0x78bf8e98 in BlackBerry::Platform::MessageClient::executeMessage
(this=0x7a32e0a8, message=0x7d8a0910, returnCode=0)
    at
/home/agomes/Devel/RIM/Winchester/platform/blackberryplatform/BlackBerryPlatformMessageClient.cpp:619
#6  0x78bf984e in BlackBerry::Platform::MessageClient::coalesceMessage
(this=0x7a32e0a8, message=0x7d8a0910, returnCode=0)
    at
/home/agomes/Devel/RIM/Winchester/platform/blackberryplatform/BlackBerryPlatformMessageClient.cpp:605
#7  0x78bf98ea in BlackBerry::Platform::MessageClient::receivePendingMessage
(this=0x7a32e0a8, timeout=<optimized out>)
    at
/home/agomes/Devel/RIM/Winchester/platform/blackberryplatform/BlackBerryPlatformMessageClient.cpp:580
#8  0x78bf99fc in BlackBerry::Platform::MessageClient::exec (this=0x7a32e0a8)
at
/home/agomes/Devel/RIM/Winchester/platform/blackberryplatform/BlackBerryPlatformMessageClient.cpp:528
#9  0x78b130ea in WebKitThread::exec (this=0x7a32e090) at
/home/agomes/Devel/RIM/Winchester/libwebview/WebKitThread.cpp:134
#10 0x78bf65aa in BlackBerry::Platform::MessageClient::run (context=<optimized
out>)
    at
/home/agomes/Devel/RIM/Winchester/platform/blackberryplatform/BlackBerryPlatformMessageClient.cpp:516
#11 0x0137faec in timer_settime (timerid=<optimized out>, flags=<optimized
out>, value=<optimized out>, ovalue=0x0) at
/builds/Trunk-Worldbuild/latest/svn/lib/c/1b/timer_settime.c:37
#12 0x00000000 in ?? ()

This is due to the asynchronous-ness of this method call, and a lack of clean
up of our cached variable.

I will fix it up shortly...
Comment 1 Antonio Gomes 2012-02-16 14:47:13 PST
internal bug id: 138383
Comment 2 Antonio Gomes 2012-02-16 14:50:27 PST
Created attachment 127449 [details]
(landed r107991) patch
Comment 3 Rob Buis 2012-02-16 14:57:49 PST
Comment on attachment 127449 [details]
(landed r107991) patch

View in context: https://bugs.webkit.org/attachment.cgi?id=127449&action=review

LGTM

> Source/WebKit/blackberry/ChangeLog:13
> +        (WebCore::FrameLoaderClientBlackBerry::dispatchDidCommitLoad):

Did dispatchDidCommitLoad actually change?