[haiku-bugs] [Haiku] #16966: Debugger crashes when loading symbols for OpenTTD

  • From: "Haiku" <trac@xxxxxxxxxxxx>
  • To: undisclosed-recipients: ;
  • Date: Mon, 24 May 2021 11:46:36 -0000

#16966: Debugger crashes when loading symbols for OpenTTD
-----------------------------------+--------------------------
 Reporter:  milek7                 |       Owner:  anevilyak
     Type:  bug                    |      Status:  new
 Priority:  normal                 |   Milestone:  Unscheduled
Component:  Applications/Debugger  |     Version:  R1/beta2
 Keywords:                         |  Blocked By:
 Blocking:                         |    Platform:  x86-64
-----------------------------------+--------------------------
 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`).
-- 
Ticket URL: <https://dev.haiku-os.org/ticket/16966>
Haiku <https://dev.haiku-os.org>
The Haiku operating system.

Other related posts: