Details
-
Bug
-
Resolution: Invalid
-
P1: Critical
-
None
-
5.0.0 Beta 1
-
None
-
Windows 7, x86 msvc2008
Description
If I start the remotedialerservice and then start the servicebrowser and try to browse to it,
it connects (because it shows all methods and properties of the remote object), but then
it seems to spin/reenter inside qremoteserviceregister_ls_p.cpp (readIncoming()) because it flushes the console with ~50 of these warnings:
"io\qiodevice.cpp(929):QIODevice::read: Called with maxSize < 0"
It seems to be because of the call to read() at qremoteserviceregister_ls_p.cpp(219), and upon further investigation it seems that this happens
because it gets uninitialized data from the local socket when it tries to read the header length of a package (0xcdcdcdcd).
STEPS TO REPRODUCE:
The autotest tests\auto\serviceframework\qremoteserviceregister
demonstrates the same problem and it seems to hang in tst_instanceClosed before it finally times out:
QWARN : tst_QRemoteServiceRegister::tst_instanceClosed() SFW IPC failure, remote end failed to respond to blocking IPC call in 30 seconds. "" QDEBUG : tst_QRemoteServiceRegister::tst_instanceClosed() class QObject *__thiscall ObjectEndPoint::constructProxy(const class QRemoteServiceRegister::Entry &) response passed but not finished QWARN : tst_QRemoteServiceRegister::tst_instanceClosed() SFW create object QWARN : tst_QRemoteServiceRegister::tst_instanceClosed() Couldn't load service interface for "RSRExampleService" FAIL! : tst_QRemoteServiceRegister::tst_instanceClosed() 'o' returned FALSE. () .\tst_qremoteserviceregister.cpp(241) : failure location
(which surprises me, since I thought it was under CI control)