2019-10-17 00:05 EDT


View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0002865FSSCPgraphicspublic2016-06-17 17:14
ReporterYarn 
Assigned ToEchelon9 
PrioritynormalSeveritycrashReproducibilityalways
StatusassignedResolutionopen 
Platformx64OSWindows 7OS Version
Product Version3.6.19 
Target VersionFixed in Version 
Summary0002865: "Assert: num == bm_bitmaps[n].handle" in FSPort SM3-03a when -fb_explosions is enabled
DescriptionIn FSPort's SM3-03a ("A Failure to Communicate"), when the Aquilae Installation explodes shortly after the mission begins, the game crashes with "Assert: num == bm_bitmaps[n].handle" if all of the following conditions are met:

1. A debug build is being used.
2. The MediaVPs are enabled.
3. Both -3dshockwaves (Enable 3D shockwaves) and -fb_explosions (Enable Framebuffer Shockwaves) are enabled.
4. The player is looking at the explosion.

I have confirmed this in versions 3.6.14 and later (I couldn't get FSPort 3.4 to work in earlier builds). The build's SSE/AVX version makes no difference.
Additional InformationHere is the full error message:

Assert: num == bm_bitmaps[n].handle
File: bmpman.cpp
Line: 961

ntdll.dll! NtWaitForSingleObject + 21 bytes
kernel32.dll! WaitForSingleObjectEx + 67 bytes
kernel32.dll! WaitForSingleObject + 18 bytes
fs2_open_3_7_5_AVX_20160616_b2fc335-DEBUG.exe! SCP_DumpStack + 247 bytes
fs2_open_3_7_5_AVX_20160616_b2fc335-DEBUG.exe! WinAssert + 176 bytes
fs2_open_3_7_5_AVX_20160616_b2fc335-DEBUG.exe! bm_is_compressed + 125 bytes
fs2_open_3_7_5_AVX_20160616_b2fc335-DEBUG.exe! bm_get_tcache_type + 18 bytes
fs2_open_3_7_5_AVX_20160616_b2fc335-DEBUG.exe! gr_opengl_tcache_set + 54 bytes
fs2_open_3_7_5_AVX_20160616_b2fc335-DEBUG.exe! gr_opengl_render_effect + 342 bytes
fs2_open_3_7_5_AVX_20160616_b2fc335-DEBUG.exe! geometry_batcher::render + 112 bytes
fs2_open_3_7_5_AVX_20160616_b2fc335-DEBUG.exe! batch_render_distortion_map_bitmaps + 283 bytes
fs2_open_3_7_5_AVX_20160616_b2fc335-DEBUG.exe! game_render_frame + 970 bytes
fs2_open_3_7_5_AVX_20160616_b2fc335-DEBUG.exe! game_frame + 697 bytes
fs2_open_3_7_5_AVX_20160616_b2fc335-DEBUG.exe! game_do_frame + 210 bytes
fs2_open_3_7_5_AVX_20160616_b2fc335-DEBUG.exe! game_do_state + 358 bytes
fs2_open_3_7_5_AVX_20160616_b2fc335-DEBUG.exe! gameseq_process_events + 211 bytes
fs2_open_3_7_5_AVX_20160616_b2fc335-DEBUG.exe! game_main + 730 bytes
fs2_open_3_7_5_AVX_20160616_b2fc335-DEBUG.exe! WinMain + 265 bytes
fs2_open_3_7_5_AVX_20160616_b2fc335-DEBUG.exe! invoke_main + 30 bytes
fs2_open_3_7_5_AVX_20160616_b2fc335-DEBUG.exe! __scrt_common_main_seh + 346 bytes
fs2_open_3_7_5_AVX_20160616_b2fc335-DEBUG.exe! __scrt_common_main + 13 bytes
fs2_open_3_7_5_AVX_20160616_b2fc335-DEBUG.exe! WinMainCRTStartup + 8 bytes
kernel32.dll! BaseThreadInitThunk + 18 bytes
ntdll.dll! RtlInitializeExceptionChain + 99 bytes
ntdll.dll! RtlInitializeExceptionChain + 54 bytes
TagsNo tags attached.
Attached Files

-Relationships
+Relationships

-Notes

~0015039

Echelon9 (developer)

I'm seeing the Assert() under that repro case as per below, although I had to set -no_glsl due to Mantis 2861:

ASSERTION FAILED: "Scene_depth_texture != 0" at code/graphics/gropengldraw.cpp:1468

0 libsystem_kernel.dylib 0x00007fff9318f212 __pthread_kill + 10
1 libsystem_c.dylib 0x00007fff92c86b54 pthread_kill + 90
2 libsystem_c.dylib 0x00007fff92ccadce abort + 143
3 FS2_Open (debug) 0x000000010261e64a WinAssert(char*, char*, int) + 938
4 FS2_Open (debug) 0x000000010037e221 gr_opengl_render_effect(int, vertex*, float*, unsigned int) + 1777 (gropengldraw.cpp:1468)
5 FS2_Open (debug) 0x000000010099d775 geometry_batcher::render(int, float) + 1765 (grbatch.cpp:527)
6 FS2_Open (debug) 0x00000001009a9222 batch_render_distortion_map_bitmaps(bool) + 1458 (grbatch.cpp:917)
7 FS2_Open (debug) 0x00000001002f1063 game_render_frame(camid) + 7731 (freespace.cpp:3777)
8 FS2_Open (debug) 0x00000001002fa562 game_frame(bool) + 6450 (freespace.cpp:4538)
9 FS2_Open (debug) 0x00000001002ff62c game_do_frame() + 604 (freespace.cpp:4917)
10 FS2_Open (debug) 0x000000010030b167 game_do_state(int) + 871 (freespace.cpp:6594)
11 FS2_Open (debug) 0x00000001009146b9 gameseq_process_events() + 1273 (gamesequence.cpp:405)
12 FS2_Open (debug) 0x0000000100311a07 game_main(char*) + 2071 (freespace.cpp:7160)
13 FS2_Open (debug) 0x00000001003130a5 SDL_main + 3781 (freespace.cpp:7294)
+Notes

-Issue History
Date Modified Username Field Change
2013-05-06 21:52 Yarn New Issue
2013-05-07 08:07 Echelon9 Note Added: 0015039
2015-06-26 07:28 Echelon9 Assigned To => Echelon9
2015-06-26 07:28 Echelon9 Status new => assigned
2016-06-17 17:14 Yarn Description Updated View Revisions
2016-06-17 17:14 Yarn Additional Information Updated View Revisions
+Issue History