View Issue Details

IDProjectCategoryView StatusLast Update
0002575FSSCPgraphicspublic2012-01-23 22:22
Reporterniffiwan Assigned ToValathil  
PriorityimmediateSeverityblockReproducibilityalways
Status resolvedResolutionfixed 
Platformall 
Product Version3.6.13 
Summary0002575: Major Heap corruption in GL_state and possibly other data areas
DescriptionSometimes when a cruiser or larger ship explodes, graphics get corrupted. The severity can very from explosions producing white boxes, to that plus the HUD graphics becoming "smudged" / corrupted.

QuantumDelta's video is a good example:
http://www.youtube.com/watch?v=CFKUcyAsArw

Also see MetalDestroyer's still image:
http://www.hard-light.net/forums/index.php?topic=78923.msg1577519#msg1577519

Steps To ReproduceReproducing the issue has been difficult. Anecdotally we've had death-explosions from the following ships cause the issue.

Aeolus (Love the treason...)
Cain/Lilith (ST:R Hellfire and others)
Demon (somewhere in ST:R)

I also believe that the 3D shockwaves option in the launcher triggers the issue. i.e. it does not occur without 3D shockwaves enabled. I don't believe that framebuffer shockwaves are linked as I've had the issue with them turned off.
Additional InformationHere's two examples of what my PC (Ubuntu 10.04) has logged to my terminal window when the issue is triggered (I generally launch FSO from a terminal, only using the launcher to change settings). As you can see from the binary name, these errors were logged with the Antipodes 8, SVN 7383 binary. I sure the issue has occurred with trunk releases as well.

