MantisBT - Rosetta | |||||
View Issue Details | |||||
ID | Project | Category | View Status | Date Submitted | Last Update |
0000135 | Rosetta | [All Projects] Crash | public | 2012-10-18 13:49 | 2013-02-26 13:41 |
Reporter | delucasl | ||||
Assigned To | delucasl | ||||
Priority | normal | Severity | crash | Reproducibility | random |
Status | resolved | Resolution | fixed | ||
Platform | All platforms | OS | Any | OS Version | Any |
Product Version | Trunk | ||||
Fixed in Version | Trunk | ||||
Application(s) Affected | any JD2 application | ||||
Command Line Used | score_jd2.linuxgccrelease -database $database @path_to_flags -nstruct $large_number | ||||
Developer Options | Confirmed As Bug | ||||
Fixed in SVN Version | 51751 | ||||
Summary | 0000135: MySQL transaction commits can deadlock, they should be retried rather than aborting. | ||||
Description | If a lot of MPI processes are writing to one database simultaneously, the database engine will occasionally deadlock. Right now Rosetta handles this by utility exiting, it should handle by retrying statement.exec() several times rather than just utility exiting. The annoying thing is that the cppdb::mysql::Deadlock error shown below is an exception thrown as a cppdb_error exception, rather than a specific exception, either cppdb should be modified to throw a special exception for this, or we can detect it with string matching in safely_write_to_database() | ||||
Steps To Reproduce | Make a few hundred connections to one database and start writing a few hundred thousand structures, it'll happen eventually. | ||||
Additional Information | ERROR: cppdb::mysql::Deadlock found when trying to get lock; try restarting transaction ERROR:: Exit from: src/basic/database/sql_utils.cc line: 430 application called MPI_Abort(MPI_COMM_WORLD, 911) - process 0 Assertion failed in file socksm.c at line 1663: (it_plfd->revents & 0x008) == 0 Assertion failed in file socksm.c at line 1663: (it_plfd->revents & 0x008) == 0 Assertion failed in file socksm.c at line 1663: (it_plfd->revents & 0x008) == 0 internal ABORT - process 3 internal ABORT - process 4 internal ABORT - process 5 Assertion failed in file socksm.c at line 1663: (it_plfd->revents & 0x008) == 0 internal ABORT - process 1 Assertion failed in file socksm.c at line 1663: (it_plfd->revents & 0x008) == 0 internal ABORT - process 2 mpiexec: Warning: task 0 exited with status 143. mpiexec: Warning: tasks 1-5 exited with status 1. | ||||
Tags | No tags attached. | ||||
Relationships | |||||
Attached Files | |||||
Issue History | |||||
Date Modified | Username | Field | Change | ||
2012-10-18 13:49 | delucasl | New Issue | |||
2012-10-18 13:49 | delucasl | Status | new => assigned | ||
2012-10-18 13:49 | delucasl | Assigned To | => delucasl | ||
2012-10-18 15:10 | momeara | Note Added: 0000119 | |||
2012-10-18 15:17 | delucasl | Note Added: 0000120 | |||
2013-02-26 13:41 | delucasl | Fixed in SVN Version | => 51751 | ||
2013-02-26 13:41 | delucasl | Note Added: 0000146 | |||
2013-02-26 13:41 | delucasl | Status | assigned => resolved | ||
2013-02-26 13:41 | delucasl | Fixed in Version | => Trunk | ||
2013-02-26 13:41 | delucasl | Resolution | open => fixed |
Notes | |||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|