[Webkit-unassigned] [Bug 43967] New: [Qt] Repeatedly creating and deleting QGraphicsWebView objects crashes phone

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Aug 13 06:05:18 PDT 2010


https://bugs.webkit.org/show_bug.cgi?id=43967

           Summary: [Qt] Repeatedly creating and deleting QGraphicsWebView
                    objects crashes phone
           Product: WebKit
           Version: 525.x (Safari 3.1)
          Platform: S60 Hardware
        OS/Version: Other
            Status: UNCONFIRMED
          Severity: Normal
          Priority: P2
         Component: WebKit Qt
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: andreas.jakl at nokia.com


Created an attachment (id=64330)
 --> (https://bugs.webkit.org/attachment.cgi?id=64330)
Example app to reproduce the problem

Overview:

We've faced a tough problem with QtWebKit (or that's our main suspect) that seems to crash the OS on all tested Symbian^1 phones (XM 5800, X6, N97, N97 mini, but notably not the N8).

The application uses several QGraphicsWebView objects for displaying the content. When the user selects something, it switches over to another page with a new web view, and deletes the old view. After around 30 switches back and forth between pages, this crashes the whole device resulting in graphical distortion and an immediate reboot.

Steps to reproduce:

Attached a specifically created example application that can be used to reproduce the issue. Network connection is required. Seems to happen both with WLAN and 3G connection.

Actual results:

Phone crashes and resets after letting the phone run for some time. On some phones, the application hangs and / or becomes really slow with long delays. Even reusing the web view with new content items and not re-creating them brings down the performance to very slow levels.

Expected results:

No phone reboot / good performance.

Build date & platform:

The crash has been reproduced on Nokia XM 5800, X6, N97, and N97 mini, with Qt 4.6.2 or Qt 4.6.3 installed.
We couldn't reproduce the crash with an N8 running Qt 4.6.2; we tried switching the views over 100 times. This probably doesn't mean that the bug is not there, but could be that N8's performance somehow makes the crash happen a lot less frequently.
We couldn't reproduce the bug with Qt 4.7.0-beta2.

Additional information:

1.    Currently, the views are regenerated every time they are shown anew. E.g. when the view switch is triggered, the following happens:
a.    A new QGraphicsWebView is created in the scene, to the right of the old view item.
b.    The QGraphicsWebView is initialized with HTML content already present in the application memory. The images, however, point to external locations in the internet.
c.    Both the old view and the new view are animated to the left.
d.    When the animation is finished, the QGraphicsObject representing the oldview is set invisible and then told to deleteLater().
e.    When coming back from the new view, the "old" view with its QGraphicsWebViews are created again, and the equivalent things happen to the opposite direction.
f.    Not deleting the QGraphicsObjects in between, is definitely one thing we have to try out if it would overcome this crash. However, that hardly removes the fact that the bug is there somewhere.

2.    Just before the crash, WebKit has stopped loading images (images are displayed with the "broken image link" placeholder). This might mean the problem has something to do with the network requests WebKit makes.

3.    It seems setting up a QNetworkDiskCache makes the phone crash less often, and the images never show up in the "broken image link" state. Unfortunately, we cannot use a common QNetworkAccessManager (and thus, network cache) in our application because of another issue reported in http://bugreports.qt.nokia.com/browse/QTWEBKIT-241.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list