2022-08-10 03:19 EDT

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0002732FSSCPHUDpublic2012-11-20 05:13
Assigned Toniffiwan 
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
TagsNo tags attached.
Attached Files
  • patch file icon mantis_2732.patch (625 bytes) 2012-11-20 05:09 -
    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)
    +	Monitor_mask(-1),
    patch file icon mantis_2732.patch (625 bytes) 2012-11-20 05:09 +




niffiwan (developer)

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 (developer)

Fixed in r9364

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