2005-04-21, 19:22
(jpf @ april 21 2005,17:05 Wrote:i've upgraded to cvs 2005-04-10(jpf @ april 21 2005,16:47 Wrote:could you point me towards a xbmc-cvs build that actually works? and to a location. the primary -my mom- mirror only has a build since 2005-04-01(madtw @ april 21 2005,15:40 Wrote:first comment is that you probably should try a newer version of xbmc. there have been a bunch of changes (including bug fixes) to the xbmc python module in early april.hi,
as for the error log you posted, the player errors probably happened after you tried to exit the live tv screen? when the live tv window is closed, the code first destroys the player object that was created for live tv playback... then the window should've closed. if it didn't then the player object would no longer exist and you would get a bunch of errors any time you tried to do anything that used the player object. i can change the way the code works so that it will recreate the player object if it doesn't exist or not delete the player object stored in the window (and let python clean it up when the window is destroyed) but if everything is working as it should, the player object should never be accessed after an attempted window close.
that last error is a bit puzzling... win had to exist for the domodal() call so why does it no longer exist. i remember seeing that error before (last year)... the fix at the time was to comment out the line.
ok well basically the newer versions of xbmc have horrible bugs, the mplayer window shows a black screen sometimes amongst other random problems.
when i can't exit the screens, basically i can still use all the menus in the screen i'm stuck in. the main screen that freezes is the recordedshowdetails screen, but the livetv screen does that periodically as well. i also was having problems with connections freezing, and when i killed the mythbackend then i magically got control of the menus again, so i changed the socket to a timeoutsocket, put a default of 20 seconds in there, i haven't had a freeze like that since.
also, why was the "back" button disabled? i reenabled it here:
# stop user from quitting selecting parent dir in main window
if action == mythtvgui.action_parent_dir:
actionconsumed = none
maybe the back button will work even if the "menu" button doesn't, but maybe there is something i'm not aware of.
here is the change i made to def connect()
def connect( self ):
s = timeoutsocket.socket( socket.af_inet, socket.sock_stream )
timeoutsocket.setdefaultsockettimeout(20);
with regards to the last error, i've seen it a few times. i am still able to exit onto the main menu and then everything seems fine.
why is the program referencing a window id of -10000? that happens every time i can't exit the menu and am trying to by pressing the "menu" key.
it would probably be good to add code to recreate any connection that fails (connection reset by peer is an error i see sometimes), as well as recreate the player object if it does not exist.
now i'm getting this:
21-04-2005 17:17:57 info traceback (most recent call last):
21-04-2005 17:17:57 info file "e:\apps\xbmc\scripts\xbmcmythtv\mythtvmain.py", line 60, in oncontrol
21-04-2005 17:17:57 info mythtvguide.showwindow()
21-04-2005 17:17:57 info file "e:\apps\xbmc\scripts\xbmcmythtv\mythtvguide.py", line 30, in showwindow
21-04-2005 17:17:57 info win.loadguide()
21-04-2005 17:17:57 info file "e:\apps\xbmc\scripts\xbmcmythtv\mythtvguide.py", line 467, in loadguide
21-04-2005 17:17:57 info self.channels[self.endchan].chanid() )
21-04-2005 17:17:57 info file "e:\apps\xbmc\scripts\xbmcmythtv\mythtv.py", line 728, in getprogramlistings
21-04-2005 17:17:57 info for row in rowiter:
21-04-2005 17:17:57 info file "e:\apps\xbmc\scripts\xbmcmythtv\mysql.py", line 707, in next
21-04-2005 17:17:57 info return self.fetchrowasdict
21-04-2005 17:17:57 info value = self.getstringandseekpos
21-04-2005 17:17:57 info length = self.getfieldlength
21-04-2005 17:17:57 info head = ord( self.msg[self.position] )
21-04-2005 17:17:57 info indexerror: string index out of range
21-04-2005 17:18:00 debug loadlibrarya('unicodedata.pyd')
21-04-2005 17:18:00 debug initializing fs_seg..
21-04-2005 17:18:00 debug fs segment @ 0xa322e0
21-04-2005 17:18:00 debug executing entrypoint at: 0x1f425bb - dll: unicodedata.pyd
21-04-2005 17:18:00 debug loadlibrary('unicodedata.pyd') returning: 0xa56610
21-04-2005 17:18:00 debug kernel32!getprocaddress(0xa56610, 'initunicodedata') => 0x1f424b0
21-04-2005 17:18:01 info traceback (most recent call last):
21-04-2005 17:18:01 info file "e:\apps\xbmc\scripts\xbmcmythtv\mythtv.py", line 1385, in refresh
21-04-2005 17:18:01 info self.dom = minidom.parsestring( statushtml )
21-04-2005 17:18:01 info file "q:\python\lib\_xmlplus\dom\minidom.py", line 1929, in parsestring
21-04-2005 17:18:01 info return expatbuilder.parsestring(string)
21-04-2005 17:18:01 info file "q:\python\lib\_xmlplus\dom\expatbuilder.py", line 940, in parsestring
21-04-2005 17:18:01 info return builder.parsestring(string)
21-04-2005 17:18:01 info file "q:\python\lib\_xmlplus\dom\expatbuilder.py", line 223, in parsestring
21-04-2005 17:18:01 info parser.parse(string, true)
21-04-2005 17:18:01 info expaterror: not well-formed (invalid token): line 17, column 7
21-04-2005 17:18:01 info activating window id: 13003
21-04-2005 17:18:02 info activating window id: 13002
21-04-2005 17:18:03 info traceback (most recent call last):
21-04-2005 17:18:03 info file "e:\apps\xbmc\scripts\xbmcmythtv\mythtvmain.py", line 60, in oncontrol
21-04-2005 17:18:03 info mythtvguide.showwindow()
21-04-2005 17:18:03 info file "e:\apps\xbmc\scripts\xbmcmythtv\mythtvguide.py", line 30, in showwindow
21-04-2005 17:18:03 info win.loadguide()
21-04-2005 17:18:03 info file "e:\apps\xbmc\scripts\xbmcmythtv\mythtvguide.py", line 457, in loadguide
21-04-2005 17:18:03 info self.channels = db.getchannellist()
21-04-2005 17:18:03 info file "e:\apps\xbmc\scripts\xbmcmythtv\mythtv.py", line 627, in getchannellist
21-04-2005 17:18:03 info rowiter = self.conn.dictrowiterator()
21-04-2005 17:18:03 info file "e:\apps\xbmc\scripts\xbmcmythtv\mysql.py", line 516, in dictrowiterator
21-04-2005 17:18:03 info iter.parse()
21-04-2005 17:18:03 info file "e:\apps\xbmc\scripts\xbmcmythtv\mysql.py", line 684, in parse
21-04-2005 17:18:03 info self.getcolumnnames
21-04-2005 17:18:03 info self.columns.append(
21-04-2005 17:18:03 info file "e:\apps\xbmc\scripts\xbmcmythtv\mysql.py", line 654, in getfieldlength()
21-04-2005 17:18:03 info file "e:\apps\xbmc\scripts\xbmcmythtv\mysql.py", line 622, in data[ "program.starttime" ]
21-04-2005 17:19:37 info keyerror: 'program.starttime'
21-04-2005 17:19:38 info traceback (most recent call last):
21-04-2005 17:19:38 info file "e:\apps\xbmc\scripts\xbmcmythtv\mythtvmain.py", line 60, in oncontrol
21-04-2005 17:19:38 info mythtvguide.showwindow()
21-04-2005 17:19:38 info file "e:\apps\xbmc\scripts\xbmcmythtv\mythtvguide.py", line 30, in showwindow
21-04-2005 17:19:38 info win.loadguide()
21-04-2005 17:19:38 info file "e:\apps\xbmc\scripts\xbmcmythtv\mythtvguide.py", line 457, in loadguide
21-04-2005 17:19:38 info self.channels = db.getchannellist()
21-04-2005 17:19:38 info file "e:\apps\xbmc\scripts\xbmcmythtv\mythtv.py", line 629, in getchannellist
21-04-2005 17:19:38 info for row in rowiter:
21-04-2005 17:19:38 info file "e:\apps\xbmc\scripts\xbmcmythtv\mysql.py", line 707, in next
21-04-2005 17:19:38 info return self.fetchrowasdict
21-04-2005 17:19:38 info value = self.getstringandseekpos
21-04-2005 17:19:38 info length = self.getfieldlength
21-04-2005 17:19:38 info head = ord( self.msg[self.position] )
21-04-2005 17:19:38 info indexerror: string index out of range
21-04-2005 17:19:40 info traceback (most recent call last):
21-04-2005 17:19:40 info file "e:\apps\xbmc\scripts\xbmcmythtv\mythtvmain.py", line 60, in oncontrol
21-04-2005 17:19:40 info mythtvguide.showwindow()
21-04-2005 17:19:40 info file "e:\apps\xbmc\scripts\xbmcmythtv\mythtvguide.py", line 30, in showwindow
21-04-2005 17:19:40 info win.loadguide()
21-04-2005 17:19:40 info file "e:\apps\xbmc\scripts\xbmcmythtv\mythtvguide.py", line 457, in loadguide
21-04-2005 17:19:40 info self.channels = db.getchannellist()
21-04-2005 17:19:40 info file "e:\apps\xbmc\scripts\xbmcmythtv\mythtv.py", line 627, in getchannellist
21-04-2005 17:19:40 info rowiter = self.conn.dictrowiterator()
21-04-2005 17:19:40 info file "e:\apps\xbmc\scripts\xbmcmythtv\mysql.py", line 516, in dictrowiterator
21-04-2005 17:19:40 info iter.parse()
21-04-2005 17:19:40 info file "e:\apps\xbmc\scripts\xbmcmythtv\mysql.py", line 684, in parse
21-04-2005 17:19:40 info self.getcolumnnames
21-04-2005 17:19:40 info self.columns.append(
21-04-2005 17:19:40 info file "e:\apps\xbmc\scripts\xbmcmythtv\mysql.py", line 654, in getfieldlength()
21-04-2005 17:19:40 info file "e:\apps\xbmc\scripts\xbmcmythtv\mysql.py", line 622, in data[ "program.starttime" ]
21-04-2005 17:19:41 info keyerror: 'program.starttime'
21-04-2005 17:19:43 info traceback (most recent call last):
21-04-2005 17:19:43 info file "e:\apps\xbmc\scripts\xbmcmythtv\mythtvmain.py", line 60, in oncontrol
21-04-2005 17:19:43 info mythtvguide.showwindow()
21-04-2005 17:19:43 info file "e:\apps\xbmc\scripts\xbmcmythtv\mythtvguide.py", line 30, in showwindow
21-04-2005 17:19:43 info win.loadguide()
21-04-2005 17:19:43 info file "e:\apps\xbmc\scripts\xbmcmythtv\mythtvguide.py", line 457, in loadguide
21-04-2005 17:19:43 info self.channels = db.getchannellist()
21-04-2005 17:19:43 info file "e:\apps\xbmc\scripts\xbmcmythtv\mythtv.py", line 629, in getchannellist
21-04-2005 17:19:43 info for row in rowiter:
21-04-2005 17:19:43 info file "e:\apps\xbmc\scripts\xbmcmythtv\mysql.py", line 707, in next
21-04-2005 17:19:43 info return self.fetchrowasdict
21-04-2005 17:19:43 info value = self.getstringandseekpos
21-04-2005 17:19:43 info length = self.getfieldlength
21-04-2005 17:19:43 info head = ord( self.msg[self.position] )
21-04-2005 17:19:43 info indexerror: string index out of range