*** glibc detected *** /home/me/games/freespace2/fs2_open_ant8_7383_r: munmap_chunk(): invalid pointer: 0x0000000003aec6e0 ***
======= Backtrace: =========
/lib/libc.so.6(+0x775b6)[0x7f72f5b985b6]
/usr/lib/tls/libnvidia-tls.so.275.09.07(+0x111c)[0x7f72f45f411c]
======= Memory map: ========
00400000-0075d000 r-xp 00000000 08:07 1709669 /home/me/games/freespace2/fs2_open_ant8_7383_r
0095c000-0095d000 r--p 0035c000 08:07 1709669 /home/me/games/freespace2/fs2_open_ant8_7383_r
0095d000-00980000 rw-p 0035d000 08:07 1709669 /home/me/games/freespace2/fs2_open_ant8_7383_r
00980000-01f7c000 rw-p 00000000 00:00 0
03486000-4153d000 rw-p 00000000 00:00 0 [heap]
41581000-41583000 r-xs 00000000 08:05 1310760 /tmp/glfhOGgk (deleted)
41875000-418ef000 rw-p 00000000 00:00 0
7f72c1964000-7f72d308d000 rw-p 00000000 00:00 0
7f72d318d000-7f72d5724000 rw-p 00000000 00:00 0
7f72d75ca000-7f72d9788000 rw-p 00000000 00:00 0
7f72d98d0000-7f72ded77000 rw-p 00000000 00:00 0
7f72dee77000-7f72e215e000 rw-p 00000000 00:00 0
7f72e225e000-7f72e3289000 rw-p 00000000 00:00 0
7f72e3289000-7f72e3944000 rw-s c22b5000 00:05 6282 /dev/nvidia0
7f72e8000000-7f72e9786000 rw-p 00000000 00:00 0
7f72e9786000-7f72ec000000 ---p 00000000 00:00 0
7f72ec236000-7f72ec2b6000 rw-s c1f1f000 00:05 6282 /dev/nvidia0
7f72ec46f000-7f72ec56f000 rw-s 70b79000 00:05 6282 /dev/nvidia0
7f72ec56f000-7f72ec76f000 rw-s c58fb000 00:05 6282 /dev/nvidia0
7f72ec76f000-7f72ec96f000 rw-s bf4cf000 00:05 6282 /dev/nvidia0
7f72ec972000-7f72eca72000 rw-s 1280b6000 00:05 6282 /dev/nvidia0
7f72eca73000-7f72ecb73000 rw-s c1e92000 00:05 6282 /dev/nvidia0
7f72ecc73000-7f72edb98000 rw-p 00000000 00:00 0
7f72edb98000-7f72edd98000 rw-s c23af000 00:05 6282 /dev/nvidia0
7f72edd98000-7f72edf98000 rw-s c5a7a000 00:05 6282 /dev/nvidia0
7f72edf98000-7f72ee198000 rw-s bf495000 00:05 6282 /dev/nvidia0
7f72ee198000-7f72ee298000 rw-s bcd84000 00:05 6282 /dev/nvidia0
7f72ee298000-7f72ee2b8000 rw-s d0040000 00:05 6282 /dev/nvidia0
7f72ee2b8000-7f72ee2f8000 rw-s c5889000 00:05 6282 /dev/nvidia0
7f72ee318000-7f72ee358000 rw-s 37b8d000 00:05 6282 /dev/nvidia0
7f72ee358000-7f72ee378000 rw-s 37bb8000 00:05 6282 /dev/nvidia0
7f72ee378000-7f72ee37d000 r-xp 00000000 08:05 2651834 /usr/lib/libXfixes.so.3.1.0
7f72ee37d000-7f72ee57c000 ---p 00005000 08:05 2651834 /usr/lib/libXfixes.so.3.1.0
7f72ee57c000-7f72ee57d000 r--p 00004000 08:05 2651834 /usr/lib/libXfixes.so.3.1.0
7f72ee57d000-7f72ee57e000 rw-p 00005000 08:05 2651834 /usr/lib/libXfixes.so.3.1.0
7f72ee57e000-7f72ee587000 r-xp 00000000 08:05 2659262 /usr/lib/libXrender.so.1.3.0
7f72ee587000-7f72ee786000 ---p 00009000 08:05 2659262 /usr/lib/libXrender.so.1.3.0
7f72ee786000-7f72ee787000 r--p 00008000 08:05 2659262 /usr/lib/libXrender.so.1.3.0
7f72ee787000-7f72ee788000 rw-p 00009000 08:05 2659262 /usr/lib/libXrender.so.1.3.0
7f72ee788000-7f72ee791000 r-xp 00000000 08:05 2659447 /usr/lib/libXcursor.so.1.0.2
7f72ee791000-7f72ee990000 ---p 00009000 08:05 2659447 /usr/lib/libXcursor.so.1.0.2
7f72ee990000-7f72ee991000 r--p 00008000 08:05 2659447 /usr/lib/libXcursor.so.1.0.2
7f72ee991000-7f72ee992000 rw-p 00009000 08:05 2659447 /usr/lib/libXcursor.so.1.0.2
7f72ee992000-7f72ee99e000 r-xp 00000000 08:05 1056879 /lib/libnss_files-2.11.1.so
7f72ee99e000-7f72eeb9d000 ---p 0000c000 08:05 1056879 /lib/libnss_files-2.11.1.so
7f72eeb9d000-7f72eeb9e000 r--p 0000b000 08:05 1056879 /lib/libnss_files-2.11.1.so
7f72eeb9e000-7f72eeb9f000 rw-p 0000c000 08:05 1056879 /lib/libnss_files-2.11.1.so
7f72eeb9f000-7f72eeba9000 r-xp 00000000 08:05 1057000 /lib/libnss_nis-2.11.1.so
7f72eeba9000-7f72eeda8000 ---p 0000a000 08:05 1057000 /lib/libnss_nis-2.11.1.so
7f72eeda8000-7f72eeda9000 r--p 00009000 08:05 1057000 /lib/libnss_nis-2.11.1.so
7f72eeda9000-7f72eedaa000 rw-p 0000a000 08:05 1057000 /lib/libnss_nis-2.11.1.so
7f72eedaa000-7f72eedb2000 r-xp 00000000 08:05 1056811 /lib/libnss_compat-2.11.1.so
7f72eedb2000-7f72eefb1000 ---p 00008000 08:05 1056811 /lib/libnss_compat-2.11.1.so
7f72eefb1000-7f72eefb2000 r--p 00007000 08:05 1056811 /lib/libnss_compat-2.11.1.so
7f72eefb2000-7f72eefb3000 rw-p 00008000 08:05 1056811 /lib/libnss_compat-2.11.1.so
7f72eefc4000-7f72ef0e2000 r--p 00000000 08:05 2631847 /usr/lib/locale/en_AU.utf8/LC_COLLATE
7f72ef0e2000-7f72ef0e3000 ---p 00000000 00:00 0
7f72ef0e3000-7f72ef8e3000 rw-p 00000000 00:00 0
7f72ef8e3000-7f72ef8e4000 ---p 00000000 00:00 0
7f72ef8e4000-7f72f00e4000 rw-p 00000000 00:00 0
7f72f00e4000-7f72f02a7000 r-xp 00000000 08:05 2664037 /usr/lib/libvorbisenc.so.2.0.6
7f72f02a7000-7f72f04a7000 ---p 001c3000 08:05 2664037 /usr/lib/libvorbisenc.so.2.0.6
7f72f04a7000-7f72f04be000 r--p 001c3000 08:05 2664037 /usr/lib/libvorbisenc.so.2.0.6
7f72f04be000-7f72f04bf000 rw-p 001da000 08:05 2664037 /usr/lib/libvorbisenc.so.2.0.6
7f72f04bf000-7f72f0508000 r-xp 00000000 08:05 2664032 /usr/lib/libFLAC.so.8.2.0
7f72f0508000-7f72f0708000 ---p 00049000 08:05 2664032 /usr/lib/libFLAC.so.8.2.0
7f72f0708000-7f72f0709000 r--p 00049000 08:05 2664032 /usr/lib/libFLAC.so.8.2.0
7f72f0709000-7f72f070a000 rw-p 0004a000 08:05 2664032 /usr/lib/libFLAC.so.8.2.0
7f72f070a000-7f72f0721000 r-xp 00000000 08:05 1056805 /lib/libnsl-2.11.1.so
7f72f0721000-7f72f0920000 ---p 00017000 08:05 1056805 /lib/libnsl-2.11.1.so
7f72f0920000-7f72f0921000 r--p 00016000 08:05 1056805 /lib/libnsl-2.11.1.so

