screenshots make nexuiz crash

If you've had any problems with Nexuiz, or would like to report bugs, post here.

Moderators: Nexuiz Moderators, Moderators

screenshots make nexuiz crash

Postby Fuddl » Wed Aug 02, 2006 9:21 pm

hi guys!

taking screenshots by the "screenshot" command make nexuiz crash, if a custom resolution is set. a scrambled, black/white screenshot is written before the engine quits.

i can reproduce that crash on x86 and amd64 by setting vid_width 1270 and vid_height 930. executing the "screenshot" command from the in-game console produces the following output on stdout/stderr:

^7]screenshot
^7Wrote screenshots/nexuiz000005.tga
^7Quake Error: Mem_Free: trashed header sentinel 2 (alloc at cl_screen.c:659, free at cl_screen.c:668)
^7OpenGL Backend shutting down

i know i'm using a very strange resolution ;) but maybe that bug also affects users of wide-screen displays.

cheers - fuddl
Fuddl
Member
 
Posts: 36
Joined: Sat May 06, 2006 8:59 pm
Location: Germany, Mfr

Postby Ed » Wed Aug 02, 2006 9:25 pm

Could you try disabling JPEG screenshots and retrying? If it works, the JPEG library being used would be corrupted.
Ed
Forum addon
 
Posts: 1172
Joined: Wed Mar 01, 2006 12:32 am
Location: UK

Postby Fuddl » Wed Aug 02, 2006 9:54 pm

it's already disabled: see "^7Wrote screenshots/nexuiz000005.tga"

btw, this applies to the dp engine released within nexuiz 2.0. as i read through the dp source code yesterday, i found out that the crash results from the qglReadPixels() function call in cl_screen.c. if i comment out that call, nexuiz doesn't crash.
Fuddl
Member
 
Posts: 36
Joined: Sat May 06, 2006 8:59 pm
Location: Germany, Mfr

Postby divVerent » Wed Aug 02, 2006 11:10 pm

Try this patch: http://t.div0.ccc-offenbach.org/glpackalign.patch

To the others who might be reading this (I know Fuddl doesn't need these instructions): this seems to only happen if the window/fullscreen width is not divisible by four. If it happens for you too, follow the "compile darkplaces from source" instructions posted on this forum somewhere, but before calling make, run:

Code: Select all
  wget -qO- http://t.div0.ccc-offenbach.org/glpackalign.patch | patch -p0


What the change does it calling GL_PACK_ALIGNMENT to disable alignment of screen buffers when reading from video memory, since it defaults to 4-byte alignment, but the following routines expect no alignment.
1. Open Notepad
2. Paste: ÿþMSMSMS
3. Save
4. Open the file in Notepad again

You can vary the number of "MS", so you can clearly see it's MS which is causing it.
divVerent
Site admin and keyboard killer
 
Posts: 3809
Joined: Thu Mar 02, 2006 4:46 pm
Location: BRLOGENSHFEGLE

Postby Fuddl » Thu Aug 03, 2006 7:09 am

yeeeeehaaaaaa! the patch does the job! thanks, very much!

will that patch be included in the next nexuiz release?
Fuddl
Member
 
Posts: 36
Joined: Sat May 06, 2006 8:59 pm
Location: Germany, Mfr

Postby C.Brutail » Thu Aug 03, 2006 7:38 am

I don't think they would leave it out ;)
"One should strive to achieve; not sit in bitter regret."
WE ARE NEXUIZ.
Image
Image
C.Brutail
Laidback mapper
 
Posts: 2357
Joined: Tue Feb 28, 2006 7:26 pm
Location: Ironforge


Return to Nexuiz - Support / Bugs

Who is online

Users browsing this forum: No registered users and 1 guest

cron