During python startup, pthread mutex locks and unlocks are called several times from a stack like this: (gdb) bt #0 0xb7f3e536 in pthread_mutex_lock () from /lib/tls/i686/cmov/libpthread.so.0 #1 0xb7f685ed in _dl_lookup_symbol_x () from /lib/ld-linux.so.2 #2 0xb7f69710 in _dl_relocate_object () from /lib/ld-linux.so.2 #3 0xb7f700bb in dl_open_worker () from /lib/ld-linux.so.2 #4 0xb7f6c016 in _dl_catch_error () from /lib/ld-linux.so.2 #5 0xb7f6f99e in _dl_open () from /lib/ld-linux.so.2 #6 0xb7f33c19 in ?? () from /lib/tls/i686/cmov/libdl.so.2 #7 0xbf999f97 in ?? () #8 0x80000002 in ?? () #9 0x080f101c in _PyImport_GetDynLoadFunc ( fqname=0xbf999c30 "\227\237\231¿\002", shortname=0x0, pathname=0xb7c3b630 "U\211åS\203ì\004è", fp=0xb7c33b22) at ../Python/dynload_shlib.c:134 #10 0xb7f6c016 in _dl_catch_error () from /lib/ld-linux.so.2 #11 0xb7f342bc in ?? () from /lib/tls/i686/cmov/libdl.so.2 #12 0xb7f33b80 in ?? () from /lib/tls/i686/cmov/libdl.so.2 #13 0xbf999c30 in ?? () #14 0xb7f33b80 in ?? () from /lib/tls/i686/cmov/libdl.so.2 #15 0xb7f35ff4 in ?? () from /lib/tls/i686/cmov/libdl.so.2 then while loading pdb: Breakpoint 4, 0xb7f3e536 in pthread_mutex_lock () from /lib/tls/i686/cmov/libpthread.so.0 (gdb) bt #0 0xb7f3e536 in pthread_mutex_lock () from /lib/tls/i686/cmov/libpthread.so.0 #1 0xb7f33d65 in dlsym () from /lib/tls/i686/cmov/libdl.so.2 #2 0x080f104d in _PyImport_GetDynLoadFunc (fqname=0xbf991097 "strop", shortname=0xbf991097 "strop", pathname=0xbf990027 "/usr/lib/python2.5/lib-dynload/strop.so", fp=0x81d6e08) at ../Python/dynload_shlib.c:145 #3 0x080e1a0a in _PyImport_LoadDynamicModule (name=0xbf991097 "strop", pathname=0xbf990027 "/usr/lib/python2.5/lib-dynload/strop.so", fp=0x81d6e08) at ../Python/importdl.c:42 #4 0x080df6d5 in load_module (name=0xbf991097 "strop", fp=0xbf98fe72, buf=0xbf990027 "/usr/lib/python2.5/lib-dynload/strop.so", type=3, loader=0x81e91a0) at ../Python/import.c:1758 #5 0x080df98b in import_submodule (mod=0x8146678, subname=0xbf991097 "strop", fullname=0xbf991097 "strop") at ../Python/import.c:2400 #6 0x080dfe3e in load_next (mod=0x8146678, altmod=0x8146678, p_name=, buf=0xbf991097 "strop", p_buflen=0xbf991090) at ../Python/import.c:2220 #7 0x080e0068 in import_module_level (name=0x0, globals=0xb7d662b4, locals=, fromlist=0xb7d64e64, level=-1) at ../Python/import.c:2001 #8 0x080e04f7 in PyImport_ImportModuleLevel (name=0xb7d66274 "strop", globals=0xb7d4edfc, locals=0xb7d4edfc, fromlist=0xb7d64e64, level=-1) at ../Python/import.c:2072 #9 0x080c1db4 in builtin___import__ (self=0x0, args=0xb7d67144, kwds=0x0) at ../Python/bltinmodule.c:47 #10 0x0805c9e7 in PyObject_Call (func=0x81e91a0, arg=0xb7d67144, kw=0x0) at ../Objects/abstract.c:1860 #11 0x080c232c in PyEval_CallObjectWithKeywords (func=0xb7d86e6c, arg=0xb7d67144, kw=0x0) at ../Python/ceval.c:3433 #12 0x080c4a9d in PyEval_EvalFrameEx (f=0x81d4d74, throwflag=0) at ../Python/ceval.c:2063 #13 0x080ca115 in PyEval_EvalCodeEx (co=0xb7d654e8, globals=0xb7d4edfc, locals=0xb7d4edfc, args=0x0, argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2831 #14 0x080ca187 in PyEval_EvalCode (co=0xb7d654e8, globals=0xb7d4edfc, locals=0xb7d4edfc) at ../Python/ceval.c:494 #15 0x080de9ac in PyImport_ExecCodeModuleEx (name=0xbf9944c7 "string", co=0xb7d654e8, pathname=0xbf992417 "/usr/lib/python2.5/string.pyc") at ../Python/import.c:675 #16 0x080df306 in load_source_module (name=0xbf9944c7 "string", pathname=0xbf992417 "/usr/lib/python2.5/string.pyc", fp=) at ../Python/import.c:959 #17 0x080df98b in import_submodule (mod=0x8146678, subname=0xbf9944c7 "string", fullname=0xbf9944c7 "string") at ../Python/import.c:2400 #18 0x080dfe3e in load_next (mod=0x8146678, altmod=0x8146678, p_name=, buf=0xbf9944c7 "string", p_buflen=0xbf9944c0) at ../Python/import.c:2220 #19 0x080e0068 in import_module_level (name=0x0, globals=0xb7d60ed4, locals=, fromlist=0x8146678, level=-1) at ../Python/import.c:2001 #20 0x080e04f7 in PyImport_ImportModuleLevel (name=0xb7d60e54 "string", globals=0xb7d4ed74, locals=0xb7d4ed74, fromlist=0x8146678, level=-1) at ../Python/import.c:2072 #21 0x080c1db4 in builtin___import__ (self=0x0, args=0xb7d5be8c, kwds=0x0) at ../Python/bltinmodule.c:47 #22 0x0805c9e7 in PyObject_Call (func=0x81e91a0, arg=0xb7d5be8c, kw=0x0) at ../Objects/abstract.c:1860 #23 0x080c232c in PyEval_CallObjectWithKeywords (func=0xb7d86e6c, arg=0xb7d5be8c, kw=0x0) at ../Python/ceval.c:3433 #24 0x080c4a9d in PyEval_EvalFrameEx (f=0x81d31bc, throwflag=0) at ../Python/ceval.c:2063 #25 0x080ca115 in PyEval_EvalCodeEx (co=0xb7d617b8, globals=0xb7d4ed74, locals=0xb7d4ed74, args=0x0, argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2831 #26 0x080ca187 in PyEval_EvalCode (co=0xb7d617b8, globals=0xb7d4ed74, locals=0xb7d4ed74) at ../Python/ceval.c:494 ---Type to continue, or q to quit--- #27 0x080de9ac in PyImport_ExecCodeModuleEx (name=0xbf9978f7 "cmd", co=0xb7d617b8, pathname=0xbf995847 "/usr/lib/python2.5/cmd.pyc") at ../Python/import.c:675 #28 0x080df306 in load_source_module (name=0xbf9978f7 "cmd", pathname=0xbf995847 "/usr/lib/python2.5/cmd.pyc", fp=) at ../Python/import.c:959 #29 0x080df98b in import_submodule (mod=0x8146678, subname=0xbf9978f7 "cmd", fullname=0xbf9978f7 "cmd") at ../Python/import.c:2400 #30 0x080dfe3e in load_next (mod=0x8146678, altmod=0x8146678, p_name=, buf=0xbf9978f7 "cmd", p_buflen=0xbf9978f0) at ../Python/import.c:2220 #31 0x080e0068 in import_module_level (name=0x0, globals=0xb7d601b4, locals=, fromlist=0x8146678, level=-1) at ../Python/import.c:2001 #32 0x080e04f7 in PyImport_ImportModuleLevel (name=0xb7dacaf4 "cmd", globals=0xb7d4e824, locals=0xb7d4e824, fromlist=0x8146678, level=-1) at ../Python/import.c:2072 #33 0x080c1db4 in builtin___import__ (self=0x0, args=0xb7d5b964, kwds=0x0) at ../Python/bltinmodule.c:47 #34 0x0805c9e7 in PyObject_Call (func=0x81e91a0, arg=0xb7d5b964, kw=0x0) at ../Objects/abstract.c:1860 #35 0x080c232c in PyEval_CallObjectWithKeywords (func=0xb7d86e6c, arg=0xb7d5b964, kw=0x0) at ../Python/ceval.c:3433 #36 0x080c4a9d in PyEval_EvalFrameEx (f=0x81d0fd4, throwflag=0) at ../Python/ceval.c:2063 #37 0x080ca115 in PyEval_EvalCodeEx (co=0xb7d61140, globals=0xb7d4e824, locals=0xb7d4e824, args=0x0, argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2831 #38 0x080ca187 in PyEval_EvalCode (co=0xb7d61140, globals=0xb7d4e824, locals=0xb7d4e824) at ../Python/ceval.c:494 #39 0x080de9ac in PyImport_ExecCodeModuleEx (name=0xbf99ad27 "pdb", co=0xb7d61140, pathname=0xbf998c77 "/usr/lib/python2.5/pdb.pyc") at ../Python/import.c:675 #40 0x080df306 in load_source_module (name=0xbf99ad27 "pdb", pathname=0xbf998c77 "/usr/lib/python2.5/pdb.pyc", fp=) at ../Python/import.c:959 #41 0x080df98b in import_submodule (mod=0x8146678, subname=0xbf99ad27 "pdb", fullname=0xbf99ad27 "pdb") at ../Python/import.c:2400 #42 0x080dfe3e in load_next (mod=0x8146678, altmod=0x8146678, p_name=, buf=0xbf99ad27 "pdb", p_buflen=0xbf99ad20) at ../Python/import.c:2220 #43 0x080e0068 in import_module_level (name=0x0, globals=0xb7d9d3f4, locals=, fromlist=0x8146678, level=-1) at ../Python/import.c:2001 #44 0x080e04f7 in PyImport_ImportModuleLevel (name=0xb7d53d34 "pdb", globals=0xb7d97acc, locals=0xb7d97acc, fromlist=0x8146678, level=-1) at ../Python/import.c:2072 #45 0x080c1db4 in builtin___import__ (self=0x0, args=0xb7d93c84, kwds=0x0) at ../Python/bltinmodule.c:47 #46 0x0805c9e7 in PyObject_Call (func=0x81e91a0, arg=0xb7d93c84, kw=0x0) at ../Objects/abstract.c:1860 #47 0x080c232c in PyEval_CallObjectWithKeywords (func=0xb7d86e6c, arg=0xb7d93c84, kw=0x0) at ../Python/ceval.c:3433 #48 0x080c4a9d in PyEval_EvalFrameEx (f=0x81ce034, throwflag=0) at ../Python/ceval.c:2063 #49 0x080ca115 in PyEval_EvalCodeEx (co=0xb7d404e8, globals=0xb7d97acc, locals=0xb7d97acc, args=0x0, argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:2831 #50 0x080ca187 in PyEval_EvalCode (co=0xb7d404e8, globals=0xb7d97acc, locals=0xb7d97acc) at ../Python/ceval.c:494 #51 0x080e9d83 in PyRun_InteractiveOneFlags (fp=0xb7f05440, filename=0x8122f24 "", flags=0xbf99c1d8) at ../Python/pythonrun.c:1273 #52 0x080e9fb6 in PyRun_InteractiveLoopFlags (fp=0xb7f05440, filename=0x8122f24 "", flags=0xbf99c1d8) at ../Python/pythonrun.c:723 #53 0x080ea0d2 in PyRun_AnyFileExFlags (fp=0xb7f05440, ---Type to continue, or q to quit--- filename=0x8122f24 "", closeit=0, flags=0xbf99c1d8) at ../Python/pythonrun.c:692 #54 0x08059390 in Py_Main (argc=0, argv=0xbf99c2a4) at ../Modules/main.c:523 #55 0x080588c2 in main (argc=-1208655872, argv=0x81d40f8) at ../Modules/python.c:23 However, repeated imports of a module do show futex calls in strace, but do not hit pthead_mutex_{lock,unlock} so there must be something else...