=============================================================================


*** glibc detected *** /home/me/games/freespace2/fs2_open_ant8_7383_r: munmap_chunk(): invalid pointer: 0x0000000003aec6e0 ***
======= Backtrace: =========
/lib/libc.so.6(+0x775b6)[0x7f72f5b985b6]
/usr/lib/tls/libnvidia-tls.so.275.09.07(+0x111c)[0x7f72f45f411c]
======= Memory map: ========
00400000-0075d000 r-xp 00000000 08:07 1709669 /home/me/games/freespace2/fs2_open_ant8_7383_r
0095c000-0095d000 r--p 0035c000 08:07 1709669 /home/me/games/freespace2/fs2_open_ant8_7383_r
0095d000-00980000 rw-p 0035d000 08:07 1709669 /home/me/games/freespace2/fs2_open_ant8_7383_r
00980000-01f7c000 rw-p 00000000 00:00 0
03486000-4153d000 rw-p 00000000 00:00 0 [heap]
41581000-41583000 r-xs 00000000 08:05 1310760 /tmp/glfhOGgk (deleted)
41875000-418ef000 rw-p 00000000 00:00 0
7f72c1964000-7f72d308d000 rw-p 00000000 00:00 0
7f72d318d000-7f72d5724000 rw-p 00000000 00:00 0
7f72d75ca000-7f72d9788000 rw-p 00000000 00:00 0
7f72d98d0000-7f72ded77000 rw-p 00000000 00:00 0
7f72dee77000-7f72e215e000 rw-p 00000000 00:00 0
7f72e225e000-7f72e3289000 rw-p 00000000 00:00 0
7f72e3289000-7f72e3944000 rw-s c22b5000 00:05 6282 /dev/nvidia0
7f72e8000000-7f72e9786000 rw-p 00000000 00:00 0
7f72e9786000-7f72ec000000 ---p 00000000 00:00 0
7f72ec236000-7f72ec2b6000 rw-s c1f1f000 00:05 6282 /dev/nvidia0
7f72ec46f000-7f72ec56f000 rw-s 70b79000 00:05 6282 /dev/nvidia0
7f72ec56f000-7f72ec76f000 rw-s c58fb000 00:05 6282 /dev/nvidia0
7f72ec76f000-7f72ec96f000 rw-s bf4cf000 00:05 6282 /dev/nvidia0
7f72ec972000-7f72eca72000 rw-s 1280b6000 00:05 6282 /dev/nvidia0
7f72eca73000-7f72ecb73000 rw-s c1e92000 00:05 6282 /dev/nvidia0
7f72ecc73000-7f72edb98000 rw-p 00000000 00:00 0
7f72edb98000-7f72edd98000 rw-s c23af000 00:05 6282 /dev/nvidia0
7f72edd98000-7f72edf98000 rw-s c5a7a000 00:05 6282 /dev/nvidia0
7f72edf98000-7f72ee198000 rw-s bf495000 00:05 6282 /dev/nvidia0
7f72ee198000-7f72ee298000 rw-s bcd84000 00:05 6282 /dev/nvidia0
7f72ee298000-7f72ee2b8000 rw-s d0040000 00:05 6282 /dev/nvidia0
7f72ee2b8000-7f72ee2f8000 rw-s c5889000 00:05 6282 /dev/nvidia0
7f72ee318000-7f72ee358000 rw-s 37b8d000 00:05 6282 /dev/nvidia0
7f72ee358000-7f72ee378000 rw-s 37bb8000 00:05 6282 /dev/nvidia0
7f72ee378000-7f72ee37d000 r-xp 00000000 08:05 2651834 /usr/lib/libXfixes.so.3.1.0
7f72ee37d000-7f72ee57c000 ---p 00005000 08:05 2651834 /usr/lib/libXfixes.so.3.1.0
7f72ee57c000-7f72ee57d000 r--p 00004000 08:05 2651834 /usr/lib/libXfixes.so.3.1.0
7f72ee57d000-7f72ee57e000 rw-p 00005000 08:05 2651834 /usr/lib/libXfixes.so.3.1.0
7f72ee57e000-7f72ee587000 r-xp 00000000 08:05 2659262 /usr/lib/libXrender.so.1.3.0
7f72ee587000-7f72ee786000 ---p 00009000 08:05 2659262 /usr/lib/libXrender.so.1.3.0
7f72ee786000-7f72ee787000 r--p 00008000 08:05 2659262 /usr/lib/libXrender.so.1.3.0
7f72ee787000-7f72ee788000 rw-p 00009000 08:05 2659262 /usr/lib/libXrender.so.1.3.0
7f72ee788000-7f72ee791000 r-xp 00000000 08:05 2659447 /usr/lib/libXcursor.so.1.0.2
7f72ee791000-7f72ee990000 ---p 00009000 08:05 2659447 /usr/lib/libXcursor.so.1.0.2
7f72ee990000-7f72ee991000 r--p 00008000 08:05 2659447 /usr/lib/libXcursor.so.1.0.2
7f72ee991000-7f72ee992000 rw-p 00009000 08:05 2659447 /usr/lib/libXcursor.so.1.0.2
7f72ee992000-7f72ee99e000 r-xp 00000000 08:05 1056879 /lib/libnss_files-2.11.1.so
7f72ee99e000-7f72eeb9d000 ---p 0000c000 08:05 1056879 /lib/libnss_files-2.11.1.so
7f72eeb9d000-7f72eeb9e000 r--p 0000b000 08:05 1056879 /lib/libnss_files-2.11.1.so
7f72eeb9e000-7f72eeb9f000 rw-p 0000c000 08:05 1056879 /lib/libnss_files-2.11.1.so
7f72eeb9f000-7f72eeba9000 r-xp 00000000 08:05 1057000 /lib/libnss_nis-2.11.1.so
7f72eeba9000-7f72eeda8000 ---p 0000a000 08:05 1057000 /lib/libnss_nis-2.11.1.so
7f72eeda8000-7f72eeda9000 r--p 00009000 08:05 1057000 /lib/libnss_nis-2.11.1.so
7f72eeda9000-7f72eedaa000 rw-p 0000a000 08:05 1057000 /lib/libnss_nis-2.11.1.so
7f72eedaa000-7f72eedb2000 r-xp 00000000 08:05 1056811 /lib/libnss_compat-2.11.1.so
7f72eedb2000-7f72eefb1000 ---p 00008000 08:05 1056811 /lib/libnss_compat-2.11.1.so
7f72eefb1000-7f72eefb2000 r--p 00007000 08:05 1056811 /lib/libnss_compat-2.11.1.so
7f72eefb2000-7f72eefb3000 rw-p 00008000 08:05 1056811 /lib/libnss_compat-2.11.1.so
7f72eefc4000-7f72ef0e2000 r--p 00000000 08:05 2631847 /usr/lib/locale/en_AU.utf8/LC_COLLATE
7f72ef0e2000-7f72ef0e3000 ---p 00000000 00:00 0
7f72ef0e3000-7f72ef8e3000 rw-p 00000000 00:00 0
7f72ef8e3000-7f72ef8e4000 ---p 00000000 00:00 0
7f72ef8e4000-7f72f00e4000 rw-p 00000000 00:00 0
7f72f00e4000-7f72f02a7000 r-xp 00000000 08:05 2664037 /usr/lib/libvorbisenc.so.2.0.6
7f72f02a7000-7f72f04a7000 ---p 001c3000 08:05 2664037 /usr/lib/libvorbisenc.so.2.0.6
7f72f04a7000-7f72f04be000 r--p 001c3000 08:05 2664037 /usr/lib/libvorbisenc.so.2.0.6
7f72f04be000-7f72f04bf000 rw-p 001da000 08:05 2664037 /usr/lib/libvorbisenc.so.2.0.6
7f72f04bf000-7f72f0508000 r-xp 00000000 08:05 2664032 /usr/lib/libFLAC.so.8.2.0
7f72f0508000-7f72f0708000 ---p 00049000 08:05 2664032 /usr/lib/libFLAC.so.8.2.0
7f72f0708000-7f72f0709000 r--p 00049000 08:05 2664032 /usr/lib/libFLAC.so.8.2.0
7f72f0709000-7f72f070a000 rw-p 0004a000 08:05 2664032 /usr/lib/libFLAC.so.8.2.0
7f72f070a000-7f72f0721000 r-xp 00000000 08:05 1056805 /lib/libnsl-2.11.1.so
7f72f0721000-7f72f0920000 ---p 00017000 08:05 1056805 /lib/libnsl-2.11.1.so
7f72f0920000-7f72f0921000 r--p 00016000 08:05 1056805 /lib/libnsl-2.11.1.so
TagsNo tags attached.

