View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0002732 | FSSCP | HUD | public | 2012-11-20 10:04 | 2012-11-20 10:13 |
Reporter | niffiwan | Assigned To | niffiwan | ||
Priority | normal | Severity | crash | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Platform | homebrew | OS | Linux | OS Version | Mint 13 |
Product Version | 3.6.15 | ||||
Target Version | 3.6.16 | Fixed in Version | 3.6.15 | ||
Summary | 0002732: Assertion when targeting anything | ||||
Description | When 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 Reproduce | Reproduced 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) | ||||
Tags | No tags attached. | ||||
|
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 |
|
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) |
|
Fixed in r9364 |
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 |