Qt application stack overflow exception

0

I want to call QNetworkReply::readAll as shown in Foo() such that once it completes, another time it should be called.

    QString Foo (QString& requestUrl)
    {
       QNetworkReply *pReply = NetManager::getManager()->get(requestUrl,NULL,NULL);
       QEventLoop loop;
       QObject::connect(pReply,SIGNAL(finished()),&loop,SLOT(quit()));
       loop.exec();
       return pReply->readAll();
   }

I want this because my Qt Gui application crashed with 0xC00000FD: Stack overflow exception. and in callstack, I got repeated calling of functions as shown in below callstack.

I don't understand that despite of using QEventLoop to make call to readAll() synchronous, how recursion is possible.

My Gui application is used by user to click and initiate readAll().

Is there a way to prevent the crash?

MyUtility.dll!Class::Function(l) Line abc   C++
Qt5Core.dll!0000000052b0991c()  Unknown
Qt5Widgets.dll!0000000056ff9d9a()   Unknown
Qt5Widgets.dll!0000000056ffb4ff()   Unknown
Qt5Widgets.dll!00000000570e8c57()   Unknown
Qt5Core.dll!0000000052aeb905()  Unknown
Qt5Widgets.dll!0000000056fd4ff2()   Unknown
Qt5Widgets.dll!0000000056fd35a6()   Unknown
Qt5Core.dll!0000000052ae9aea()  Unknown
Qt5Widgets.dll!0000000057021e95()   Unknown
Qt5Widgets.dll!00000000570204ee()   Unknown
Qt5Widgets.dll!0000000056fd5006()   Unknown
Qt5Widgets.dll!0000000056fd4623()   Unknown
Qt5Core.dll!0000000052ae9aea()  Unknown
Qt5Gui.dll!000007fededd3c52()   Unknown
Qt5Gui.dll!000007fededd5f67()   Unknown
Qt5Gui.dll!000007fededc379e()   Unknown
Qt5Core.dll!0000000052b2e6c5()  Unknown
user32.dll!UserCallWinProcCheckWow()    Unknown
user32.dll!DispatchMessageWorker()  Unknown
Qt5Core.dll!0000000052b2ddfc()  Unknown
qwindows.dll!000007fedd1df491() Unknown
Qt5Core.dll!0000000052ae6c61()  Unknown
MyUtility.dll!Class::Function(l) Line abc   C++
Qt5Core.dll!0000000052b0991c()  Unknown
Qt5Widgets.dll!0000000056ff9d9a()   Unknown
Qt5Widgets.dll!0000000056ffb4ff()   Unknown
Qt5Widgets.dll!00000000570e8c57()   Unknown
Qt5Core.dll!0000000052aeb905()  Unknown
Qt5Widgets.dll!0000000056fd4ff2()   Unknown
Qt5Widgets.dll!0000000056fd35a6()   Unknown
Qt5Core.dll!0000000052ae9aea()  Unknown
Qt5Widgets.dll!0000000057021e95()   Unknown
Qt5Widgets.dll!00000000570204ee()   Unknown
Qt5Widgets.dll!0000000056fd5006()   Unknown
Qt5Widgets.dll!0000000056fd4623()   Unknown
Qt5Core.dll!0000000052ae9aea()  Unknown
Qt5Gui.dll!000007fededd3c52()   Unknown
Qt5Gui.dll!000007fededd5f67()   Unknown
Qt5Gui.dll!000007fededc379e()   Unknown
Qt5Core.dll!0000000052b2e6c5()  Unknown
user32.dll!UserCallWinProcCheckWow()    Unknown
user32.dll!DispatchMessageWorker()  Unknown
Qt5Core.dll!0000000052b2ddfc()  Unknown
qwindows.dll!000007fedd1df491() Unknown
Qt5Core.dll!0000000052ae6c61()  Unknown
Qt5Core.dll!0000000052ae8d39()  Unknown
MyUtility.exe!main(int argc, char * * argv) Line abc    C++
MyUtility.exe!WinMain() C++
qt
qnetworkreply
asked on Stack Overflow Aug 4, 2017 by Zubin Polra • edited Aug 8, 2017 by Nikolai Shalakin

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0