Search the Asterisk Blog

Improving Core Dump Analysis

By Joshua C. Colp

Within the Asterisk project we are constantly trying to improve our processes and data collection when a problem is encountered to reduce the back and forth for getting information. This initially started with the ast_coredumper script that is now the recommended way to collect information from a running Asterisk process or from a core dump resulting from a crash. Over time we’ve continued to improve this script with additional functionality and I’m excited to say that we’ve now extended it further so it can retrieve information about core Asterisk concepts!

In Asterisk we have a lot of APIs, structures, and containers which are instrumental in allowing Asterisk to work. You may know some of these just by seeing log messages and blog posts in regards to them, such as taskprocessors. When the ast_coredumper script is now run some of these will be collected and added to the resulting tarball. This gives developers better insight into what exactly is going on in your system without having to get a core dump, your Asterisk install, and without having to manually spend time going through analysis.

In the case of taskprocessors it even allows us to understand and see how relatively loaded your system is (or was) based on the values. This is because taskprocessors act as a work queue, so if things are processed slowly then the queue will increase and potentially exceed certain limits. This information is recorded in the taskprocessors and now retrieved by ast_coredumper.

To that end when filing an issue on the Asterisk issue tracker I urge everyone to use the ast_coredumper script to retrieve the information that developers need, even if using an old version of Asterisk. It helps us help you.

No Comments Yet

Get the conversation started!

Add to the Discussion

Your email address will not be published. Required fields are marked *

About the Author

Joshua C. Colp

Joshua Colp is a Senior Software Developer at Digium and a long time Asterisk developer. He originally started in the community submitting simple patches and grew into improving and creating new core components of Asterisk itself. He is a self-taught programmer who believes in finding the balance between doing things the way they should be done and doing what is right for the people using the software. In his spare time he enjoys smashing fax machines.

See All of Joshua C.'s Articles