Qt Application Crash when calling app.quit() in PyTango 9.2.0 (it works with PyTango 8.1.6)
|
|
---|---|
Hi Tangoers, We try to migrate from PyTango 8.1.6 to 9.2 for our Windows clients. As we did'nt manage yet to compile PyTango 9.2.3, I use a msi installer for PyTango9.2.0. We use Python 2.7 32b. With PyTango9.2.0 within a Qt Application, if I subscribe to an attribute using pyds.subscribe_event then Python crashed when I call : app = QtGui.QApplication(sys.argv) app.quit() The same code works with PyTango 8.1.3. An example is attached. If somebody could tell me if it works on Windows with PyTango 9.2.3, it would motive us to compile ! launch: - DeclareDS - TestDevice - Client - Push OK If you have a workaround … Cheers, Christophe sample code for the client : |
|
|
---|---|
a simpler example attached. code for the client is below :
|
|
|
---|---|
Hi Christophe, you could check to see if the issue is solved in PyTango 9.2.3 using the pre-compiled binaries for Windows which are part of the continuous integration system on AppVeyor. Take a look at the slides 9 to 19 in this presentation: https://indico.eli-beams.eu/event/310/session/15/contribution/52/material/slides/1.pdf Maybe 9.2.3 solves your problem … Cheers Andy |
|
|
---|---|
Oops I was too quick. My suggestion to try out the AppVeyor Windows builds will only upgrade the Tango libraries and not PyTango. Maybe Sebastien can help you get access to PyTango AppVeyor builds. Sorry about raising false hopes … Andy |
|
|
---|---|
Hi Christophe, Although I don't have a Windows version of PyTango 9.2.3, I've tested your code (the 2nd client version) on the linux version of PyTango 9.2.2 and it works as expected. Perhaps you could download the Windows version 9.2.2 and try it. Regards, Geoff. |
|
|
---|---|
|
Hi christophe, I cannot reproduce your problem with 9.2.2 on linux neither. Could you send the error message? I recommend you try with 9.2.2. I don't see anything in the PyTango changelog that indicates your problem might be solved but since PyTango is statically linked with the tango C++ library on Windows, if you update PyTango, automatically you use the new Tango C++. So even if the problem is coming from the C++ layer, updating should make the problem disappear. Hope it helps Tiago |
|
|
---|---|
Hi Tiago and Geoff, There is no error message, just a "python.exe stopped working". Do you know if there is an installer (msi, exe) for PyTango 9.2.2 on Windows because we didn't manage to recompile. Christophe |
|
|
---|---|
Hi Cristophe, can you try this installer ? https://ci.appveyor.com/api/buildjobs/djvtxrv064gr0ipj/artifacts/pytango-9.2.3.Win32-py2.7.msi or the exe file https://ci.appveyor.com/api/buildjobs/djvtxrv064gr0ipj/artifacts/pytango-9.2.3.Win32-py2.7.exe thanks |
|
|
---|---|
Thanks Sébastien, the msi is working fine. I still get a crash but with an error message : Assertion failed: Successful WSASTARTUP not yet performed (..\..\..\src\signaler.cpp:377) |
|
|
---|---|
Hi, could it be related to ZMQ socket/context management? https://stackoverflow.com/questions/19795245/zeromq-context-singleton-provided-in-a-dll-crashes-when-program-exits-vs2010 |