By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
440,928 Members | 1,173 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 440,928 IT Pros & Developers. It's quick & easy.

solaris threading problem: interpreter hangs on shutdown

P: n/a

Hi there,
I have severe problems running python 1.5.2 (yes I know, but this is a
productive environment;
cannot switch to py 2.3.3 until later this year...) on several
multi-processor sun systems.
This happens intermittently, both on solaris 6 and solaris 8 systems.

Basically, there is a mainthread that controls start and cleanup of some
other threads.
If one of those has done all its processing, it registers itself in the
to-be-finished list
of the main application object. The mainthread then invokes some cleanup
stuff,
makes sure all of the working treads end (they are .join-ed), and exits..
This works fine in maybe 95 % of all runs, but sometimes the program just
hangs.
Still, all the processing has been done correctly by that time, it simply
does not end.

The truss output in such a situation looks like that:
16562: lwp_cond_wait(0xFF275548, 0xFF275558, 0xFF26EDB0) (sleeping...)
16562: door_return(0x00000000, 0, 0x00000000, 0) (sleeping...)
16562: poll(0xFEE09A28, 2, 10000) = 0
16562: signotifywait() (sleeping...)
16562: lwp_sema_wait(0xFEF0DE30) (sleeping...)
16562: lwp_sema_wait(0xFEA03E30) (sleeping...)
16562: poll(0xFEE09A28, 2, 10000) (sleeping...)
16562: lwp_sema_wait(0xFED09E30) (sleeping...)
16562: lwp_sema_wait(0xFF26FA08) (sleeping...)
16562: lwp_sema_wait(0xFEB05E30) (sleeping...)
16562: lwp_sema_wait(0x00094990) (sleeping...)
16562: lwp_cond_wait(0xFF275548, 0xFF275558, 0xFF26EDB0) (sleeping...)
16562: door_return(0x00000000, 0, 0x00000000, 0) (sleeping...)
16562: poll(0xFEE09A28, 2, 10000) = 0
16562: signotifywait() (sleeping...)
16562: lwp_sema_wait(0xFEF0DE30) (sleeping...)
16562: lwp_sema_wait(0xFEA03E30) (sleeping...)
16562: poll(0xFEE09A28, 2, 10000) (sleeping...)
16562: lwp_sema_wait(0xFED09E30) (sleeping...)
16562: lwp_sema_wait(0xFF26FA08) (sleeping...)
16562: lwp_sema_wait(0xFEB05E30) (sleeping...)
16562: lwp_sema_wait(0x00094990) (sleeping...)

I do not have any clue what´s the reason for this, because everything just
seems to
work fine according to the debug output. - no possible deadlocks or
anything.
As this is s.th. I cannot reproduce within a simple sample app, it is also
difficult
for me to post any code...

But, from the back of my head, I think I somewhere read s.th. about
python/solaris threading
problems, I just did not find anything relevant on python.org or by
googling.

Does anybody know of python 1.5.2 threading library problems, in which
python release
this has been fixed, etc.???
Even vague hints are really appreciated!

Have a nice weekend,
Holger

Der Inhalt dieser E-Mail ist vertraulich. Falls Sie nicht der angegebene
Empfänger sind oder falls diese E-Mail irrtümlich an Sie adressiert wurde,
verständigen Sie bitte den Absender sofort und löschen Sie die E-Mail
sodann. Das unerlaubte Kopieren sowie die unbefugte Übermittlung sind nicht
gestattet. Die Sicherheit von Übermittlungen per E-Mail kann nicht
garantiert werden. Falls Sie eine Bestätigung wünschen, fordern Sie bitte
den Inhalt der E-Mail als Hardcopy an.

The contents of this e-mail are confidential. If you are not the named
addressee or if this transmission has been addressed to you in error,
please notify the sender immediately and then delete this e-mail. Any
unauthorized copying and transmission is forbidden. E-Mail transmission
cannot be guaranteed to be secure. If verification is required, please
request a hard copy version.
Jul 18 '05 #1
Share this question for a faster answer!
Share on Google+

This discussion thread is closed

Replies have been disabled for this discussion.