MantisBT

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0002678VCMIMechanics - Adventure Mappublic2017-05-20 12:272017-06-10 05:12
Reporter0nedef 
Assigned ToAVS 
PrioritynormalSeveritycrashReproducibilityalways
StatusresolvedResolutionfixed 
PlatformOSOS Version
Product Version0.99 
Target VersionFixed in Version0.next 
Summary0002678: Using Town Portal causes game crash
DescriptionBasically this is a re-report of issue 0002183. Whenever Town Portal is used, the game crashes. What data do you need to reproduce/debug?
TagsNo tags attached.
Attached Fileszip file icon asdf.zip [^] (1,050,888 bytes) 2017-05-23 04:49
log file icon gdb_backtrace.log [^] (28,585 bytes) 2017-05-23 18:16
txt file icon VCMI_Client_log.txt [^] (114,596 bytes) 2017-05-23 18:16 [Show Content]
txt file icon VCMI_Server_log.txt [^] (105,438 bytes) 2017-05-23 18:16 [Show Content]
log file icon archlinux-gdb_backtrace.log [^] (27,639 bytes) 2017-05-23 19:42
txt file icon archlinux-VCMI_Server_log.txt [^] (103,674 bytes) 2017-05-23 19:42 [Show Content]
txt file icon archlinux-VCMI_Client_log.txt [^] (113,951 bytes) 2017-05-23 19:42 [Show Content]
? file icon valgrind.log.xz [^] (340,124 bytes) 2017-05-24 02:23
? file icon ubu1604-valgrind.log.xz [^] (802,172 bytes) 2017-05-24 03:00
? file icon ubu1604-valgrind-origins.log.xz [^] (1,079,216 bytes) 2017-05-24 16:22
? file icon archlinux-valgrind.log.xz [^] (347,028 bytes) 2017-05-24 18:06

- Relationships
has duplicate 0002183closedAVS Crash when using town portal spell 
has duplicate 0002691resolvedAVS Game crashes when the advanced town gate spell is used and user selects a town 

-  Notes
(0007016)
Warmonger (administrator)
2017-05-20 12:30

Savegame for sure.
(0007017)
0nedef (reporter)
2017-05-20 12:58

Nginx throws a 413 Entity Too Large. http://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size [^]

Once that's cleared up, I'll be happy to upload.
(0007019)
SXX (administrator)
2017-05-22 22:16
edited on: 2017-05-22 22:18

Yep I fixed problem with uploads, but please upload saves in archive.

(0007021)
0nedef (reporter)
2017-05-23 04:50

Save file uploaded. The spell's available on the Adela hero.
(0007022)
AVS (administrator)
2017-05-23 10:19

Unable to reproduce in windows. May be bug is target dependent. What is your OS and CPU arch?
SXX, please test this under Linux.
(0007023)
0nedef (reporter)
2017-05-23 12:45
edited on: 2017-05-23 12:47

Running this on Archlinux amd64, specifically using this PKGBUILD: https://aur.archlinux.org/packages/vcmi/ [^]

What other outputs will prove helpful?

(0007024)
AVS (administrator)
2017-05-23 12:52

"VCMI_Client_log.txt", "VCMI_Server_log.txt", gdb backtrace
(0007025)
0nedef (reporter)
2017-05-23 18:18

Attached files are replicated on daily builds from the PPA for Ubuntu 16.04. Will get around to Archlinux when possible.
(0007026)
0nedef (reporter)
2017-05-23 19:45

Uploaded Archlinux log and backtrace, but a brief skim suggests this is simply a Linux-specific issue.
(0007027)
AVS (administrator)
2017-05-23 19:59

It would be also helpful to see valgrind memcheck log
(0007028)
0nedef (reporter)
2017-05-24 02:24
edited on: 2017-05-24 03:01

Attached output from `valgrind --leak-check=yes --show-leak-kinds=all --time-stamp=yes --error-limit=no vcmiclient`. I do have to point out that running vcmiclient under valgrind replicates the issue only on daily builds for Ubuntu 16.04, but not Archlinux.

(0007029)
AVS (administrator)
2017-05-24 06:30

Please repeat valgring run with --track-origins=yes
(0007030)
0nedef (reporter)
2017-05-24 16:27

