I've actually gotten both the interned string thing and a pygame parachute error in the same run
also, I still think the weird _strdup linkage is a good clue. I haven't had time to try myself, but I think compiling sdl with mingw with source modified to not call strdup ever will fix the problem. On Sun, Aug 17, 2008 at 11:55 PM, Lenard Lindstrom <[EMAIL PROTECTED]> wrote: > Thanks Nicholas, > > That is kind of interesting, and kind of confusing. Hugo Arts got a Pygame > parachute on XP that was traced to SDL itself. I get a Fatal Python error, > as do you. But unless you use a vintage Windows system as I do then it would > seem the type of error is independent of Windows version. It behaves as a > memory violation, but where. And it is MinGW specific. > > I ran gdb on a small C program that does a self blit. I saw no place where > pointers go astray. The obvious way in which MinGW and VC code differs is > some inline assembly happens with MinGW. But a test on the inlined assembly > code involved with an overlapping blit showed no problems. I must be making > a faulty assumption somewhere. > > Lenard > > > Nicholas Dudfield wrote: > >> Lenard, >> >> "Fatal Python error: Inconsistent interned string state." >> >> >> On Mon, Aug 18, 2008 at 8:17 AM, Lenard Lindstrom <[EMAIL PROTECTED]<mailto: >> [EMAIL PROTECTED]>> wrote: >> >> Yes, debug print statements show the crash happens when the SDL >> blit funcion SDL_BlitSurface is called. Did you get a Pygame >> parachute or a Python interned string violation? >> >> Lenard >> >> >> Nicholas Dudfield wrote: >> >> Ok, I have been informed there is are PyGame blits not derived >> from SDL, so that explains that. >> >> {pygame_AlphaBlit, pygame_Blit} from clip above looks like >> >> Seems oblivious (sic) now it's pointed out. >> >> >> On Sat, Aug 16, 2008 at 4:37 PM, Nicholas Dudfield >> <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> >> <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>> wrote: >> >> I had a little play with the test_blit_to_self.py: >> SDL VERSION: >> >> 1.2.13 prebuilts >> >> PYGAME: >> >> Mingw compiled, svn r 1619 >> >> OBSERVATIONS: >> >> Unmodified the test wouldn't run at all as noted earlier. >> >> I don't know if it's any help but I noticed after >> commenting out >> the "blitting screen to self" section that I could get the >> "blitting surface to self" test and "blitting surface to >> screen" >> to run the full 100 cycles if I instantiated the Surface >> `a` with >> pygame.SRCALPHA flags. >> >> Also, if using BLEND_RGB_ADD flags "blitting screen to self" >> worked. Also screen.copy() worked as a source... but eh. >> >> CONCLUSIONS: >> >> s.blit(s, (0,0)) works if SRCALPHA bits set for s >> screen.blit(screen, step, None, pygame.BLEND_RGB_ADD) >> >> Is that any help for you guys in debugging?? I have no C-fu >> or I >> would have a tinker myself. >> >> >> >> > > -- > Lenard Lindstrom > <[EMAIL PROTECTED]> > >