[SERVER-28416] Handle GDB error in hang_analyzer.py mongodb-uniqstack module Created: 21/Mar/17 Updated: 06/Dec/17 Resolved: 30/Mar/17 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Testing Infrastructure |
| Affects Version/s: | None |
| Fix Version/s: | 3.4.5, 3.5.6 |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Jonathan Abrahams | Assignee: | Jonathan Abrahams |
| Resolution: | Done | Votes: | 0 |
| Labels: | bkp | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||
| Backport Requested: |
v3.4
|
||||||||||||||||
| Sprint: | TIG 2017-03-27, TIG 2017-04-17 | ||||||||||||||||
| Participants: | |||||||||||||||||
| Linked BF Score: | 0 | ||||||||||||||||
| Description |
|
The mongodb-uniqstack module goes through each thread and frame to detect unique or duplicate threads in a process. On the s390x platform it can error, which terminates the module, producing no backtrace output. Partial output is preferable to none, so the GDB error should be trapped and not raised.
|
| Comments |
| Comment by Githook User [ 02/May/17 ] |
|
Author: {u'username': u'hptabster', u'name': u'Jonathan Abrahams', u'email': u'jonathan@mongodb.com'}Message: (cherry picked from commit 7677a8aa544a5df51c2bd45f6859cd3b97459108) |
| Comment by Githook User [ 02/May/17 ] |
|
Author: {u'username': u'hptabster', u'name': u'Jonathan Abrahams', u'email': u'jonathan@mongodb.com'}Message: (cherry picked from commit d6552eddacb8afd90bebf55d3cd98cb77f543655) |
| Comment by Githook User [ 02/May/17 ] |
|
Author: {u'username': u'hptabster', u'name': u'Jonathan Abrahams', u'email': u'jonathan@mongodb.com'}Message: (cherry picked from commit 3412b99e9f81199a7265fd0483d9b01432dbe53b) |
| Comment by Githook User [ 02/May/17 ] |
|
Author: {u'username': u'hptabster', u'name': u'Jonathan Abrahams', u'email': u'jonathan@mongodb.com'}Message: (cherry picked from commit e9e806ee1f03b8328bb689ac0ce66625d16a59ee) |
| Comment by Githook User [ 30/Mar/17 ] |
|
Author: {u'username': u'hptabster', u'name': u'Jonathan Abrahams', u'email': u'jonathan@mongodb.com'}Message: |
| Comment by Githook User [ 30/Mar/17 ] |
|
Author: {u'username': u'hptabster', u'name': u'Jonathan Abrahams', u'email': u'jonathan@mongodb.com'}Message: |
| Comment by Githook User [ 29/Mar/17 ] |
|
Author: {u'username': u'hptabster', u'name': u'Jonathan Abrahams', u'email': u'jonathan@mongodb.com'}Message: |
| Comment by Githook User [ 29/Mar/17 ] |
|
Author: {u'username': u'hptabster', u'name': u'Jonathan Abrahams', u'email': u'jonathan@mongodb.com'}Message: |
| Comment by Jonathan Abrahams [ 27/Mar/17 ] |
|
The pretty_printer modules causes a hang in bt. We will restructure the logic to split out the pretty_printers from mongo.py and not load them on this platform. |
| Comment by Max Hirschhorn [ 27/Mar/17 ] |
jonathan.abrahams, is this not already covered by writing the output of thread apply all bt to an xx_raw_stacks.log file that was done as part of the changes in |
| Comment by Jonathan Abrahams [ 27/Mar/17 ] |
|
Handling the GDB error will not solve the underlying problem that the bt will hang after the python modules has been loaded. For now, we will execute a bt on all threads, through the Python/GDB module before loading the mongo python modules. |
| Comment by Jonathan Abrahams [ 27/Mar/17 ] |
|
Handling the GDB error will not solve the underlying problem that the bt will hang after the python modules have been loaded. An alternate would be to have the mongodb-uniqstack module write it's own backtrace instead of relying on a call to gdb.execute. |