[Freeciv-tickets] [freeciv] #43630: dai_auto_settler_run() gets stuck in recursion which somehow later leads to segfaults

Back to archive index
OSDN Ticket System norep****@osdn*****
Sun Jan 16 17:25:44 JST 2022


#43630: dai_auto_settler_run() gets stuck in recursion which somehow later leads to segfaults

  Open Date: 2022-01-15 10:58
Last Update: 2022-01-16 10:25

URL for this Ticket:
    https://osdn.net//projects/freeciv/ticket/43630
RSS feed for this Ticket:
    https://osdn.net/ticket/ticket_rss.php?group_id=12505&tid=43630

---------------------------------------------------------------------

Last Changes/Comment on this Ticket:
2022-01-16 10:25 Updated by: cazfi

Comment:

Reply To lexxie9952
Well maybe it's opposite, and the fact we allow settling while still transported.
No. The recursion happens when settling is *disallowed* when the code assumes it to be allowed.

---------------------------------------------------------------------
Ticket Status:

      Reporter: lexxie9952
         Owner: (None)
          Type: Bugs
        Status: Open
      Priority: 5 - Medium
     MileStone: (None)
     Component: (None)
      Severity: 5 - Medium
    Resolution: None
---------------------------------------------------------------------

Ticket details:

This is connected to several bits of info to know about it...
This line here:
/* Only known way to end in here is that hut turned in to a city
when settler entered tile. So this is not going to lead in any
serious recursion. */
This log here:
: in dai_do_build_city() [../../../freeciv/ai/default/aisettler.c::1273]: Ramiro I: Failed to build city at (63, 31). Reason id: 34
1: in dai_do_build_city() [../../../freeciv/ai/default/aisettler.c::1273]: Ramiro I: Failed to build city at (64, 31). Reason id: 34
1: in dai_do_build_city() [../../../freeciv/ai/default/aisettler.c::1273]: last message repeated 2 times
1: in dai_do_build_city() [../../../freeciv/ai/default/aisettler.c::1273]: last message repeated 2 times (total 4 repeats)
1: in dai_do_build_city() [../../../freeciv/ai/default/aisettler.c::1273]: last message repeated 4 times (total 8 repeats)
1: in dai_do_build_city() [../../../freeciv/ai/default/aisettler.c::1273]: last message repeated 8 times (total 16 repeats)
1: in dai_do_build_city() [../../../freeciv/ai/default/aisettler.c::1273]: last message repeated 16 times (total 32 repeats)
1: in dai_do_build_city() [../../../freeciv/ai/default/aisettler.c::1273]: last message repeated 32 times (total 64 repeats)
1: in dai_do_build_city() [../../../freeciv/ai/default/aisettler.c::1273]: last message repeated 64 times (total 128 repeats)
1: in dai_do_build_city() [../../../freeciv/ai/default/aisettler.c::1273]: last message repeated 128 times (total 256 repeats)
1: in dai_do_build_city() [../../../freeciv/ai/default/aisettler.c::1273]: last message repeated 256 times (total 512 repeats)
1: in dai_do_build_city() [../../../freeciv/ai/default/aisettler.c::1273]: last message repeated 512 times (total 1024 repeats)
1: in dai_do_build_city() [../../../freeciv/ai/default/aisettler.c::1273]: last message repeated 1024 times (total 2048 repeats)
1: in dai_do_build_city() [../../../freeciv/ai/default/aisettler.c::1273]: last message repeated 2048 times (total 4096 repeats)
1: in dai_do_build_city() [../../../freeciv/ai/default/aisettler.c::1273]: last message repeated 4096 times (total 8192 repeats)
1: in dai_do_build_city() [../../../freeciv/ai/default/aisettler.c::1273]: last message repeated 8192 times (total 16384 repeats)
1: in dai_do_build_city() [../../../freeciv/ai/default/aisettler.c::1273]: last message repeated 16384 times (total 32768 repeats)
This stack trace here:
Core was generated by /home/freeciv/freeciv/bin/freeciv-web --debug 1 --port 60                 83 --Announce none --e'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x000056436a5ce510 in can_player_see_unit ()
#0  0x000056436a5ce510 in can_player_see_unit ()
#1  0x000056436a3d4f70 in send_unit_info ()
#2  0x000056436a49bdbf in illegal_action ()
#3  0x000056436a49da9e in unit_perform_action ()
#4  0x000056436a4a264b in unit_do_action ()
---Type <return> to continue, or q <return> to quit---
#5  0x000056436a4f9a57 in dai_auto_settler_run ()
#6  0x000056436a4f997a in dai_auto_settler_run ()
#7  0x000056436a4f997a in dai_auto_settler_run ()
#8  0x000056436a4f997a in dai_auto_settler_run ()
#9  0x000056436a4f997a in dai_auto_settler_run ()
#10 0x000056436a4f997a in dai_auto_settler_run ()
#11 0x000056436a4f997a in dai_auto_settler_run ()
#12 0x000056436a4f997a in dai_auto_settler_run ()
#13 0x000056436a4f997a in dai_auto_settler_run ()
#14 0x000056436a4f997a in dai_auto_settler_run ()
#15 0x000056436a4f997a in dai_auto_settler_run ()
#16 0x000056436a4f997a in dai_auto_settler_run ()
#17 0x000056436a4f997a in dai_auto_settler_run ()
...etc... 32751 more times....

-- 
Ticket information of Freeciv project
Freeciv Project is hosted on OSDN

Project URL: https://osdn.net/projects/freeciv/
OSDN: https://osdn.net

URL for this Ticket:
    https://osdn.net/projects/freeciv/ticket/43630
RSS feed for this Ticket:
    https://osdn.net/ticket/ticket_rss.php?group_id=12505&tid=43630



More information about the Freeciv-tickets mailing list
Back to archive index