Anonymous | Login | Signup for a new account | 2024-07-27 12:29 EDT |
My View | View Issues | Change Log | Roadmap |
View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0000210 | JANA | Bug | public | 2012-03-21 10:58 | 2012-03-21 11:49 | ||||
Reporter | davidl | ||||||||
Assigned To | davidl | ||||||||
Priority | normal | Severity | major | Reproducibility | sometimes | ||||
Status | resolved | Resolution | fixed | ||||||
Platform | OS | OS Version | |||||||
Summary | 0000210: program hangs when merging threads at end | ||||||||
Description | A JANA program can hang at the end of processing just after printing a message like: "Merging thread 0". The reason for this is because the JEventLoop destructor calls RemoveJEventLoop which adds the thread to the "threads_to_be_joined" vector. If this happens while the main (monitoring) thread is inside of the application mutex lock, it can call pthread_join while the mutex is locked. Meanwhile, the JEventLoop destructor tries calling JApplication::AddFactoriesToDeleteList(). This tries locking the application mutex, but can't since it is already locked by the main thread. Thus, the JEventLoop destructor never exits and consequently, pthread_exit is never called making pthread_join block forever. One solution for this would be to create a separate mutex for controlling access to the factories_to_delete container. | ||||||||
Tags | No tags attached. | ||||||||
Attached Files | |||||||||
Notes | |
(0000315) davidl (administrator) 2012-03-21 11:49 |
I added a factories_to_delete_mutex to JApplication that is used to synchronize access to the factories_to_delete vector. No testing has been done yet to confirm that this actually solves the problem (but it should!) |
Issue History | |||
Date Modified | Username | Field | Change |
2012-03-21 10:58 | davidl | New Issue | |
2012-03-21 11:49 | davidl | Note Added: 0000315 | |
2012-03-21 11:49 | davidl | Status | new => resolved |
2012-03-21 11:49 | davidl | Resolution | open => fixed |
2012-03-21 11:49 | davidl | Assigned To | => davidl |
Copyright © 2000 - 2024 MantisBT Team |