Anonymous | Login | 2024-04-26 20:37 CEST |
Main | My View | View Issues | Change Log | Wiki | Tavern | News |
Viewing Issue Simple Details [ Jump to Notes ] [ Wiki ] | [ View Advanced ] [ Issue History ] [ Print ] | ||||||||||||
ID | Category | Severity | Reproducibility | Date Submitted | Last Update | ||||||||
0002974 | [DCSS] Bug Report | crash | have not tried | 2010-12-13 16:19 | 2012-01-14 21:52 | ||||||||
Reporter | KiloByte | View Status | public | ||||||||||
Assigned To | KiloByte | ||||||||||||
Priority | normal | Resolution | done | ||||||||||
Status | resolved | Product Branch | 0.8 ancient branch | ||||||||||
Summary | 0002974: crash when a dancing weapon is drawn mid-initialization | ||||||||||||
Description |
Elliptic had a fun crash today: #0 0x00000000007ced58 in get_mons_resists (mon=<value optimized out>) at mon-util.cc:350 #1 0x000000000076fc0a in monster_info (this=0x7fff8d4d2400, m=0xded358, milev=0) at mon-info.cc:320 0000002 0x00000000008777af in _update_monster (mons=0xded358) at show.cc:296 0000003 0x0000000000878ad5 in show_update_at (gp=@0x7fff8d4d2660, terrain_only=false) at show.cc:330 0000004 0x000000000087946f in show_init (terrain_only=false) at show.cc:337 0000005 0x000000000092ed61 in viewwindow (show_updates=true) at view.cc:924 0000006 0x000000000091b9db in runrest::stop (this=0xec5c54) at travel.cc:3987 0000007 0x0000000000540bc1 in stop_delay (stop_stair_travel=false) at delay.cc:280 0000008 0x00000000005427ae in interrupt_activity (ai=AI_MESSAGE, at=@0x7fff8d4d29c0, msgs_buf=0x0) at delay.cc:1652 0000009 0x000000000072a9d2 in prepare_message (imsg=@0x7fff8d4d2c00, channel=MSGCH_WARN, param=0) at message.cc:1171 0000010 0x000000000072b7eb in mpr (text= {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7fff8d4d2c00 "H??\001"}}, channel=MSGCH_WARN, param=0, nojoin=false) at message.cc:1028 0000011 0x00000000006835a7 in get_item_slot (reserve=10) at items.cc:173 0000012 0x00000000006e8058 in items (allow_uniques=0, force_class=OBJ_WEAPONS, force_type=25, dont_place=true, item_level=31, item_race=250, mapmask=0, force_ego=0, agent=-1) at makeitem.cc:3118 0000013 0x000000000076923e in _give_weapon (mon=0xded358, level=31, melee_only=false, give_aux_melee=true, spectral_orcs=false) at mon-gear.cc:1217 0000014 0x000000000076bd90 in give_item (mid=<value optimized out>, level_number=31, mons_summoned=false, spectral_orcs=false) at mon-gear.cc:2044 0000015 0x00000000007812ec in _place_monster_aux (mg=@0x7fff8d4d36d0, first_band_member=true, force_pos=<value optimized out>) at mon-place.cc:1792 0000016 0x0000000000781eea in place_monster (mg= {cls = 2370647760, base_type = 32767, behaviour = 2370647312, summoner = 0x0, abjuration_duration = 0, summon_type = 0, pos = {x = 0, y = 0}, preferred_grid_feature = DNGN_EXIT_HELL, foe = 0, flags = 2370647792, god = 32767, number = 0, colour = 0, power = 0, proximity = PROX_ANYWHERE, level_type = LEVEL_DUNGEON, map_mask = 0, hd = 7872234, hp = 0, extra_flags = 219043332678, mname = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x2b <Address 0x2b out of bounds>}}, non_actor_summoner = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x0}}, props = {hash_map = 0x0}}, force_pos=false) at mon-place.cc:1216 0000017 0x00000000007832cd in mons_place (mg= {cls = 2370648032, base_type = 32767, behaviour = 2370647760, summoner = 0x0, abjuration_duration = 0, summon_type = 0, pos = {x = 0, y = 0}, preferred_grid_feature = DNGN_EXIT_HELL, foe = 0, flags = 2370648304, god = 32767, number = -1, colour = 0, power = 0, proximity = PROX_ANYWHERE, level_type = 13492672, map_mask = 0, hd = 7877325, hp = 0, extra_flags = 219043332678, mname = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x2b <Address 0x2b out of bounds>}}, non_actor_summoner = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x0}}, props = {hash_map = 0x0}}) at mon-place.cc:3154 0000018 0x000000000094fc98 in zotdef_spawn (boss=false) at zotdef.cc:801 0000019 0x00000000006d5c33 in world_reacts () at main.cc:2868 0000020 0x00000000006dbd63 in _input () at main.cc:1141 #21 0x00000000006deb6d in _launch_game_loop () at main.cc:408 0000022 0x00000000006df9b3 in main (argc=10, argv=0x7fff8d4d3d78) at main.cc:285 When trying to give the dancing weapon its item, the item limit was hit, producing a message. It triggered a runrest_stop (a --more-- would be enough, too), causing a screen redraw. During that redraw, the dancing weapon wasn't yet ready. I think the most reliable fix would be to not place monsters on the map until they are ready. This is not limited to dancing weapons, "&M orc ; pointy stick" will show the orc with an axe or a club coming into view. |
||||||||||||
Additional Information | |||||||||||||
Tags | No tags attached. | ||||||||||||
Attached Files | |||||||||||||
|
Mantis 1.1.8[^] Copyright © 2000 - 2009 Mantis Group |