Date: Wed, 10 Sep 1997 19:38:23 +0300 (IDT) From: Eli Zaretskii To: David Jenkins cc: djgpp AT delorie DOT com Subject: Re: SIGSEGV error meanings?? In-Reply-To: <$pUtJBAbyoF0EwFX@jenkinsdavid.demon.co.uk> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Precedence: bulk On Wed, 10 Sep 1997, David Jenkins wrote: > Call frame traceback EIPs: > 0x000056ba __getpixel+30 > 0x000036be _make_hover_sprites+174, line 300 of init.c > 0x00002de7 _init_display+259, line 72 of init.c > 0x00003cf2 _main+82, line 41 of main.c > 0x0003456e ___crt1_startup+138 > > the , line 300 of init.c are pretty straightforward. > BUT what's the +174 in _make_hover_sprites+174 mean?? +174 means it is at offset 174 from the beginning of the function. If you disassemble near the address, you will be able to see exactly what instruction is that (line 300 might generate a whole slew of them). > AND What's this ___crt1_startup+138, and where did it come from?? Is it > something in the startup code or something?? Yes, that's the function in the startup code that calls your main. It is perfectly normal to see it, all valid tracebacks begin with __crt1_startup. > Exiting due to signal SIGSEGV > Page fault at eip=000056ba, error=0004 > eax=69696b6a ebx=0002a7e4 ecx=00b68004 edx=00000000 esi=69696b6a This is a null pointer dereference, if you ask me. For Page Faults, error=0004 means you are writing into an address that's not present, and EDX is zero, which is probably the pointer. Can it be that your friend uses CWSDPMI while you use something else, like Windows?