RE: [Zope] Zope 2.5.0b4/2.4.x crashes
Source code for the extension is at http://www.thuban.org/projects (see AstroMath). As suggested, I set up a couple threading/non-threading tests outside of Zope. Here are the results, and the sourcecode for the scripts. My guess now is that it's a Python error, or something that I don't know about how C-extensions behave under Python threads. AstroMathTest.py -- threaded, import outside of the thread run() method AstroMathTest-2.py -- threaded, import inside the thread run() method AstroMathTest-3.py -- unthreaded, import outside of the class AstroMathTest.py triggers an abnormal termination (when running under Zope, this crashes the server). The others execute normally. ---------- Keith J. Farmer kfarmer@thuban.org http://www.thuban.org D:\Users\kfarmer\Desktop>AstroMathTest.py abnormal program termination D:\Users\kfarmer\Desktop>AstroMathTest-2.py Period: 2448976 - 2448982 Body: 2 N: 1000 Results: [(-10239.349040235875, 1251.1652772821858, -5496.6220548625606, 51274.9 53459961718, -206301.84922582778, 460502.53941229283), (3.2679109787377607, -135 .6962193181536, -199.45658237327001, 12202.821401570927, -157124.72908036769, 12 05113.4818641837), (0.41752859359838751, 1.7776704736485571, -12.673879235861317 , -106.15373488272769, 1133.234164492935, -6902.3318907419343)] Period: 2448976 - 2449067 Body: 9 N: 1000 Results: [(287.98364420672812, 4.1126841002230572, -0.011082571365048428, -0.002 8990940486140681, 0.0091456171007818048, -0.0023508733523008038), (-0.4314454132 874721, -0.045976323069640314, 0.0012300667332541073, 1.4911799720493891e-005, - 6.6414232785952655e-005, 0.00012924994264322819), (19.570152597202206, 0.0619786 88999307245, -0.00097406579798330561, 0.00090494391238523405, -0.003583331057906 0948, 0.0047379229395861609)] Period: 2448976 - 2449010 Body: 2 N: 1000 Results: [(-10239.348643429543, 1251.003681396081, -5483.5515126184919, 51109.86 3896315524, -219235.21057991375, 810132.71983693726), (3.2689078168908492, -136. 20534786325385, -136.04987455483274, 8924.1019692440859, -75505.413571723024, 34 4372.13770327822), (0.41751500632241678, 1.7840128152238572, -13.381959141681486 , -74.062877111367413, 445.92397716704875, -665.34152725392778)] All threads completed D:\Users\kfarmer\Desktop>AstroMathTest-3.py Period: 2448976 - 2449003 Body: 2 N: 1000 Results: [(-10239.348975676005, 1251.1425823831078, -5496.7888457231365, 51584.1 48366467409, -226341.59545085297, 847763.8068514691), (3.268369386507203, -135.9 7655469686643, -158.19119069105136, 9729.4932483937864, -87754.834019993446, 410 204.00677085714), (0.4175246669475709, 1.7799845370127327, -12.999161326210897, -87.738413865454802, 650.23756109944247, -1744.1836844830825)] Period: 2448976 - 2448982 Body: 6 N: 1000 Results: [(-981.43530705578974, 174.81971790840851, -43.979617112478337, 39.7926 31131402359, 9.9104070099232775, 6.2143370765762951), (1.3964600969705743, 3.703 8277998777773, -7.4353275545974817, -1.6166923220752221, 6.2503824630868579, -7. 9853824343306314), (1.5903224291707663, 0.40258974548554582, -0.3925627801526973 5, -0.55855403338606679, 0.48021519119362804, 0.38498396222805825)] Period: 2448976 - 2449075 Body: 2 N: 1000 Results: [(-10243.831880826461, 1825.1908096745419, -21196.163255795575, 192251. 50787759182, -570528.83454192919, 482519.3051117654), (1.1206641242181234, 151.4 5981349096382, -8502.2169261519302, 92353.897615713213, -355123.92413740553, 449 769.85125815234), (0.42448055258943779, 0.58474259832985709, 32.255979151714399, -701.70688036347042, 3828.7795007674963, -6288.2151422017569)] All threads completed
Source code for the extension is at http://www.thuban.org/projects (see AstroMath).
As suggested, I set up a couple threading/non-threading tests outside of Zope. Here are the results, and the sourcecode for the scripts. My guess now is that it's a Python error, or something that I don't know about how C-extensions behave under Python threads.
AstroMathTest.py -- threaded, import outside of the thread run() method AstroMathTest-2.py -- threaded, import inside the thread run() method AstroMathTest-3.py -- unthreaded, import outside of the class
AstroMathTest.py triggers an abnormal termination (when running under Zope, this crashes the server). The others execute normally.
Keith - I can't look into the specifics of this, but it very much looks like a thread-related problem in the interaction with the library you are calling. Note that "how C extensions behave under Python threads" depends totally on what your C extension does. If you are calling an external library, then you have to play by whatever threading rules it requires. It really depends on the library. You might try using Py_BEGIN_ALLOW_THREADS and friends or other tactics to serialize calls to the library, but even that is no guarantee depending on what kind of thread-dependent things your library may or may not do internally. Brian Lloyd brian@zope.com Software Engineer 540.361.1716 Zope Corporation http://www.zope.com
I just linked to www.zope.org to download a new copy of zope installation. And was confused by the "Zope News". Zope 2.4.4beta1 is released later than 2.5.0 final. What's happen? Back to the future? Iap, Singuan
Zope 2.5.0 is the latest stable release with new features like sessions. It should be used with Python 2.1.2. Zope 2.4.4 is a bugfix release that is just like all the other Zopes in the 2.4.X series (no new features) except it has bugfixes for some problems that caused Zope 2.4.X to crash. It should be used with Python 2.1.2 as well. If you're new to Zope or you just want to "play around", 2.5.0 is the way to go. If you have production sites running 2.4.0, 2.4.1, 2.4.2, or 2.4.3, and you can't go to 2.5 for political reasons, go to 2.4.4 (make sure to upgrade your Python to 2.1.2 at the same time). HTH, - C iap@y2fun.com wrote:
I just linked to www.zope.org to download a new copy of zope installation. And was confused by the "Zope News". Zope 2.4.4beta1 is released later than 2.5.0 final. What's happen? Back to the future?
Iap, Singuan
_______________________________________________ Zope maillist - Zope@zope.org http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
participants (4)
-
Brian Lloyd -
Chris McDonough -
iap@y2fun.com -
Keith J. Farmer