"tstate mix-up". I've looked, and there are no Python calls done without having the GIL. Like I said, its an extremely weird bug. It also occurs if you do five play throughs(play(0)) sequentially.
-Tyler On Fri, Aug 21, 2009 at 6:11 PM, Lenard Lindstrom <[email protected]> wrote: > Hi, > > Is it always a "tstate mix-up". If so, then it is likely a threading > problem. Absolutely no Python api calls should be made while the GIL is > released. If not then probably a memory problem. > > Lenard > > Tyler Laing wrote: > >> Yeah I know about that. Its because of everything that is done to the >> video file in the example code. Its a very hard error to pindown. Sometimes >> it happens during debugging, sometimes not. It happens on various kinds of >> videos, so its not format dependent, and it only happens after stopping and >> restarting, and adding surfaces. I haven't found it happening any other way. >> >> Thanks for the feedback. >> >> -Tyler >> >> On Thu, Aug 20, 2009 at 2:05 PM, Lenard Lindstrom <[email protected]<mailto: >> [email protected]>> wrote: >> >> Hi, >> >> It builds and installs in Debian lenny now. The __movie_test.py >> even works for the most part, though fails at the end with this error: >> >> Unpausing... >> True >> True >> Stopping..., sleeping for 3 seconds >> Playing again... >> done restart play... >> Surface time... >> ValueError: surface does not have the same aspect ratio as the >> video. This would cause surface corruption. >> Fatal Python error: ceval: tstate mix-up >> Aborted >> >> I was playing an .flv file, so maybe that had something to do with it. >> >> Lenard >> >> Tyler Laing wrote: >> >> Fixed that, sorry. I should have done an else, but I did an >> endif >.> >> >> -Tyler >> >> On Thu, Aug 20, 2009 at 1:09 PM, Lenard Lindstrom >> <[email protected] <mailto:[email protected]> >> <mailto:[email protected] <mailto:[email protected]>>> wrote: >> >> Hi Tyler, >> >> It is finding the headers, but now I am getting this >> compiler error: >> >> gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall >> -Wstrict-prototypes -fPIC -D_REENTRANT -I/usr/X11R6/include >> -I/usr/include/SDL -I/usr/include/ffmpeg -I/usr/include/ffmpeg >> -I/usr/include/SDL -I/usr/include/python2.5 -c src/_gmovie.c -o >> build/temp.linux-i686-2.5/src/_gmovie.o >> >> src/_gmovie.c: In function ‘video_image_display’: >> src/_gmovie.c:516: warning: unused variable ‘_oldtstate’ >> src/_gmovie.c: In function ‘queue_picture’: >> src/_gmovie.c:826: warning: unused variable ‘_oldtstate’ >> src/_gmovie.c: In function ‘stream_open’: >> src/_gmovie.c:1482: warning: unused variable >> ‘wanted_subti_stream’ >> >> src/_gmovie.c: In function ‘video_render’: >> src/_gmovie.c:2444: error: ‘AVCodecContext’ has no member named >> ‘reordered_opaque’ >> >> error: command 'gcc' failed with exit status 1 >> l >> >> Here is the version information returned by ffmpeg: >> >> $/usr/bin/ffmpeg >> FFmpeg version r11872+debian_0.svn20080206-17+lenny1, Copyright >> (c) 2000-2008 Fabrice Bellard, et al. >> configuration: --enable-gpl --enable-libfaad --enable-pp >> --enable-swscaler --enable-x11grab --prefix=/usr >> --enable-libgsm >> --enable-libtheora --enable-libvorbis --enable-pthreads >> --disable-strip --enable-libdc1394 --disable-armv5te >> --disable-armv6 --disable-altivec --disable-vis --enable-shared >> --disable-static >> libavutil version: 49.6.0 >> libavcodec version: 51.50.0 >> libavformat version: 52.7.0 >> libavdevice version: 52.0.0 >> built on Apr 28 2009 02:12:01, gcc: 4.3.2 >> >> Though ffmpeg is statically linked I assume it use the same >> library versions as the share libraries. >> >> Lenard >> >> Tyler Laing wrote: >> >> And I've now committed a fix for throwing exceptions if the >> surface given has the wrong aspect ratio. >> >> -Tyler >> >> On Thu, Aug 20, 2009 at 9:46 AM, Tyler Laing >> <[email protected] <mailto:[email protected]> >> <mailto:[email protected] <mailto:[email protected]>> >> <mailto:[email protected] >> <mailto:[email protected]> <mailto:[email protected] >> <mailto:[email protected]>>>> wrote: >> >> I have this fixed, with it committed in revision >> 2628. I have a >> custom Dependency class that adds extra directories >> to the >> include >> search path(like libavformat or ffmpeg). This >> prevents any >> accidental conflict of namespaces. Let me know if this >> works or not. >> >> -Tyler >> >> >> On Tue, Aug 18, 2009 at 5:17 PM, Lenard Lindstrom >> <[email protected] <mailto:[email protected]> >> <mailto:[email protected] <mailto:[email protected]>> >> <mailto:[email protected] <mailto:[email protected]> >> <mailto:[email protected] <mailto:[email protected]>>>> wrote: >> >> Hi, >> >> No, I don't see any Debian specific predefined >> compiler >> macros. ffmpeg library information is available >> through >> pkg-config. >> >> Lenard >> >> Tyler Laing wrote: >> >> Does debian have a unique compile time flag >> I can use? >> >> -Tyler >> >> On Tue, Aug 18, 2009 at 12:09 PM, Lenard >> Lindstrom >> <[email protected] <mailto:[email protected]> >> <mailto:[email protected] <mailto:[email protected]>> >> <mailto:[email protected] <mailto:[email protected]> >> <mailto:[email protected] <mailto:[email protected]>>> >> <mailto:[email protected] >> <mailto:[email protected]> <mailto:[email protected] >> <mailto:[email protected]>> >> <mailto:[email protected] <mailto:[email protected]> >> <mailto:[email protected] <mailto:[email protected]>>>>> wrote: >> >> Hi Tyler, >> >> /usr/include is included in the default >> header >> search >> paths. What >> is installed is >> /usr/include/ffmpeg/avformat.h, not >> >> /usr/include/ffmpeg/libavformat/avformat.h. This >> may be >> a quirk of >> the Debian dev package and not the >> general case. >> >> Lenard >> >> Tyler Laing wrote: >> >> You don't have -l/usr/include >> actually. What >> I will >> do is add >> to the directories searched, for the >> specific >> libraries to >> search in /usr/include/ffmpeg && >> /usr/include/<relevant >> library name> for if people install >> from source. >> Does that >> sound like a good solution? >> >> -Tyler >> >> On Tue, Aug 18, 2009 at 9:03 AM, Lenard >> Lindstrom >> <[email protected] >> <mailto:[email protected]> <mailto:[email protected] >> <mailto:[email protected]>> >> <mailto:[email protected] <mailto:[email protected]> >> <mailto:[email protected] <mailto:[email protected]>>> >> <mailto:[email protected] >> <mailto:[email protected]> <mailto:[email protected] >> <mailto:[email protected]>> >> <mailto:[email protected] <mailto:[email protected]> >> <mailto:[email protected] <mailto:[email protected]>>>> >> <mailto:[email protected] >> <mailto:[email protected]> >> <mailto:[email protected] <mailto:[email protected]>> >> <mailto:[email protected] <mailto:[email protected]> >> <mailto:[email protected] <mailto:[email protected]>>> >> <mailto:[email protected] >> <mailto:[email protected]> <mailto:[email protected] >> <mailto:[email protected]>> >> <mailto:[email protected] <mailto:[email protected]> >> <mailto:[email protected] <mailto:[email protected]>>>>>> wrote: >> >> Ok, when I add >> >> _movie src/_gsound.c src/_gmovie.c >> src/_gcommand.c src/gmovie.c >> $(SDL) $(AVFORMAT) $(SWSCALE) $(MIXER) >> $(DEBUG) >> >> to Setup I get these build errors: >> >> >> building 'pygame._movie' extension >> gcc -pthread -fno-strict-aliasing >> -DNDEBUG -g >> -fwrapv -O2 -Wall >> -Wstrict-prototypes -fPIC -D_REENTRANT >> -I/usr/X11R6/include >> -I/usr/include/SDL -I/usr/include/SDL >> -I/usr/include/python2.5 -c >> src/_gsound.c -o >> build/temp.linux-i686-2.5/src/_gsound.o >> In file included from >> src/_gsound.c:35: >> src/_gsound.h:36:34: error: >> libavformat/avformat.h: No such >> file >> or directory >> src/_gsound.c: In function >> ‘seekBuffer’: >> src/_gsound.c:403: error: >> ‘AV_NOPTS_VALUE’ >> undeclared >> (first use >> in this function) >> src/_gsound.c:403: error: (Each >> undeclared >> identifier is >> reported >> only once >> src/_gsound.c:403: error: for each >> function it >> appears in.) >> error: command 'gcc' failed with exit >> status 1 >> >> The Debian dev package installs >> avformat.h in >> ffmpeg, not >> libavformat. >> >> Lenard >> >> >> Lenard Lindstrom wrote: >> >> Hi René, >> >> My mistake. I didn't pay >> attention to >> the error. >> _movie.so was >> not event built since the >> _movie entry is >> missing in >> Setup.in. >> I had to manually enter it to >> Setup >> the last >> time, and that >> was clobbered when I reran >> config.py. >> >> Lenard >> >> >> René Dudfield wrote: >> >> On Tue, Aug 18, 2009 at >> 4:47 PM, >> Lenard >> Lindstrom<[email protected] >> <mailto:[email protected]> >> <mailto:[email protected] <mailto:[email protected]>> >> <mailto:[email protected] >> <mailto:[email protected]> <mailto:[email protected] >> <mailto:[email protected]>>> >> <mailto:[email protected] <mailto:[email protected]> >> <mailto:[email protected] <mailto:[email protected]>> >> <mailto:[email protected] >> <mailto:[email protected]> <mailto:[email protected] >> <mailto:[email protected]>>>> >> <mailto:[email protected] >> <mailto:[email protected]> >> <mailto:[email protected] <mailto:[email protected]>> >> <mailto:[email protected] <mailto:[email protected]> >> <mailto:[email protected] <mailto:[email protected]>>> >> <mailto:[email protected] >> <mailto:[email protected]> <mailto:[email protected] >> <mailto:[email protected]>> >> <mailto:[email protected] <mailto:[email protected]> >> <mailto:[email protected] <mailto:[email protected]>>>>>> wrote: >> >> Hi Tyler, >> >> The module now builds, >> but the >> _movie_test.py unit >> tests fail: >> >> ERROR: >> MovieTypeTest.test_height >> >> ---------------------------------------------------------------------- >> Traceback (most recent >> call >> last): >> File >> >> >> "/home/lenard/.local/lib/python2.5/site-packages/pygame/tests/_movie_test.py", >> >> line 125, in test_height >> movie = >> gmovie.Movie(movie_file) >> AttributeError: 'NoneType' >> object has no >> attribute 'Movie' >> >> If "movie_file" is missing >> shouldn't >> gmovie.Movie >> raise an exception? >> >> Lenard >> >> >> hi, >> >> check out the try/except >> at the >> top of >> that test... >> maybe >> it is >> raising an exception, and >> catching it. >> >> that try/except was added >> to try >> and get >> the build >> bot to >> build again. >> >> cheers, >> >> >> >> >> >> >> -- Visit my blog at >> http://oddco.ca/zeroth/zblog >> >> >> >> >> >> -- Visit my blog at >> http://oddco.ca/zeroth/zblog >> >> >> >> >> >> >> -- Visit my blog at http://oddco.ca/zeroth/zblog >> >> >> >> >> -- Visit my blog at http://oddco.ca/zeroth/zblog >> >> >> >> >> >> -- Visit my blog at http://oddco.ca/zeroth/zblog >> >> >> >> >> >> -- >> Visit my blog at http://oddco.ca/zeroth/zblog >> > > -- Visit my blog at http://oddco.ca/zeroth/zblog
