Anonymous | Login | 2023-02-03 01:02 UTC |

My View | View Issues | Change Log | Roadmap |

View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||||||

ID | Project | Category | View Status | Date Submitted | Last Update | ||||||||

0002384 | VCMI | Other | public | 2016-01-18 18:21 | 2016-09-04 08:14 | ||||||||

Reporter | anonymous1 | ||||||||||||

Assigned To | AVS | ||||||||||||

Priority | normal | Severity | minor | Reproducibility | always | ||||||||

Status | resolved | Resolution | fixed | ||||||||||

Platform | GNU/Linux 4.2.8-300.fc23.x86_64 | OS | Fedora | OS Version | 23 | ||||||||

Product Version | 0.98f | ||||||||||||

Target Version | Fixed in Version | 0.99 | |||||||||||

Summary | 0002384: game crash on load save game | ||||||||||||

Description | (gdb) bt full #0 0x00007fffc8000098 in ?? () No symbol table info available. #1 0x00007ffff7849076 in CBonusSystemNode::propagateBonus ([email protected]=0x7fffcbb45e98, b=0x7fffcbafd570) at /usr/src/debug/vcmi-0.98f/lib/HeroBonus.cpp:830 lchildren = std::set with 140736605091712 elements<error reading variable: Cannot access memory at address 0x18> 0000002 0x00007ffff7849342 in CBonusSystemNode::newRedDescendant ([email protected]=0x7fffcbafd688, descendant=0x7fffcbb45e98) at /usr/src/debug/vcmi-0.98f/lib/HeroBonus.cpp:942 b = <optimized out> __for_range = @0x7fffcbafd6b0: {bonuses = std::vector of length 1, capacity 1 = {0x7fffcbafd570}, belongsToTree = false} lparents = std::set with 140736610686600 elements<error reading variable: Cannot access memory at address 0x48e8894810894813> 0000003 0x00007ffff7849439 in CBonusSystemNode::attachTo (this=0x7fffcbafd688, parent=<optimized out>, [email protected]=0x7fffcbb45e98) at /usr/src/debug/vcmi-0.98f/lib/HeroBonus.cpp:735 No locals. 0000004 0x00007ffff78ba1fc in CGameState::buildGlobalTeamPlayerTree ([email protected]=0x7fffcb5a7780) at /usr/src/debug/vcmi-0.98f/lib/CGameState.cpp:2746 p = <optimized out> teamMember = <optimized out> __for_range = std::set with 1 elements = {[0] = {<BaseForID<PlayerColor, unsigned char>> = {num = 0 '\000'}, static CANNOT_DETERMINE = {<BaseForID<PlayerColor, unsigned char>> = {num = 0 '\000'}, static CANNOT_DETERMINE = <same as static member of an already seen type>, static UNFLAGGABLE = {<BaseForID<PlayerColor, unsigned char>> = {num = 0 '\000'}, static CANNOT_DETERMINE = <same as static member of an already seen type>, static UNFLAGGABLE = <same as static member of an already seen type>, static NEUTRAL = {<BaseForID<PlayerColor, unsigned char>> = {num = 0 '\000'}, static CANNOT_DETERMINE = <same as static member of an already seen type>, static UNFLAGGABLE = <same as static member of an already seen type>, static NEUTRAL = <same as static member of an already seen type>, static PLAYER_LIMIT = {<BaseForID<PlayerColor, unsigned char>> = {num = 0 '\000'}, static CANNOT_DETERMINE = <same as static member of an already seen type>, static UNFLAGGABLE = <same as static member of an already seen type>, static NEUTRAL = <same as static member of an already seen type>, static PLAYER_LIMIT = <same as static member of an already seen type>}}, static PLAYER_LIMIT = <same as static member of an already seen type>}, static NEUTRAL = <same as static member of an already seen type>, static PLAYER_LIMIT = <same as static member of an already seen type>}, static UNFLAGGABLE = <same as static member of an already seen type>, static NEUTRAL = <same as static member of an already seen type>, static PLAYER_LIMIT = <same as static member of an already seen type>}} t = 0x7fffcbb45e98 k = {first = {<BaseForID<TeamID, unsigned char>> = {num = 0 '\000'}, static NO_TEAM = {<BaseForID<TeamID, unsigned char>> = {num = 0 '\000'}, static NO_TEAM = <same as static member of an already seen type>}}, second = {<CBonusSystemNode> = {<IBonusBearer> = {_vptr.IBonusBearer = <vtable for TeamState+16>}, bonuses = { bonuses = std::vector of length 0, capacity 0, belongsToTree = false}, exportedBonuses = {bonuses = std::vector of length 0, capacity 0, belongsToTree = false}, parents = std::vector of length 1, capacity 1 = {}, children = std::vector of length 0, capacity 0, nodeType = CBonusSystemNode::TEAM, description = "", static cachingEnabled = true, cachedBonuses = {bonuses = std::vector of length 0, capacity 0, belongsToTree = false}, cachedLast = 0, static treeChanged = 84459, cachedRequests = std::map with 0 elements}, id = {<BaseForID<TeamID, unsigned char>> = {num = 0 '\000'}, static NO_TEAM = {<BaseForID<TeamID, unsigned char>> = {num = 0 '\000'}, static NO_TEAM = <same as static member of an already seen type>}}, players = std::set with 1 elements = {[0] = {<BaseForID<PlayerColor, unsigned char>> = {num = 0 '\000'}, static CANNOT_DETERMINE = {<BaseForID<PlayerColor, unsigned char>> = {num = 0 '\000'}, static CANNOT_DETERMINE = <same as static member of an already seen type>, static UNFLAGGABLE = {<BaseForID<PlayerColor, unsigned char>> = {num = 0 '\000'}, static CANNOT_DETERMINE = <same as static member of an already seen type>, static UNFLAGGABLE = <same as static member of an already seen type>, static NEUTRAL = {<BaseForID<PlayerColor, unsigned char>> = {num = 0 '\000'}, static CANNOT_DETERMINE = <same as static member of an already seen type>, static UNFLAGGABLE = <same as static member of an already seen type>, static NEUTRAL = <same as static member of an already seen type>, static PLAYER_LIMIT = {<BaseForID<PlayerColor, unsigned char>> = {num = 0 '\000'}, static CANNOT_DETERMINE = <same as static member of an already seen type>, static UNFLAGGABLE = <same as static member of an already seen type>, static NEUTRAL = <same as static member of an already seen type>, static PLAYER_LIMIT = <same as static member of an already seen type>}}, static PLAYER_LIMIT = <same as static member of an already seen type>}, static NEUTRAL = <same as static member of an already seen type>, static PLAYER_LIMIT = <same as static member of an already seen type>}, static UNFLAGGABLE = <same as static member of an already seen type>, static NEUTRAL = <same as static member of an already seen type>, static PLAYER_LIMIT = <same as static member of an already seen type>}}, fogOfWarMap = std::vector of length 72, capacity 72 = { std::vector of length 72, capacity 72 = {std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, ---Type <return> to continue, or q <return> to quit--- std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}}, std::vector of length 72, capacity 72 = {std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}}, std::vector of length 72, capacity 72 = { std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, std::vector of length 2, capacity 2 = {1 '\001', 0 '\000'}, ---Type <return> to continue, or q <return> to quit---std::vector of Quit (gdb) | ||||||||||||

