From: "Michael Beck" Newsgroups: comp.os.msdos.djgpp Subject: Re: HELP! SIGSEGV Page Fault Date: Mon, 28 Dec 1998 10:54:34 +0100 Organization: DResearch Lines: 38 Message-ID: <767ke6$e4l$1@latinum.dresearch.de> References: <7677mg$ri0$1 AT nnrp1 DOT dejanews DOT com> NNTP-Posting-Host: 195.99.74.37 X-Trace: latinum.dresearch.de 914838790 14485 192.168.0.15 (28 Dec 1998 09:53:10 GMT) X-Complaints-To: postmaster AT DResearch DOT DE NNTP-Posting-Date: 28 Dec 1998 09:53:10 GMT X-Newsreader: Microsoft Outlook Express 4.72.3110.5 X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3 Cache-Post-Path: eubuf61.eu.concert.net!unknown AT 194 DOT 75 DOT 26 DOT 11 X-Cache: nntpcache 2.3.2.1 (see http://www.nntpcache.org/) To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com leonj AT geocities DOT com wrote in message <7677mg$ri0$1 AT nnrp1 DOT dejanews DOT com>... >Im having a problem that's ticking me off. >I picked up a tutorial for Allegro from: [...] > >Shutting down Allegro >Exiting due to signal SIGSEGV >Page fault at eip=00012996, error=0004 >eax=00000000 ebx=00000000 ecx=00000100 edx=000003c9 esi=0f580000 edi=00042270 Looks like a NULL pointer access. Look at the eax, ebx registers. > >set_pallette((RGB*)data[TUT_GAMEPAL].dat); > add a check for NULL pointer before calling set_palette, for instance: #inlcude ... assert(((RGB*)data[TUT_GAMEPAL].dat != NULL); set_pallette((RGB*)data[TUT_GAMEPAL].dat); Now, if your program stops with an 'assertion failed' message, check while this is NULL. Hope that helps, -- Michael Beck, email: beck AT dresearch DOT de