I already nagged about this on irct, but i have collected some log output.
The problem is the following : Freevo (1.4) kill's mplayer (with dfbmga) 
always the hard way when playing video. Playing audio files doesn't show any 
problem. I investigated this and made the following observations.

- Killing mplayer manually from the shell (but started by freevo!) works 
perfectly. 
- Although mplayer is single-threaded afaik, with dfbmga it does use multiple 
threads (mostly 4 or 5, this seem to fluxtuate, dunno why).
- After freevo hardkills mplayer, a zombie mplayer process is left over.
- No real side-effects for the user, although he has to wait 2 seconds after 
pressing stop or back before the menu shows up (because of the repeated 
polling in childapp)
- I've never seen something similar with other output methods i tested (xv, 
dxr3, mga_vid) so i guess it's speceific to dfbmga.
Mplayer 1.0_rc2 was used btw. but 0.9.2 gave the same results.

I do have a log (debug=3) of stopping a movie,and it shows some tracebacks... 
have no idea why they are there though (just for debugging or deeper 
reasons).

main.py (325): handling event STOP
childapp.py (418): got stop command
  File "/usr/lib/python2.3/site-packages/freevo/main.py", line 457, in ?
    main_func()
  File "/usr/lib/python2.3/site-packages/freevo/main.py", line 351, in 
main_func
    if not rc_object.app(event):
  File "/usr/lib/python2.3/site-packages/freevo/video/plugins/mplayer.py", 
line 335, in eventhandler
    self.stop()
  File "/usr/lib/python2.3/site-packages/freevo/video/plugins/mplayer.py", 
line 291, in stop
    self.thread.stop('quit\n')
  File "/usr/lib/python2.3/site-packages/freevo/childapp.py", line 419, in 
stop
    traceback.print_stack()
childapp.py (423): sending exit command to app
childapp.py (342): stdout: No data, stopping (pid 3320)!
childapp.py (342): stderr: No data, stopping (pid 3321)!
childapp.py (487): waiting for main to be ready for the killing
popen3.py (134): main checking childs
childapp.py (232): killing my child
  File "/usr/lib/python2.3/threading.py", line 436, in __bootstrap
    self.run()
  File "/usr/lib/python2.3/site-packages/freevo/childapp.py", line 491, in run
    self.app.kill()
  File "/usr/lib/python2.3/site-packages/freevo/video/plugins/mplayer.py", 
line 469, in kill
    childapp.ChildApp.kill(self, signal.SIGINT)
  File "/usr/lib/python2.3/site-packages/freevo/childapp.py", line 233, in 
kill
    traceback.print_stack()
popen3.py (159): poll
childapp.py (255): childapp: killing pid 3319 signal 2
popen3.py (134): main checking childs
popen3.py (134): main checking childs
popen3.py (134): main checking childs
childapp.py (261): childapp: Before wait(3319)
popen3.py (159): poll
popen3.py (134): main checking childs
popen3.py (159): poll
popen3.py (134): main checking childs
popen3.py (159): poll
popen3.py (134): main checking childs
popen3.py (159): poll
popen3.py (134): main checking childs
popen3.py (159): poll
popen3.py (134): main checking childs
popen3.py (159): poll
popen3.py (134): main checking childs
popen3.py (159): poll
popen3.py (134): main checking childs
popen3.py (159): poll
popen3.py (134): main checking childs
popen3.py (159): poll
popen3.py (134): main checking childs
popen3.py (159): poll
popen3.py (134): main checking childs
popen3.py (159): poll
popen3.py (134): main checking childs
popen3.py (159): poll
popen3.py (134): main checking childs
popen3.py (159): poll
popen3.py (134): main checking childs
popen3.py (159): poll
popen3.py (134): main checking childs
popen3.py (159): poll
popen3.py (134): main checking childs
popen3.py (159): poll
popen3.py (134): main checking childs
popen3.py (159): poll
popen3.py (134): main checking childs
popen3.py (159): poll
popen3.py (134): main checking childs
popen3.py (159): poll
popen3.py (134): main checking childs
popen3.py (159): poll
popen3.py (134): main checking childs
force killing with signal 9
popen3.py (159): poll
popen3.py (134): main checking childs
popen3.py (159): poll
popen3.py (134): main checking childs
popen3.py (159): poll
popen3.py (134): main checking childs
popen3.py (159): poll
popen3.py (134): main checking childs
popen3.py (159): poll
popen3.py (134): main checking childs
popen3.py (159): poll
popen3.py (134): main checking childs
popen3.py (159): poll
popen3.py (134): main checking childs
popen3.py (159): poll
popen3.py (134): main checking childs
popen3.py (159): poll
popen3.py (134): main checking childs
popen3.py (159): poll
popen3.py (134): main checking childs
popen3.py (159): poll
popen3.py (134): main checking childs
popen3.py (159): poll
popen3.py (134): main checking childs
popen3.py (159): poll
popen3.py (134): main checking childs
popen3.py (159): poll
popen3.py (134): main checking childs
popen3.py (159): poll
popen3.py (134): main checking childs
popen3.py (159): poll
popen3.py (134): main checking childs
popen3.py (159): poll
popen3.py (134): main checking childs
popen3.py (159): poll
popen3.py (134): main checking childs
popen3.py (159): poll
popen3.py (134): main checking childs
popen3.py (159): poll
popen3.py (134): main checking childs
childapp.py (276): childapp: After wait()
mplayer.py (470): Killing mplayer
popen3.py (134): main checking childs
popen3.py (134): main checking childs
popen3.py (134): main checking childs
popen3.py (134): main checking childs
main.py (606): draw
area.py (179): show, force update
  



-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?  SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/
_______________________________________________
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel

Reply via email to