Thx. Forgot to reply all. Never mind about the compile issues for now. I made some progress replacing those stdint.h types with U32 and S32 and removing the boolean define in config.h. But now I've got some dependencies to find... aconf.h...
-Greg On Wed, Sep 21, 2011 at 2:25 PM, Chris <[email protected]> wrote: > [ I've taken the liberty of forwarding your message to the list Greg.] > > Begin forwarded message: > > Date: Wed, 21 Sep 2011 12:10:39 -0700 > From: Greg MacDonald <[email protected]> > To: Chris <[email protected]> > Subject: Re: [Swftools-common] Png bug in swfextract > > > Hi Chris, > > I have visual studio installed. Would the debug tools provide > additional information? I get a stack trace and a bit of assembly. I > can't tell much from it aside from that it's trying to access a byte > off an array using a pointer from the stack, which I'm guessing could > be a function parameter or local variable. > > 004047B7 call 0048B760 > 004047BC movzx edx,byte ptr [esp+0B8h] > 004047C4 mov ebx,dword ptr ds:[490098h] > 004047CA mov esi,dword ptr ds:[490078h] > 004047D0 xor dl,bl > 004047D2 movzx ecx,dl > 004047D5 shr ebx,8 > 004047D8 mov edx,dword ptr [esi+ecx*4] > 004047DB xor esi,esi > 004047DD xor ebx,edx > 004047DF mov dword ptr ds:[490098h],ebx > 004047E5 mov eax,dword ptr [esp+4Ch] > 004047E9 lea edx,[esp+0B7h] > > 004047F0 movzx ebx,byte ptr [eax+esi*4+1] <---- access > violation, esi = 182 > > 004047F5 mov dword ptr [esp],edx > 004047F8 mov dword ptr [esp+0Ch],edi > 004047FC mov dword ptr [esp+8],1 > 00404804 mov byte ptr [esp+0B7h],bl > 0040480B mov dword ptr [esp+4],1 > 00404813 call 0048B760 > > The stack trace indicates that the exception is coming from within > swfextract.exe. (For png 13 of the swf I sent you.) > > I'm still trying to compile so I can get a clearer picture. I finally > sorted out my mingw enviornment and I've got all my dependencies ready > but I'm getting a compile error: > > $ make > making all in m4... > cd m4;make all > make[1]: Entering directory `/src/swftools/m4' > make[1]: Leaving directory `/src/swftools/m4' > making all in lib... > cd lib;make all > make[1]: Entering directory `/src/swftools/lib' > gcc -c -DHAVE_CONFIG_H -I/gw32/include -I/gw32/include/freetype2 > -I/usr/local/include -I/usr/local/include/fontconfig - > I/usr/local/include/lame -IC:/GnuWin32/include/freetype2 > -IC:/GnuWin32/include -Ilame -Ilib/lame -fPIC -Wimplicit -Wretu > rn-type -Wno-write-strings -Wformat -O -fomit-frame-pointer > modules/swfaction.c -o modules/swfaction.obj > modules/swfaction.c:1:0: warning: -fPIC ignored for target (all code > is position independent) [enabled by default] > In file included from modules/../rfxswf.h:37:0, > from modules/swfaction.c:24: > modules/.././bitio.h:87:1: error: unknown type name 'uint32_t' > modules/.././bitio.h:88:1: error: unknown type name 'int32_t' > modules/.././bitio.h:101:40: error: unknown type name 'uint32_t' > modules/.././bitio.h:102:39: error: unknown type name 'int32_t' > make[1]: *** [modules/swfaction.obj] Error 1 > make[1]: Leaving directory `/src/swftools/lib' > make: *** [all] Error 2 > > Is this is an environment issue with mingw or something? > > Using swfextract.exe repeatedly on the command line creates the > exception. But I'm using it to view embedded swf images as part of a > gui asset validation and creation tool. I'm hoping to get it working > because otherwise I'll have to try a much more round about solution. > > From my observations of how it's failing I have a hunch that it's > related to the palette size. The assembly surrounding the chunk I sent > you had similar code with different offsets accessing that array, like > +2 instead of +1. So maybe it's accessing the rgb byte values there. > Since the palette size is small, 147 for that image, and the index > that caused the exception was much larger, 182, maybe it's accessing > past the end of the array. If there so happens to be extra valid > memory at the end of the array, then it might not throw... I'm just > speculating at this point though. I'm not even 100% sure if png format > 3 is paletted. > > Another interesting thing is, once it starts failing it doesn't seem > to stop. At least it hasn't yet for me... > > -Greg > > On Tue, Sep 20, 2011 at 8:43 PM, Chris <[email protected]> wrote: >> On Tue, 20 Sep 2011 13:37:00 -0700 >> Greg MacDonald <[email protected]> wrote: >> >>> Hi Chris, >>> >>> It has started happening on the other machine now. It worked great all >>> morning on that machine, but now it has started to consistently fail. >>> Is it possible there's an uninitialized variable being used somewhere? >>> >>> -Greg >> >> So it appears cumulative then. I'd still ask first, how you re actually >> using swfextract. Batch execution? >> >> This is a reasoned discussion of why it happens.. >> >> http://en.wikipedia.org/wiki/Access_violation >> >> >> Chris >> -- >> <[email protected]> >> > > > > -- > Chris <[email protected]> > > --------------- > SWFTools-common is a self-managed list. To subscribe/unsubscribe, or amend an > existing subscription, please kindly point your favourite web browser > at:<http://lists.nongnu.org/mailman/listinfo/swftools-common> > --------------- SWFTools-common is a self-managed list. To subscribe/unsubscribe, or amend an existing subscription, please kindly point your favourite web browser at:<http://lists.nongnu.org/mailman/listinfo/swftools-common>
