Wednesday, August 3, 2011

Application Core-Dump from Simulated OS

Recently I published new disk images that transfers the application core-dump from Simulated OS to Marss. This little feature will help users to:
  • Get notified if the application/benchmark crashes in simulation mode.
  • Use core-dump to find out why and at which location the application crashed.

This feature uses linux kernel's '/proc/sys/kernel/core_pattern' interface to invoke custom core-dump handler application that passes the core-dump to Marss. From 'core' man page, when core_pattern starts with '|' it invokes specified application with core-dump passed via STDIN. In provided disk images, 'core_pattern' is set to following at startup:

'|/bin/core-dump-handler %s %e'

Here, 'core-dump-handler' (source) is small application that takes in the core-dump from STDIN and uses PTLCall interface to pass that data to Marss.

So, while running simulations, if you see any file with name '*-core', it means that something went wrong in your simulation and it crashed your application/benchmark. Use that core file in gdb to find out what happened. This feature already helped me to debug pgbench benchmark.

Note: Currently this feature is available in core-models branch from commit 26f3ae3 and higher.

No comments:

Post a Comment