Activities

Valathil

2012-01-21 10:36

developer   ~0013090

Is this linux only?

MetalDestroyer

2012-01-21 14:25

reporter   ~0013091

Got the bugs under Windows 7 Ultimate 64 bit. Using a nVidia GPU (GTX 480) with driver 285.79

SDM

2012-01-21 15:54

reporter   ~0013092

QuantumDelta's OS and GPU:

I'm on Win 7 x64 Enterprise. GPU is a 5870 if there's a common running atm theme going on.

Valathil

2012-01-21 19:14

developer   ~0013093

I traced it to a heap corruption that overwrites certain memory areas, particularly GL_state.Texture.units which results in invalid opengl calls.

Valathil

2012-01-21 19:52

developer   ~0013094

Fix committed to trunk@8294.

chief1983

2012-01-23 22:22

administrator   ~0013131

Fix committed to fs2_open_3_6_14@8347.

Related Changesets

fs2open: trunk r8294

2012-01-21 14:52

Valathil


Ported: N/A

Details Diff
Fix for Mantis 2575: Don't increment array indices without checking for the maximum. Affected Issues
0002575
mod - /trunk/fs2_open/code/graphics/gropengllight.cpp Diff File

fs2open: fs2_open_3_6_14 r8347

2012-01-23 17:22

