Hey Will, > I suspect this is either a numeric thing or a pygame thing -- aren't > there some compiled bits in those libraries for speed purposes on some > systems? I recall having a 64-bit problem myself when I was first > mucking with PyKaraoke myself ;)
Yep I believe that one was a pygame vs 64-bit bug. In this case there are no libraries involved, however. It's just our own C module _pycdgAux.c which is reading the CDG bytes read directly from the CDG file. The problem is that it's reading an x,y offset from the CDG file which is outside of the 300x216 screen size, i.e. the data in the file at this location isn't a perfect rip of the original CDG command. The C code was then using this x,y offset to index into an array sized at 300x216. This was what caused the seg fault that Daniel sent the debug info on. It won't necessarily cause a seg fault on all machines though, as I found on my PC. It would have just been stomping on some memory somewhere that it probably shouldn't :-) It turns out that both of these files fail when using the pure Python implementation of pycdg as well, for the same reason: array index out of bounds. I'd better fix that one up too. The lesson here is to sanity-check the CDG commands as they aren't always perfectly ripped. Kelvin. ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier. Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Pykaraoke-discuss mailing list Pykaraoke-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pykaraoke-discuss