[Interest] QScriptProgram and multi-threading

Christian Schneider mail at chrschn.de
Mon Jan 21 13:32:08 CET 2013


Hi all.

I have written a multi-threaded program (Qt 4.8.3) that executes
QtScript code in multiple threads, each thread with its own
QScriptEngine. The script code is wrapped in QScriptProgram object.

Is the same QScriptProgram object supposed to be usable in multiple
script engines concurrently? If the answer is yes, I think I found a
bug, because it seems that this is not the case. (I'm happy to file a
bug report then). If the answer is no, the API documentation of
QScriptProgram and QScriptEngine is misleading and should be updated.

To find the root cause for the problem, I tried to analyze the threads
using Helgrind, and it spits out a lot of errors like the following:
http://img145.imageshack.us/img145/9094/helgrind.png

This seems to be consistent with what I see in the debugger: When my
application crashes, at least one of the threads almost always is in the
control path of some JIT-related functions of the JS engine.

Any thoughts would be welcome.

-Christian



-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 263 bytes
Desc: OpenPGP digital signature
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20130121/7ac326fd/attachment.sig>


More information about the Interest mailing list