chief1983


Ported: N/A

Details Diff
Backport: Trunk 8294; Fix for Mantis 2575: Don't increment array indices without checking for the maximum. Affected Issues
0002575
mod - /branches/fs2_open_3_6_14/code/graphics/gropengllight.cpp Diff File

Issue History

Date Modified Username Field Change
2012-01-21 03:47 niffiwan New Issue
2012-01-21 10:36 Valathil Note Added: 0013090
2012-01-21 14:25 MetalDestroyer Note Added: 0013091
2012-01-21 15:54 SDM Note Added: 0013092
2012-01-21 19:14 Valathil Note Added: 0013093
2012-01-21 19:14 Valathil Assigned To => Valathil
2012-01-21 19:14 Valathil Priority normal => immediate
2012-01-21 19:14 Valathil Severity major => block
2012-01-21 19:14 Valathil Reproducibility sometimes => always
2012-01-21 19:14 Valathil Status new => assigned
2012-01-21 19:14 Valathil Summary Graphical corruption which triggers on capship destruction => Major Heap corruption in GL_state and possibly other data areas
2012-01-21 19:52 Valathil Changeset attached => fs2open trunk r8294
2012-01-21 19:52 Valathil Note Added: 0013094
2012-01-21 19:52 Valathil Status assigned => resolved
2012-01-21 19:52 Valathil Resolution open => fixed
2012-01-23 22:22 chief1983 Changeset attached => fs2open fs2_open_3_6_14 r8347
2012-01-23 22:22 chief1983 Note Added: 0013131