Duncan Webb schrieb: > Tanja wrote: >> Hi Duncan, >> >> it seems that my problem with the recordserver is gone after upgrading >> python to version 2.5.2a0. >> >> All my test showed, that problem was happening inside of subprocess.Popen. >> As you also noticed, a >> print statement directly after the Popen call was never executed, but there >> was also never an >> exception. Somehow freevo got lost in the Popen call and there was not >> further sign of life from >> there. This observations made me start googling and maybe the problem was >> due to this python bug: >> >> Issue #1336: fix a race condition in subprocess.Popen if the garbage >> collector kicked in at the wrong time that would cause the process >> to hang when the child wrote to stderr. >> http://bugs.python.org/issue1336 > > I'm not 100% sure that this was the problem, I've not upgraded Python on > my test box and recording is now fine. The plug-in that I use does write > a lot to stderr. Are you using mplayer to capture DVB streams, if so > then mplayer tends to write to stderr at the start up. >
I am also not sure, but after testing one afternoon and evening, where every single recording fails because of Popen, I did upgrade and suddenly recording works. So no idea what exactly was causing the problem, but yes I use mplayer and it complains at startup about not finding lirc files, what is no problem as I do not want it to use lirc ;-) Maybe I can prevent that from happening with -nolirc, but then now it is working... >> Anyway, now (after upgrading) the recording works as expected! :-) > > So long as it is fixed then we're happy. > >> But now I have the shutdown problem you were talking about. :-( > > Do you have the mpd plug-ins activated? No, mdp plug-in is not activated. This is what is activated: audio.detach (active) plugin to detach the audio player to e.g... autoshutdown (active) Plugin to shutdown Freevo from the main ... rom_drives.rom_items (active) Plugin to add the rom drives to a main m... tv.manual_record (active) This plugin is used to display your list... tv.recordings_manager (active) Plugin to browse the TV recordings direc... tv.scheduled_recordings (active) This plugin is used to display your curr... tv.view_favorites (active) This plugin is used to display your list... tv (active) TV main menu option audio.lyrics (active) Displays the lyric of a selected song. ejectromdrives (active) This plugin ejects/close the tray of rom... file_ops (active) small plugin to delete files video.bookmarker (active) Automatically bookmark where you were wh... video.imdb (active) You can add IMDB information for video i... video.mover (active) Plugin to move video files audio.detachbar (active) This plugin enables a small bar showing ... idlebar (active) To activate the idle bar, put the follow... autoshutdown.autoshutdowntimer (active) Plugin to shutdown Freevo automatically ... buttonbar (active) This plugin adds to the bottom of the di... mixer (active) Mixer for Freevo rom_drives.autostart (active) Plugin to autostart if a new medium is i... tiny_osd (active) osd plugin. www (active) Starts the webserver when freevo is started audio.mplayer (active) Mplayer plugin for the audio player. Use... tv.generic_record (active) Generic TV recording application used wi... tv.get_xmltv (active) This gives a menu entry in the tv sectio... tv.mplayer (active) Plugin to watch tv with mplayer. video.mplayer (active) Mplayer plugin for the video player. video.xine (active) Xine plugin for the video player. audio (active) Plugin to handle all kinds of audio items image (active) Plugin to handle all kinds of image items video (active) Plugin to handle all kinds of video items idlebar.clock (active) Shows the current time. idlebar.diskfree (active) Displays the amount of free disk space idlebar.tv (active) Informs you, when the xmltv-listings exp... Did you already solve the issue? I am using autoshutdown and autoshutdown.timer. After the allowed idle time, the gui of freevo (main.py) shuts down, but the system never reaches the point, where the shutdown command for the system is issued. Thus the system keeps running and when I check which processes are still there then I see the recordserver is also still alive. Actually I have no idea, if the recordserver was ever stopped cleanly here, or if it was killed, when the system went down. In the log messages of the recordserver there is nothing special at the time of the shutdown of the gui, it seems not to notice that at all. This is from main.log: 2008-03-07 11:10:44,847 DEBUG autoshutdown.py (402): idle for 2689 seconds, 0 minutes remaining 2008-03-07 11:11:04,406 DEBUG main.py (468): redraw 2008-03-07 11:11:04,866 DEBUG autoshutdown.py (371): poll() 2008-03-07 11:11:04,867 DEBUG autoshutdown.py (424): is_shutdown_allowed() 2008-03-07 11:11:04,868 DEBUG autoshutdown.py (656): __get_scheduled_recording(index=0) 2008-03-07 11:11:04,868 DEBUG autoshutdown.py (636): __is_recordserver_remote() 2008-03-07 11:11:04,870 DEBUG record_client.py (209): getScheduledRecordingsNow() 2008-03-07 11:11:04,870 DEBUG record_client.py (87): recordserver_rpc(cmd='getScheduledRecordings', args=(), kwargs={}) 2008-03-07 11:11:04,877 DEBUG record_client.py (216): getScheduledRecordingsNow.result=<tv.record_types.ScheduledRecordings instance at 0x876392c> 2008-03-07 11:11:04,878 DEBUG autoshutdown.py (679): Scheduled recording 0 at Fri Mar 7 22:00:00 2008 is Fr Mär 07 22:00->22:50 (22:00) 16418 Men in Trees 2008-03-07 11:11:04,879 DEBUG autoshutdown.py (734): __check_processes() 2008-03-07 11:11:04,880 DEBUG autoshutdown.py (758): __syscall(cmd='ps -eo cmd | egrep -v "grep" | egrep "(/|[[:space:]]|^)(top|tv_grab|mplayer|easytag|nano)($|[[:space:]])"', pretend=False) 2008-03-07 11:11:04,881 DEBUG autoshutdown.py (763): Executing syscall: ps -eo cmd | egrep -v "grep" | egrep "(/|[[:space:]]|^)(top|tv_grab|mplayer|easytag|nano)($|[[:space:]])" 2008-03-07 11:11:05,097 DEBUG autoshutdown.py (746): no external process(es) running 2008-03-07 11:11:05,098 DEBUG autoshutdown.py (399): Shutdown issued by autoshutdown timer! 2008-03-07 11:11:05,098 DEBUG autoshutdown.py (500): shutdown_action(action=0) 2008-03-07 11:11:05,099 DEBUG autoshutdown.py (502): shutdown wakeup 2008-03-07 11:11:05,100 DEBUG autoshutdown.py (539): __schedule_wakeup_and_shutdown() 2008-03-07 11:11:05,101 DEBUG autoshutdown.py (450): get_next_wakeup() 2008-03-07 11:11:05,101 DEBUG autoshutdown.py (656): __get_scheduled_recording(index=0) 2008-03-07 11:11:05,102 DEBUG autoshutdown.py (636): __is_recordserver_remote() 2008-03-07 11:11:05,104 DEBUG record_client.py (209): getScheduledRecordingsNow() 2008-03-07 11:11:05,104 DEBUG record_client.py (87): recordserver_rpc(cmd='getScheduledRecordings', args=(), kwargs={}) 2008-03-07 11:11:05,112 DEBUG record_client.py (216): getScheduledRecordingsNow.result=<tv.record_types.ScheduledRecordings instance at 0x90cbe8c> 2008-03-07 11:11:05,113 DEBUG autoshutdown.py (679): Scheduled recording 0 at Fri Mar 7 22:00:00 2008 is Fr Mär 07 22:00->22:50 (22:00) 16418 Men in Trees 2008-03-07 11:11:05,114 DEBUG autoshutdown.py (697): __get_next_default_wakeup() 2008-03-07 11:11:05,115 DEBUG autoshutdown.py (724): Default wakeup at Fri Mar 7 19:00:00 2008 2008-03-07 11:11:05,116 DEBUG autoshutdown.py (556): Wakeup-command sudo /usr/local/bin/set_wakeuptime.sh '2008-03-07 18:57' 2008-03-07 11:11:05,117 DEBUG autoshutdown.py (758): __syscall(cmd="sudo /usr/local/bin/set_wakeuptime.sh '2008-03-07 18:57'", pretend=False) 2008-03-07 11:11:05,117 DEBUG autoshutdown.py (763): Executing syscall: sudo /usr/local/bin/set_wakeuptime.sh '2008-03-07 18:57' 2008-03-07 11:11:05,408 DEBUG autoshutdown.py (512): shutdown system 2008-03-07 11:11:05,409 DEBUG autoshutdown.py (596): __cleanup_freevo() 2008-03-07 11:11:05,419 DEBUG osd.py (193): Loading font "/usr/local/freevo1/freevo/share/fonts/Vera.ttf" 2008-03-07 11:11:05,952 DEBUG plugin.py (354): shutdown plugin 2008-03-07 11:11:05,953 DEBUG rom_drives.py (144): stopping Identify_Thread 2008-03-07 11:11:06,366 DEBUG plugin.py (354): shutdown plugin Stopping webserver plugin. 2008-03-07 11:11:07,602 DEBUG plugin.py (354): shutdown plugin 2008-03-07 11:11:07,604 DEBUG plugin.py (354): shutdown plugin 2008-03-07 11:11:07,604 DEBUG plugin.py (354): shutdown plugin Stopping webserver plugin. 2008-03-07 11:11:07,693 DEBUG rc.py (120): rc.shutdown() 2008-03-07 11:11:07,694 DEBUG rc.py (628): EventHandler.shutdown() 2008-03-07 11:11:07,695 DEBUG rc.py (630): shutting down <bound method autostart.shutdown of <plugins.rom_drives.autostart instance at 0x877a94c>> 2008-03-07 11:11:07,696 DEBUG rc.py (630): shutting down <bound method PluginInterface.shutdown of <www.PluginInterface instance at 0x89d26ac>> Stopping webserver plugin. 2008-03-07 11:11:08,423 ERROR signal.emit Traceback (most recent call last): File "../base/build/lib.linux-i686-2.5/kaa/notifier/signals.py", line 209, in emit File "../base/build/lib.linux-i686-2.5/kaa/notifier/callback.py", line 168, in __call__ TypeError: signal_handler() takes exactly 2 arguments (0 given) 2008-03-07 11:11:08,426 DEBUG close socket for <kaa.rpc.Channel (client) 27> 2008-03-07 11:11:08,430 INFO stop process watching There is a Traceback concerning kaa. Is it save to update kaa to the current svn version? Maybe this will already fix the problem... Greetings Tanja ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Freevo-devel mailing list Freevo-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freevo-devel