<URL: http://bugs.freeciv.org/Ticket/Display.html?id=38323 >

civserver: ../../src.patched/server/techtools.c:278: found_new_tech:
Assertion `tech_is_available(plr, tech_found) || tech_found ==
(200-2)' failed.

#3  0x0000000000415b1f in found_new_tech (plr=0x760c48, tech_found=5,
    was_discovery=false, saving_bulbs=true)
    at ../../src.patched/server/techtools.c:278
        next_tech = <value optimized out>
        bonus_tech_hack = <value optimized out>
        was_first = <value optimized out>
        had_embassies = {0, 0, 4897441, 0, 84, 0, 4897441, 0, 1, 0,
  4898788, 0, 2034368, 1077692614, 4897441, 0, 1, 0, 4898788, 0, 2034368,
  1077692614, 6976164, 0, 41, 0, 7819944, 0, 0, 0, 7819948, 0}
        pcity = <value optimized out>
        research = (struct player_research *) 0x6a9234
        __PRETTY_FUNCTION__ = "found_new_tech"
#4  0x0000000000415c82 in give_initial_techs (plr=0x760c48)
    at ../../src.patched/server/techtools.c:614
        nation = (struct nation_type *) 0x8b7600
#5  0x000000000040c0da in srv_main ()
    at ../../src.patched/server/srv_main.c:1889
No locals.
#6  0x0000000000403868 in main (argc=3, argv=0x7fff9cd344a8)
    at ../../src.patched/server/civserver.c:256
        inx = 3
        showhelp = false
        showvers = false
        option = <value optimized out>


 Nation does not have root_req for its initial tech. At least ruleset
sanity checking is needed so that game gives sensible error message to
ruleset author. This is not trivial as we need to check if *nations*
are legal, but tech_is_available() works on *players*.
 It also seems to me that this crash might happen if initial root_req
is simply processed later than than tech depending on it.

 Found while testing Mongols scenario...


 - ML



_______________________________________________
Freeciv-dev mailing list
Freeciv-dev@gna.org
https://mail.gna.org/listinfo/freeciv-dev

Reply via email to