Opened 4 years ago
Last modified 4 years ago
#16966 closed bug
Debugger crashes when loading symbols for OpenTTD — at Initial Version
Reported by: | milek7 | Owned by: | anevilyak |
---|---|---|---|
Priority: | normal | Milestone: | R1/beta3 |
Component: | Applications/Debugger | Version: | R1/beta2 |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | x86-64 |
Description
To reproduce (libsdl_devel is required for build):
git clone https://github.com/OpenTTD/OpenTTD cd OpenTTD mkdir build cd build cmake .. Debugger ./openttd
It seems it crashes by stack overflow caused by infinite recursion when resolving symbol, crashlog attached.
From cursory examination of coredump it seems to loop with this string: IndustryDirectoryWindow::GetIndustryString(const Industry*)::<lambda(CargoInfo, CargoInfo)>::
, which seems to be the symbol _ZZNK23IndustryDirectoryWindow17GetIndustryStringEPK8IndustryENKUlSt5tupleIJhtPKcjEES6_E_clES6_S6_
(GNU tools are demangling it into IndustryDirectoryWindow::GetIndustryString(Industry const*) const::{lambda(std::tuple<unsigned char, unsigned short, char const*, unsigned int>, std::tuple<unsigned char, unsigned short, char const*, unsigned int>)#1}::operator()(std::tuple<unsigned char, unsigned short, char const*, unsigned int>, std::tuple<unsigned char, unsigned short, char const*, unsigned int>) const
).