Tallefer / qtweb

Automatically exported from code.google.com/p/qtweb
0 stars 0 forks source link

Browser crashes on www.techcrunch.com #141

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
From user:

 There seems to be a problem with the www.techcrunch.com. Most links clicked on will crash the browser. If the link is directly entered in the addressbar, no problem. If the same link is clicked in the site - crash.

-------------------

Confirmed - to check ...

Original issue reported on code.google.com by alexei.c...@gmail.com on 27 Oct 2010 at 7:32

GoogleCodeExporter commented 9 years ago
Unfortunately cannot be fixed in Browser's code

Exception is thrown from Qt core, problem with a network interface, here is a 
stack trace:

>   browser.exe!QScopedPointer<QObjectData,QScopedPointerDeleter<QObjectData> 
>::data()  Line 135 + 0x3 bytes C++
    browser.exe!qGetPtrHelper<QScopedPointer<QObjectData,QScopedPointerDeleter<QObjectData> > >(const QScopedPointer<QObjectData,QScopedPointerDeleter<QObjectData> > & p={...})  Line 2328 + 0xb bytes C++
    browser.exe!QHttpNetworkReply::d_func()  Line 154 + 0x13 bytes  C++
    browser.exe!QHttpNetworkConnectionChannel::allDone()  Line 624 + 0xe bytes  C++
    browser.exe!QHttpNetworkConnectionChannel::_q_receiveReply()  Line 480  C++
    browser.exe!QHttpNetworkConnectionChannel::_q_readyRead()  Line 874 C++
    browser.exe!QHttpNetworkConnectionChannel::qt_metacall(QMetaObject::Call _c=InvokeMetaMethod, int _id=2, void * * _a=0x0018d884)  Line 92 + 0x8 bytes   C++
    browser.exe!QMetaObject::metacall(QObject * object=0x07da594c, QMetaObject::Call cl=InvokeMetaMethod, int idx=6, void * * argv=0x0018d884)  Line 238    C++
    browser.exe!QMetaObject::activate(QObject * sender=0x07da8ab0, const QMetaObject * m=0x027d80d8, int local_signal_index=0, void * * argv=0x00000000)  Line 3272 + 0x27 bytes    C++
    browser.exe!QIODevice::readyRead()  Line 91 + 0x12 bytes    C++
    browser.exe!QAbstractSocketPrivate::canReadNotification()  Line 640 C++
    browser.exe!QAbstractSocketPrivate::readNotification()  Line 77 + 0x15 bytes    C++
    browser.exe!QAbstractSocketEngine::readNotification()  Line 155 C++
    browser.exe!QReadNotifier::event(QEvent * e=0x0018de34)  Line 1104  C++
    browser.exe!QApplicationPrivate::notify_helper(QObject * receiver=0x0f228908, QEvent * e=0x0018de34)  Line 4396 + 0x11 bytes    C++
    browser.exe!QApplication::notify(QObject * receiver=0x0f228908, QEvent * e=0x0018de34)  Line 3798 + 0x10 bytes  C++
    browser.exe!QCoreApplication::notifyInternal(QObject * receiver=0x0f228908, QEvent * event=0x0018de34)  Line 732 + 0x15 bytes   C++
    browser.exe!QCoreApplication::sendEvent(QObject * receiver=0x0f228908, QEvent * event=0x0018de34)  Line 215 + 0x39 bytes    C++
    browser.exe!qt_internal_proc(HWND__ * hwnd=0x000f04b0, unsigned int message=1024, unsigned int wp=2584, long lp=1)  Line 488 + 0xf bytes    C++
    user32.dll!76b56238()   
    [Frames below may be incorrect and/or missing, no symbols loaded for user32.dll]    
    user32.dll!76b568ea()   
    user32.dll!76b56899()   
    user32.dll!76b57d31()   
    user32.dll!76b57dfa()   
    browser.exe!QEventDispatcherWin32::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags={...})  Line 806  C++
    browser.exe!QGuiEventDispatcherWin32::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags={...})  Line 1170 + 0x14 bytes C++
    browser.exe!QEventLoop::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags={...})  Line 150 C++
    browser.exe!QEventLoop::exec(QFlags<enum QEventLoop::ProcessEventsFlag> flags={...})  Line 201 + 0x2d bytes C++
    browser.exe!QCoreApplication::exec()  Line 1009 + 0x15 bytes    C++
    browser.exe!QApplication::exec()  Line 3673 C++
    browser.exe!main(int argc=1, char * * argv=0x04644458)  Line 67 + 0x5 bytes C++
    browser.exe!WinMain(HINSTANCE__ * instance=0x00400000, HINSTANCE__ * prevInstance=0x00000000, char * __formal=0x02d44b13, int cmdShow=1)  Line 131 + 0x12 bytes C++
    browser.exe!__tmainCRTStartup()  Line 263 + 0x2c bytes  C
    browser.exe!WinMainCRTStartup()  Line 182   C
    kernel32.dll!75103677()     
    ntdll.dll!77239d72()    
    ntdll.dll!77239d45()    
    browser.exe!JSC::JSVariableObject::symbolTablePutWithAttributes(const JSC::Identifier & propertyName={...}, JSC::JSValue value={...}, unsigned int attributes=3246652493)  Line 148 + 0xc bytes C++
    e58b0cc4()  

Hopefully wll be fixed in the next Qt release update.

Original comment by alexei.c...@gmail.com on 29 Oct 2010 at 7:00

GoogleCodeExporter commented 9 years ago
QtWeb Build 3.5.59

As a workaround, in Qt 4.7.0 source file 
"c:\Qt\4.7.0\src\network\access\qhttpnetworkconnectionchannel.cpp" added 
condition to avoid NULL pointers, this removes browser crash, but this 
particular page "hangs-up", however the browser is still operational with other 
pages

void QHttpNetworkConnectionChannel::allDone()
{
 .....
    if (!reply)
        return;

    // while handling 401 & 407, we might reset the status code, so save this.
    bool emitFinished = reply->d_func()->shouldEmitSignals();
.....

Original comment by alexei.c...@gmail.com on 29 Oct 2010 at 7:16