Steps To Reproduce | 1) run vcmiclient 2) load save game Autosave_2 | ||||||||||||

Tags | No tags attached. | ||||||||||||

Attached Files | Autosave_2.tar.xz [^] (607,264 bytes) 2016-01-18 18:21 | ||||||||||||

Notes | |

(0006302) SXX (administrator) 2016-01-18 18:37 |
This problem is already fixed, but it's not yet merged into mainline as it's will break save format. Fix going to be included with next stable release. |

(0006614) SXX (administrator) 2016-09-04 08:14 |
Fixed by PR202. For more details or comments please check 0002314 |

Issue History | |||

Date Modified | Username | Field | Change |

2016-01-18 18:21 | anonymous1 | New Issue | |

2016-01-18 18:21 | anonymous1 | File Added: Autosave_2.tar.xz | |

2016-01-18 18:34 | SXX | Relationship added | duplicate of 0002314 |

2016-01-18 18:37 | SXX | Note Added: 0006302 | |

2016-09-04 08:14 | SXX | Note Added: 0006614 | |

2016-09-04 08:14 | SXX | Status | new => resolved |

2016-09-04 08:14 | SXX | Fixed in Version | => 0.99 |

2016-09-04 08:14 | SXX | Resolution | open => fixed |

2016-09-04 08:14 | SXX | Assigned To | => AVS |

Copyright © 2000 - 2023 MantisBT Team |