[Bug 519984] Re: 'hgtk log' sometimes leave a frozen process on close

Ludovico Cavedon cavedon at debian.org
Mon Feb 15 00:38:29 UTC 2010


Confirming the bug and editing description

** Description changed:

- Binary package hint: tortoisehg
+ How to reproduce:
+ - create new file in the repository:
+    touch newfile
+ - schedule the new file for commit
+    hg addremove
+ - start hgtk commit
+    hgtk ci
+ - add a comment and commit using the GUI
+ - exit hgtk
  
- I don't have a reproducible test-case yet, hope this stacktrace helps.
+ Expected Result:
+ -hgtk terminates
+ 
+ Actual Result:
+ -hgtk does not terminate
+ -Ctrl-C does not terminate it
+ 
+ This happens with python2.6 (also on Debian unstable), but does not happen with python2.5.
+ Still present with tortoisehg 0.9.3-1.
+ 
+ The hgtk code tries to exit by raising a SystemExit exception, but the
+ process never terminates. Adding an explicit sys.exit() does not change
+ the described behavior.
+ 
+ Attaching to the dangling process with pdb shows:
+ https://bugs.edge.launchpad.net/ubuntu/+source/tortoisehg/+bug/519984/comments/15
+ 
+ Backtrace using GDB (2 threads):
+ #0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:85
+ #1  0x00000000004cf048 in PyThread_acquire_lock (lock=0x109b720, waitflag=0x80) at ../Python/thread_pthread.h:349
+ #2  0x00000000004d22f2 in lock_PyThread_acquire_lock (self=0xd326d8, args=<value optimized out>) at ../Modules/threadmodule.c:46
+ #3  0x00000000004a435d in call_function (f=0x16f38c0, throwflag=<value optimized out>) at ../Python/ceval.c:3728
+ #4  PyEval_EvalFrameEx (f=0x16f38c0, throwflag=<value optimized out>) at ../Python/ceval.c:2411
+ #5  0x00000000004a5b30 in PyEval_EvalCodeEx (co=0x1172198, globals=<value optimized out>, locals=<value optimized out>, args=0x2, argcount=<value optimized out>, kws=<value optimized out>, kwcount=0x0, defs=0x16bc668, defcount=0x1, closure=0x0) at ../Python/ceval.c:2990
+ #6  0x00000000004a3eaf in fast_function (f=0x15dd820, throwflag=<value optimized out>) at ../Python/ceval.c:3824
+ #7  call_function (f=0x15dd820, throwflag=<value optimized out>) at ../Python/ceval.c:3749
+ #8  PyEval_EvalFrameEx (f=0x15dd820, throwflag=<value optimized out>) at ../Python/ceval.c:2411
+ #9  0x00000000004a5b30 in PyEval_EvalCodeEx (co=0x16ad3f0, globals=<value optimized out>, locals=<value optimized out>, args=0x2, argcount=<value optimized out>, kws=<value optimized out>, kwcount=0x0, defs=0x116a6e8, defcount=0x1, closure=0x0) at ../Python/ceval.c:2990
+ #10 0x00000000004a3eaf in fast_function (f=0x17d0120, throwflag=<value optimized out>) at ../Python/ceval.c:3824
+ #11 call_function (f=0x17d0120, throwflag=<value optimized out>) at ../Python/ceval.c:3749
+ #12 PyEval_EvalFrameEx (f=0x17d0120, throwflag=<value optimized out>) at ../Python/ceval.c:2411
+ #13 0x00000000004a5b30 in PyEval_EvalCodeEx (co=0x16adeb8, globals=<value optimized out>, locals=<value optimized out>, args=0x1, argcount=<value optimized out>, kws=<value optimized out>, kwcount=0x0, defs=0x0, defcount=0x0, closure=0x0) at ../Python/ceval.c:2990
+ #14 0x0000000000530ab0 in function_call (func=0x16c1140, arg=0x7f372abf9850, kw=0x0) at ../Objects/funcobject.c:524
+ #15 0x000000000041efd7 in PyObject_Call (func=0x16c1140, arg=0x80, kw=0x0) at ../Objects/abstract.c:2492
+ #16 0x0000000000426d9f in instancemethod_call (func=0x16c1140, arg=0x7f372abf9850, kw=0x0) at ../Objects/classobject.c:2579
+ #17 0x0000000000420519 in PyObject_Call (func=0x113b460, arg=0x80, kw=<value optimized out>) at ../Objects/abstract.c:2492
+ #18 0x0000000000424083 in call_function_tail (o=<value optimized out>, name=<value optimized out>, format=<value optimized out>) at ../Objects/abstract.c:2524
+ #19 PyObject_CallMethod (o=<value optimized out>, name=<value optimized out>, format=<value optimized out>) at ../Objects/abstract.c:2601
+ #20 0x00000000004c4749 in wait_for_thread_shutdown () at ../Python/pythonrun.c:1687
+ #21 Py_Finalize () at ../Python/pythonrun.c:392
+ #22 0x00000000004c4223 in Py_Exit () at ../Python/pythonrun.c:1744
+ #23 handle_system_exit () at ../Python/pythonrun.c:1120
+ #24 0x00000000004c4445 in PyErr_PrintEx (set_sys_last_vars=0x1) at ../Python/pythonrun.c:1130
+ #25 0x00000000004c5280 in PyRun_SimpleFileExFlags (fp=<value optimized out>, filename=0x7fff2c51f5c7 "/usr/bin/hgtk", closeit=0x1, flags=0x7fff2c51ef80) at ../Python/pythonrun.c:939
+ #26 0x000000000041a467 in Py_Main (argc=0x2ab88080, argv=<value optimized out>) at ../Modules/main.c:572
+ #27 0x00007f3729698abd in __libc_start_main (main=<value optimized out>, argc=<value optimized out>, ubp_av=<value optimized out>, init=<value optimized out>, fini=<value optimized out>, rtld_fini=<value optimized out>, stack_end=0x7fff2c51f098) at libc-start.c:222
+ #28 0x0000000000419749 in _start ()
+ 
+ #0  0x00007f372a86c90b in read () from /lib/libpthread.so.0
+ #1  0x000000000050f648 in posix_read (self=<value optimized out>, args=<value optimized out>) at ../Modules/posixmodule.c:6423
+ #2  0x00000000004a435d in call_function (f=0x17b3280, throwflag=<value optimized out>) at ../Python/ceval.c:3728
+ #3  PyEval_EvalFrameEx (f=0x17b3280, throwflag=<value optimized out>) at ../Python/ceval.c:2411
+ #4  0x00000000004a5b30 in PyEval_EvalCodeEx (co=0x16e9468, globals=<value optimized out>, locals=<value optimized out>, args=0x0, argcount=<value optimized out>, kws=<value optimized out>, kwcount=0x0, defs=0x0, defcount=0x0, closure=0x16ea050) at ../Python/ceval.c:2990
+ #5  0x0000000000530bad in function_call (func=0x16e55f0, arg=0x7f372ac30050, kw=0x17a8d60) at ../Objects/funcobject.c:524
+ #6  0x000000000041efd7 in PyObject_Call (func=0x16e55f0, arg=0x17ba734, kw=0x400) at ../Objects/abstract.c:2492
+ #7  0x00000000004a2981 in ext_do_call (f=0x16f85e0, throwflag=<value optimized out>) at ../Python/ceval.c:4041
+ #8  PyEval_EvalFrameEx (f=0x16f85e0, throwflag=<value optimized out>) at ../Python/ceval.c:2451
+ #9  0x00000000004a4897 in fast_function (f=0x16f8380, throwflag=<value optimized out>) at ../Python/ceval.c:3814
+ #10 call_function (f=0x16f8380, throwflag=<value optimized out>) at ../Python/ceval.c:3749
+ #11 PyEval_EvalFrameEx (f=0x16f8380, throwflag=<value optimized out>) at ../Python/ceval.c:2411
+ #12 0x00000000004a4897 in fast_function (f=0x16ecbf0, throwflag=<value optimized out>) at ../Python/ceval.c:3814
+ #13 call_function (f=0x16ecbf0, throwflag=<value optimized out>) at ../Python/ceval.c:3749
+ #14 PyEval_EvalFrameEx (f=0x16ecbf0, throwflag=<value optimized out>) at ../Python/ceval.c:2411
+ #15 0x00000000004a5b30 in PyEval_EvalCodeEx (co=0x16ad0a8, globals=<value optimized out>, locals=<value optimized out>, args=0x1, argcount=<value optimized out>, kws=<value optimized out>, kwcount=0x0, defs=0x0, defcount=0x0, closure=0x0) at ../Python/ceval.c:2990
+ #16 0x0000000000530ab0 in function_call (func=0x16c0668, arg=0x116a5d0, kw=0x0) at ../Objects/funcobject.c:524
+ #17 0x000000000041efd7 in PyObject_Call (func=0x16c0668, arg=0x17ba734, kw=0x400) at ../Objects/abstract.c:2492
+ #18 0x0000000000426d9f in instancemethod_call (func=0x16c0668, arg=0x116a5d0, kw=0x0) at ../Objects/classobject.c:2579
+ #19 0x000000000041efd7 in PyObject_Call (func=0x115faf0, arg=0x17ba734, kw=0x400) at ../Objects/abstract.c:2492
+ #20 0x000000000049e093 in PyEval_CallObjectWithKeywords (func=0x115faf0, arg=0x7f372ac30050, kw=0x400) at ../Python/ceval.c:3597
+ #21 0x00000000004d26fd in t_bootstrap (boot_raw=0x1779c70) at ../Modules/threadmodule.c:425
+ #22 0x00007f372a86573a in start_thread (arg=<value optimized out>) at pthread_create.c:300
+ #23 0x00007f37297456dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
+ #24 0x0000000000000000 in ?? ()
+ 
+ 
+ Note that it deadlock inside the call to Py_Exit(), so it appears to be realted to some resource release code.
  
  ProblemType: Bug
  Architecture: i386
  Date: Wed Feb 10 14:55:06 2010
  DistroRelease: Ubuntu 10.04
  EcryptfsInUse: Yes
  ExecutablePath: /usr/bin/hgtk
  InterpreterPath: /usr/bin/python2.6
  Package: tortoisehg 0.9.2-1
  PackageArchitecture: all
  ProcEnviron:
-  SHELL=/bin/bash
-  LANG=en_US.UTF-8
+  SHELL=/bin/bash
+  LANG=en_US.UTF-8
  ProcVersionSignature: Ubuntu 2.6.32-12.17-generic
  SourcePackage: tortoisehg
  Uname: Linux 2.6.32-12-generic i686

** Changed in: tortoisehg (Ubuntu)
       Status: Incomplete => Confirmed

-- 
'hgtk log' sometimes leave a frozen process on close
https://bugs.launchpad.net/bugs/519984
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs at lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs


More information about the universe-bugs mailing list