import ctypes def c_segfault(): libc = ctypes.cdll.LoadLibrary('libc.so.6') pos = libc.strstr(1, 1) def python_segfault(): ctypes.string_at(1) def e(): print "enter e" try: python_segfault() except Exception, err: print "ERROR in e(): %s" % err c_segfault() print "exit e" def d(): print "enter d" try: e() except Exception, err: print "ERROR in d(): %s" % err print "exit d" def c(): print "enter c" try: d() except Exception, err: print "ERROR in c(): %s" % err print "exit c" def b(): print "enter b" try: c() except Exception, err: print "ERROR in b(): %s" % err print "exit b" def a(): print "enter a" try: b() except Exception, err: print "ERROR in a(): %s" % err print "exit a" a()