View Issue Details

IDProjectCategoryView StatusLast Update
0002732FSSCPHUDpublic2012-11-20 10:13
Reporterniffiwan Assigned Toniffiwan  
PrioritynormalSeveritycrashReproducibilityalways
Status resolvedResolutionfixed 
PlatformhomebrewOSLinuxOS VersionMint 13
Product Version3.6.15 
Target Version3.6.16Fixed in Version3.6.15 
Summary0002732: Assertion when targeting anything
DescriptionWhen you target a ship, the following assertion is triggered

ASSERTION FAILED: "bm_bitmaps[bitmapnum].handle == handle" at bmpman/bmpman.cpp:1119 Invalid bitmap handle 0 passed to bm_get_info(). This might be due to an invalid animation somewhere else.
Steps To ReproduceReproduced using retail data & r9184

Start any mission (e.g. 1st training mission of retail campaign)
target anything

Does not occur in r9183
Additional Information(gdb) backtrace
#0 0x00007ffff58ca425 in __GI_raise (sig=<optimised out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
0000001 0x00007ffff58cdb8b in __GI_abort () at abort.c:91
0000002 0x000000000084b88c in WinAssert (text=0x8c3fa8 "bm_bitmaps[bitmapnum].handle == handle", filename=0x8c3938 "bmpman/bmpman.cpp", line=1119, format=0x8c3f38 "Invalid bitmap handle %d passed to bm_get_info().\nThis might be due to an invalid animation somewhere else.\n") at windows_stub/stubs.cpp:157
0000003 0x000000000047275b in bm_get_info (handle=0, w=0x7fffffffde44, h=0x7fffffffde48, flags=0x0, nframes=0x0, fps=0x0) at bmpman/bmpman.cpp:1119
0000004 0x00000000004c4e6b in gr_bitmap (_x=5, _y=590, allow_scaling=true) at graphics/2d.cpp:878
0000005 0x00000000004f8c5b in HudGauge::renderBitmapColor (this=0x2f143a0, frame=0, x=5, y=590) at hud/hud.cpp:812
0000006 0x0000000000558fea in HudGaugeTargetBox::render (this=0x2f143a0, frametime=0.0150146484) at hud/hudtargetbox.cpp:355
0000007 0x00000000004fb117 in hud_render_gauges (cockpit_display_num=-1) at hud/hud.cpp:1828
0000008 0x00000000004fadba in hud_render_all () at hud/hud.cpp:1751
0000009 0x00000000004126e5 in game_render_hud (cid=...) at freespace2/freespace.cpp:4168
0000010 0x000000000041300c in game_frame (paused=false) at freespace2/freespace.cpp:4449
#11 0x0000000000413a96 in game_do_frame () at freespace2/freespace.cpp:4822
0000012 0x0000000000415ce4 in game_do_state (state=2) at freespace2/freespace.cpp:6510
0000013 0x00000000004b9170 in gameseq_process_events () at gamesequence/gamesequence.cpp:407
0000014 0x0000000000416b4a in game_main (cmdline=0x24e87e0 "") at freespace2/freespace.cpp:7086
0000015 0x0000000000416d44 in main (argc=1, argv=0x7fffffffe2a8) at freespace2/freespace.cpp:7220
(gdb)
TagsNo tags attached.

Activities

niffiwan

2012-11-20 10:09

developer   ~0014121

The problem seems to be that Monitor_mask defaults to zero, which I believe is valid, however we don't have any default alpha mask in retail for the targetbox. I'm guessing this is only occurring on Linux (& maybe OSX) due to different compiler default constructor behaviours. Anyway, creating a constructor that sets the var to -1 seems to fix the issue. See attached patch

niffiwan

2012-11-20 10:09

developer  

mantis_2732.patch (625 bytes)   
Index: fs2_open/code/hud/hudtargetbox.cpp
===================================================================
--- fs2_open/code/hud/hudtargetbox.cpp    (revision 9363)
+++ fs2_open/code/hud/hudtargetbox.cpp    (working copy)
@@ -179,6 +179,7 @@ void hud_targetbox_truncate_subsys_name(char *outstr)
 
 HudGaugeTargetBox::HudGaugeTargetBox():
 	HudGauge(HUD_OBJECT_TARGET_MONITOR, HUD_TARGET_MONITOR, false, false, (VM_EXTERNAL | VM_DEAD_VIEW | VM_WARP_CHASE | VM_PADLOCK_ANY), 255, 255, 255), 
+	Monitor_mask(-1),
 	Use_subsys_name_offsets(false), 
 	Use_subsys_integrity_offsets(false),
 	Use_disabled_status_offsets(false)
mantis_2732.patch (625 bytes)   

niffiwan

2012-11-20 10:12

developer   ~0014122

Fixed in r9364

Issue History

Date Modified Username Field Change
2012-11-20 10:04 niffiwan New Issue
2012-11-20 10:04 niffiwan Status new => assigned
2012-11-20 10:04 niffiwan Assigned To => niffiwan
2012-11-20 10:09 niffiwan Note Added: 0014121
2012-11-20 10:09 niffiwan File Added: mantis_2732.patch
2012-11-20 10:09 niffiwan Summary Assertion when targetting anything => Assertion when targeting anything
2012-11-20 10:09 niffiwan Additional Information Updated
2012-11-20 10:12 niffiwan Note Added: 0014122
2012-11-20 10:13 niffiwan Status assigned => resolved
2012-11-20 10:13 niffiwan Fixed in Version => 3.6.15
2012-11-20 10:13 niffiwan Resolution open => fixed