Please Help: "response passed but not finished" in Apache error log



  • Good Morning,

    I've created a PHP extension for LAMPP/PHP from C++ source code that uses the QT framework. I'm using QCoreApplication, QObject and QEventLoop. I have a QT server running that creates a socket in the /tmp folder of Ubuntu. If I run the client from the command line, all works as expected. If I run the PHP script from Apache using an HTML file what a button that runs the client, the QT framework appears to hang and I have to click the button a second time to complete. What I see in the Apache error log is the output "response passed but not finished." My only thought currently is something is not configured correctly to handle the QT calls. My calls appear basically as follows:

    Create QCoreApplication
    Create QEventLoop
    Create QObject

    QObject->LoadInterface(...)
    QObject->Connect(...);

    QMetaObject::invokeMethod(QObject, ...);

    QEventLoop->exec(QEventLoop::WaitForMoreEvents);

    What appears to hang and cause the error output to the apache log is the call to exec. I've tried to use
    QCoreApplication::flush(); before the call to invokeMethod, but that didn't work. If anyone has an experience with this or has any clues what might be causing this issue I would greatly appreciate any help I receive.

    Thank You,
    Respectfully,
    Wes Brown.



  • I resolved this issue by adding the destructors to all the classes where QT objects were being instantiated by the constructors.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.