Uploaded valgrind log for Ubuntu dailies, still working on replicating it on Archlinux. Oddly enough, the bug doesn't always occur with valgrind attached.
(0007031)
AVS (administrator)
2017-05-24 16:39

Please upload Archlinux track-origins log too. Ubuntu log shows nothing and Archlinux log shows something useful. The fact that with valgrind on Archlinux it do not crash does not mean that bug is not reproduced.
(0007032)
AVS (administrator)
2017-05-24 16:42

==00:00:01:57.190 9903== Conditional jump or move depends on uninitialised value(s)
==00:00:01:57.190 9903== at 0x53DAF5: select (GUIClasses.cpp:1719)
==00:00:01:57.190 9903== by 0x53DAF5: CObjectListWindow::CItem::CItem(CObjectListWindow*, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (GUIClasses.cpp:1714)
==00:00:01:57.190 9903== by 0x53DC3B: CObjectListWindow::genItem(unsigned long) (GUIClasses.cpp:1786)
==00:00:01:57.190 9903== by 0x4D64BC: operator() (functional:2127)
==00:00:01:57.190 9903== by 0x4D64BC: CObjectList::createItem(unsigned long) (ObjectLists.cpp:42)
==00:00:01:57.190 9903== by 0x4D6725: CListBox::reset() (ObjectLists.cpp:128)
==00:00:01:57.190 9903== by 0x4D6EF8: CListBox::CListBox(std::function<CIntObject* (unsigned long)>, std::function<void (CIntObject*)>, Point, Point, unsigned long, unsigned long, unsigned long, int, Rect) (ObjectLists.cpp:102)
==00:00:01:57.190 9903== by 0x5458AC: CObjectListWindow::init(CIntObject*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (GUIClasses.cpp:1779)
==00:00:01:57.190 9903== by 0x545D61: CObjectListWindow::CObjectListWindow(std::vector<int, std::allocator<int> > const&, CIntObject*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::function<void (int)>) (GUIClasses.cpp:1743)
==00:00:01:57.191 9903== by 0x52708D: CSpellWindow::SpellArea::clickLeft(boost::logic::tribool, bool) (CSpellWindow.cpp:720)
==00:00:01:57.191 9903== by 0x49B787: CGuiHandler::handleEvent(SDL_Event*) (CGuiHandler.cpp:308)
==00:00:01:57.191 9903== by 0x49C055: CGuiHandler::handleEvents() (CGuiHandler.cpp:182)
==00:00:01:57.191 9903== by 0x61B3F0: CPlayerInterface::update() (CPlayerInterface.cpp:1636)
==00:00:01:57.191 9903== by 0x49C6E6: CGuiHandler::renderFrame() (CGuiHandler.cpp:414)
==00:00:01:57.191 9903==
==00:00:02:00.225 9903== Conditional jump or move depends on uninitialised value(s)
==00:00:02:00.225 9903== at 0x53DD17: CObjectListWindow::changeSelection(unsigned long) (GUIClasses.cpp:1801)
==00:00:02:00.225 9903== by 0x49B787: CGuiHandler::handleEvent(SDL_Event*) (CGuiHandler.cpp:308)
==00:00:02:00.225 9903== by 0x49C055: CGuiHandler::handleEvents() (CGuiHandler.cpp:182)
==00:00:02:00.225 9903== by 0x61B3F0: CPlayerInterface::update() (CPlayerInterface.cpp:1636)
==00:00:02:00.225 9903== by 0x49C6E6: CGuiHandler::renderFrame() (CGuiHandler.cpp:414)
==00:00:02:00.225 9903== by 0x444A56: mainLoop (CMT.cpp:1243)
==00:00:02:00.225 9903== by 0x444A56: main (CMT.cpp:510)
==00:00:02:00.225 9903==
==00:00:02:00.226 9903== Conditional jump or move depends on uninitialised value(s)
==00:00:02:00.226 9903== at 0x53DDCD: CObjectListWindow::changeSelection(unsigned long) (GUIClasses.cpp:1810)
==00:00:02:00.226 9903== by 0x49B787: CGuiHandler::handleEvent(SDL_Event*) (CGuiHandler.cpp:308)
==00:00:02:00.226 9903== by 0x49C055: CGuiHandler::handleEvents() (CGuiHandler.cpp:182)
==00:00:02:00.226 9903== by 0x61B3F0: CPlayerInterface::update() (CPlayerInterface.cpp:1636)
==00:00:02:00.226 9903== by 0x49C6E6: CGuiHandler::renderFrame() (CGuiHandler.cpp:414)
==00:00:02:00.226 9903== by 0x444A56: mainLoop (CMT.cpp:1243)
==00:00:02:00.226 9903== by 0x444A56: main (CMT.cpp:510)
==00:00:02:00.226 9903==
==00:00:02:01.584 9903== Invalid read of size 8
==00:00:02:01.584 9903== at 0x524399: operator() (CSpellWindow.cpp:710)
==00:00:02:01.584 9903== by 0x524399: std::_Function_handler<void (int), CSpellWindow::SpellArea::clickLeft(boost::logic::tribool, bool)::{lambda(int)0000004}>::_M_invoke(std::_Any_data const&, int&&) (functional:1731)
==00:00:02:01.584 9903== by 0x53EBD8: operator() (functional:2127)
==00:00:02:01.584 9903== by 0x53EBD8: CObjectListWindow::elementSelected() (GUIClasses.cpp:1795)
==00:00:02:01.584 9903== by 0x4B85BC: operator() (functional:2127)
==00:00:02:01.584 9903== by 0x4B85BC: operator()<> (FunctionList.h:62)
==00:00:02:01.584 9903== by 0x4B85BC: CButton::onButtonClicked() (Buttons.cpp:163)
==00:00:02:01.584 9903== by 0x4A1843: CKeyShortcut::keyPressed(SDL_KeyboardEvent const&) (CIntObject.cpp:352)
==00:00:02:01.584 9903== by 0x49AF1E: CGuiHandler::handleEvent(SDL_Event*) (CGuiHandler.cpp:215)
==00:00:02:01.584 9903== by 0x49C055: CGuiHandler::handleEvents() (CGuiHandler.cpp:182)
==00:00:02:01.584 9903== by 0x61B3F0: CPlayerInterface::update() (CPlayerInterface.cpp:1636)
==00:00:02:01.584 9903== by 0x49C6E6: CGuiHandler::renderFrame() (CGuiHandler.cpp:414)
==00:00:02:01.584 9903== by 0x444A56: mainLoop (CMT.cpp:1243)
==00:00:02:01.584 9903== by 0x444A56: main (CMT.cpp:510)
==00:00:02:01.584 9903== Address 0x45e3b8b0 is 144 bytes inside an unallocated block of size 192 in arena "client"
==00:00:02:01.584 9903==
==00:00:02:01.608 9903== Invalid read of size 8
==00:00:02:01.608 9903== at 0x5243A0: operator() (CSpellWindow.cpp:710)
==00:00:02:01.608 9903== by 0x5243A0: std::_Function_handler<void (int), CSpellWindow::SpellArea::clickLeft(boost::logic::tribool, bool)::{lambda(int)0000004}>::_M_invoke(std::_Any_data const&, int&&) (functional:1731)
==00:00:02:01.608 9903== by 0x53EBD8: operator() (functional:2127)
==00:00:02:01.608 9903== by 0x53EBD8: CObjectListWindow::elementSelected() (GUIClasses.cpp:1795)
==00:00:02:01.608 9903== by 0x4B85BC: operator() (functional:2127)
==00:00:02:01.608 9903== by 0x4B85BC: operator()<> (FunctionList.h:62)
==00:00:02:01.608 9903== by 0x4B85BC: CButton::onButtonClicked() (Buttons.cpp:163)
==00:00:02:01.608 9903== by 0x4A1843: CKeyShortcut::keyPressed(SDL_KeyboardEvent const&) (CIntObject.cpp:352)
==00:00:02:01.608 9903== by 0x49AF1E: CGuiHandler::handleEvent(SDL_Event*) (CGuiHandler.cpp:215)
==00:00:02:01.608 9903== by 0x49C055: CGuiHandler::handleEvents() (CGuiHandler.cpp:182)
==00:00:02:01.608 9903== by 0x61B3F0: CPlayerInterface::update() (CPlayerInterface.cpp:1636)
==00:00:02:01.608 9903== by 0x49C6E6: CGuiHandler::renderFrame() (CGuiHandler.cpp:414)
==00:00:02:01.608 9903== by 0x444A56: mainLoop (CMT.cpp:1243)
==00:00:02:01.608 9903== by 0x444A56: main (CMT.cpp:510)
==00:00:02:01.608 9903== Address 0x185ac6b0 is 448 bytes inside an unallocated block of size 464 in arena "client"
==00:00:02:01.608 9903==
==00:00:02:01.640 9903== Invalid read of size 8
==00:00:02:01.640 9903== at 0x5243BE: operator() (CSpellWindow.cpp:711)
==00:00:02:01.640 9903== by 0x5243BE: std::_Function_handler<void (int), CSpellWindow::SpellArea::clickLeft(boost::logic::tribool, bool)::{lambda(int)0000004}>::_M_invoke(std::_Any_data const&, int&&) (functional:1731)
==00:00:02:01.640 9903== by 0x53EBD8: operator() (functional:2127)
==00:00:02:01.640 9903== by 0x53EBD8: CObjectListWindow::elementSelected() (GUIClasses.cpp:1795)
==00:00:02:01.640 9903== by 0x4B85BC: operator() (functional:2127)
==00:00:02:01.640 9903== by 0x4B85BC: operator()<> (FunctionList.h:62)
==00:00:02:01.640 9903== by 0x4B85BC: CButton::onButtonClicked() (Buttons.cpp:163)
==00:00:02:01.640 9903== by 0x4A1843: CKeyShortcut::keyPressed(SDL_KeyboardEvent const&) (CIntObject.cpp:352)
==00:00:02:01.641 9903== by 0x49AF1E: CGuiHandler::handleEvent(SDL_Event*) (CGuiHandler.cpp:215)
==00:00:02:01.641 9903== by 0x49C055: CGuiHandler::handleEvents() (CGuiHandler.cpp:182)
==00:00:02:01.641 9903== by 0x61B3F0: CPlayerInterface::update() (CPlayerInterface.cpp:1636)
==00:00:02:01.641 9903== by 0x49C6E6: CGuiHandler::renderFrame() (CGuiHandler.cpp:414)
==00:00:02:01.641 9903== by 0x444A56: mainLoop (CMT.cpp:1243)
==00:00:02:01.641 9903== by 0x444A56: main (CMT.cpp:510)
==00:00:02:01.641 9903== Address 0x45e3b8b0 is 144 bytes inside an unallocated block of size 192 in arena "client"
==00:00:02:01.641 9903==
==00:00:02:01.668 9903== Invalid read of size 8
==00:00:02:01.668 9903== at 0x5243C5: operator() (CSpellWindow.cpp:711)
==00:00:02:01.668 9903== by 0x5243C5: std::_Function_handler<void (int), CSpellWindow::SpellArea::clickLeft(boost::logic::tribool, bool)::{lambda(int)0000004}>::_M_invoke(std::_Any_data const&, int&&) (functional:1731)
==00:00:02:01.668 9903== by 0x53EBD8: operator() (functional:2127)
==00:00:02:01.669 9903== by 0x53EBD8: CObjectListWindow::elementSelected() (GUIClasses.cpp:1795)
==00:00:02:01.669 9903== by 0x4B85BC: operator() (functional:2127)
==00:00:02:01.669 9903== by 0x4B85BC: operator()<> (FunctionList.h:62)
==00:00:02:01.669 9903== by 0x4B85BC: CButton::onButtonClicked() (Buttons.cpp:163)
==00:00:02:01.669 9903== by 0x4A1843: CKeyShortcut::keyPressed(SDL_KeyboardEvent const&) (CIntObject.cpp:352)
==00:00:02:01.669 9903== by 0x49AF1E: CGuiHandler::handleEvent(SDL_Event*) (CGuiHandler.cpp:215)
==00:00:02:01.669 9903== by 0x49C055: CGuiHandler::handleEvents() (CGuiHandler.cpp:182)
==00:00:02:01.669 9903== by 0x61B3F0: CPlayerInterface::update() (CPlayerInterface.cpp:1636)
==00:00:02:01.669 9903== by 0x49C6E6: CGuiHandler::renderFrame() (CGuiHandler.cpp:414)
==00:00:02:01.669 9903== by 0x444A56: mainLoop (CMT.cpp:1243)
==00:00:02:01.669 9903== by 0x444A56: main (CMT.cpp:510)
==00:00:02:01.669 9903== Address 0x185ac6b0 is 448 bytes inside an unallocated block of size 464 in arena "client"
(0007033)
AVS (administrator)
2017-05-24 16:48

^ is useful information from arch log
But without track-origins it just duplicates backtrace
(0007041)
AVS (administrator)
2017-05-25 17:11

Should be fixed in https://github.com/vcmi/vcmi/commit/f370cdf1c79c912b6716a4c7adc694f625abcf1b [^]
(0007042)
0nedef (reporter)
2017-05-25 19:12

Just rebuilt it from git develop - looks like it solved the issue.

- Issue History
Date Modified Username Field Change
2017-05-20 12:27 0nedef New Issue
2017-05-20 12:30 Warmonger Note Added: 0007016
2017-05-20 12:58 0nedef Note Added: 0007017
2017-05-22 22:16 SXX Note Added: 0007019
2017-05-22 22:18 SXX Note Edited: 0007019 View Revisions
2017-05-23 04:49 0nedef File Added: asdf.zip
2017-05-23 04:50 0nedef Note Added: 0007021
2017-05-23 10:19 AVS Note Added: 0007022
2017-05-23 10:19 AVS Assigned To => AVS
2017-05-23 10:19 AVS Status new => feedback
2017-05-23 12:45 0nedef Note Added: 0007023
2017-05-23 12:45 0nedef Status feedback => assigned
2017-05-23 12:47 0nedef Note Edited: 0007023 View Revisions
2017-05-23 12:52 AVS Note Added: 0007024
2017-05-23 18:16 0nedef File Added: gdb_backtrace.log
2017-05-23 18:16 0nedef File Added: VCMI_Client_log.txt
2017-05-23 18:16 0nedef File Added: VCMI_Server_log.txt
2017-05-23 18:18 0nedef Note Added: 0007025
2017-05-23 19:42 0nedef File Added: archlinux-gdb_backtrace.log
2017-05-23 19:42 0nedef File Added: archlinux-VCMI_Server_log.txt
2017-05-23 19:42 0nedef File Added: archlinux-VCMI_Client_log.txt
2017-05-23 19:45 0nedef Note Added: 0007026
2017-05-23 19:59 AVS Note Added: 0007027
2017-05-24 02:23 0nedef File Added: valgrind.log.xz
2017-05-24 02:24 0nedef Note Added: 0007028
2017-05-24 03:00 0nedef File Added: ubu1604-valgrind.log.xz
2017-05-24 03:00 0nedef Note Edited: 0007028 View Revisions
2017-05-24 03:01 0nedef Note Edited: 0007028 View Revisions
2017-05-24 06:30 AVS Note Added: 0007029
2017-05-24 16:22 0nedef File Added: ubu1604-valgrind-origins.log.xz
2017-05-24 16:27 0nedef Note Added: 0007030
2017-05-24 16:39 AVS Note Added: 0007031
2017-05-24 16:42 AVS Note Added: 0007032
2017-05-24 16:48 AVS Note Added: 0007033
2017-05-24 18:06 0nedef File Added: archlinux-valgrind.log.xz
2017-05-25 17:11 AVS Note Added: 0007041
2017-05-25 17:11 AVS Status assigned => resolved
2017-05-25 17:11 AVS Fixed in Version => 0.next
2017-05-25 17:11 AVS Resolution open => fixed
2017-05-25 17:12 AVS Relationship added has duplicate 0002183
2017-05-25 19:12 0nedef Note Added: 0007042
2017-06-10 05:12 AVS Relationship added has duplicate 0002691

Site | Forums | Wiki | Slack | GitHub


Copyright © 2000 - 2018 MantisBT Team
Hosting provided by DigitalOcean