Follow-up Comment #3, bug #21063 (project freeciv): Attached patch addresses the cause of the assertion failures (failure to call init_settings()), and the drivel in "Level" etc in S2_3.
Unfortunately it also provokes a segfault in S2_4 and later (S2_3 seems fine). When the ruleset is loaded, the [settings] section causes the action function for *all* settings to be invoked, which calls aifill(), which looks to add/remove players and falls over something in the AI type stuff. (I bet it only works on S2_3, which predates AI types, by luck.) Making freeciv-manual work is not likely to be a high priority for me, so anyone should feel free to pick this up and find the least awful way to bodge around it. #0 __strlen_sse2 () at ../sysdeps/x86_64/multiarch/../strlen.S:32 No locals. #1 0x000000000053c242 in ai_type_by_name (search=0x0) at ai.c:285 len = <optimised out> #2 0x00000000004bf365 in server_create_player (player_id=<optimised out>, ai_type=0x0, prgbcolor=0x0) at plrhand.c:1509 pslot = <optimised out> pplayer = 0x38a6b70 __FUNCTION__ = "server_create_player" #3 0x000000000045b6cd in aifill (amount=<optimised out>) at srv_main.c:1893 leader_name = "360_@327377177 00 00 00_@327377177 00 00 01 00 00 00 00 00 00 00310_@327377177 00 00377 00 00 00 00 00 00 00224pg 00 00 00 00" filled = 1 pplayer = <optimised out> limit = <optimised out> __FUNCTION__ = "aifill" #4 0x00000000004581c3 in setting_action (pset=0x932ed8) at settings.c:3243 No locals. #5 settings_ruleset (file=0x2b50670, section=0x67711c "settings") at settings.c:3282 pset_iter = 0x1f8c390 pset = 0x932ed8 _setting_list = <optimised out> name = <optimised out> j = 0 __FUNCTION__ = "settings_ruleset" #6 0x000000000044f5f3 in load_ruleset_game (rsdir=0xb0988b "classic") at ruleset.c:4886 food_ini = <optimised out> teams = 0 gni_tmp = 1 sec = <optimised out> nval = 4 file = 0x2b50670 sval = <optimised out> filename = 0x389fed0 "data/classic/game.ruleset" text = <optimised out> svec = <optimised out> i = 4 name = 0x0 ok = true #7 load_rulesetdir (rsdir=0xb0988b "classic") at ruleset.c:5765 techfile = 0x1fbd8a0 unitfile = 0x203b6b0 buildfile = 0x1fbd360 govfile = 0x203b7b0 terrfile = 0x2091fb0 cityfile = 0x20d4a80 nationfile = 0x20d30e0 effectfile = 0x2a9a690 ok = true __FUNCTION__ = "load_rulesetdir" #8 0x000000000044f9ae in load_rulesets (restore=0x0) at ruleset.c:5647 No locals. #9 0x000000000043433f in manual_command () at civmanual.c:145 doc = <optimised out> filename = "370P223 00 00 00 00 00 00261277ѕ212230v220303-370 01 00 00 00 00K325a", ' 00' <repeats 12 times> manuals = <optimised out> my_conn = {id = 0, sock = 0, used = true, established = false, packet_header = {length = 1, type = 0}, closing_reason = 0x0, observer = 29, playing = 0xfe51c11b02b60000, buffer = 0x1f8e480, send_buffer = 0x1f984b0, last_write = 0x0, ping_time = 1.3833838083554903e-322, self = 0x3a0, username = "PeA327377177 00 00j247244336(177 00 00 60_A327377177 00 00340 61E", ' 00' <repeats 13 times>, "@bA327377177 00", addr = "pdA327377177 00 00 71 00 00 00 00 00 00 00 20227 00337(177 00 00pdA327377177 00 00240bA327377177 00 00 71 00 00 00 00 00 00 00 70 00 00 00 00 00 00 00240 03 00 00 00 00 00 00pdA327377177 00 00j247244336(177 00 00340_A327377177 00 00340 61E", ' 00' <repeats 13 times>, "@bA327377177 00 00260bA327377177 00 00q", ' 00' <repeats 11 times>"377, 177 00 00b 00 00 00 00 00 00 00240bA327377177 00 00260bA327377177 00 00340 61E 00 00 00 00 00240 03 00 00 00 00 00 00260bA327377177 00 00Ǫ244336(177 00 00330.223 00 00 00 00 00360A223 00 00 00 00 00 00F223 00 00 00 00 00@I223 00 00 00 00 00220)223 00 00 00 00 00370 66223 00 00 00 00 00@<223 00 00 00 00 00(P223 00 00 00 00", capability = "250I223 00 00 00 00 00350?223 00 00 00 00 00340=223 00 00 00 00 00230 70223 00 00 00 00 00 30?223 00 00 00 00 00220C223 00 00 00 00 00220P223 00 00 00 00 00370P223 00 00 00 00 00X5223 00 00 00 00 00310D223 00 00 00 00 00XO223 00 00 00 00 00XB223 00 00 00 00 00360 64223 00 00 00 00 00260>223 00 00 00 00 00b;223 00 00 00 00 00260 61223 00 00 00 00 00 20 60223 00 00 00 00 00x0223 00 00 00 00 00250/223 00 00 00 00 00@/223 00 00 00 00 00(C223 00 00 00 00 00 20J223 00 00 00 00 00HK223 00 00 00 00 00360N223 00 00 00 00 00210A223 00 00 00 00 00 A223 00 00 00 00 00220 66223 00 00 00 00 00300 65223 00 00 00 00 00310 67223 00 00 00 00 00320,223 00 00 00 00 00360'223 00 00 00 00 00230+223 00 00 00 00 00"..., access_level = ALLOW_CTRL, notify_of_writable_data = 0x4531e0 <settings_list_cmp>, {client = { last_request_id_used = 0, last_processed_request_id_seen = 0, request_id_of_currently_handled_packet = -683580352}, server = { currently_processed_request_id = 0, last_request_id_seen = 0, ping_timers = 0x7fffd7416440, auth_tries = -683579896, auth_settime = 7, status = AS_NOT_ESTABLISHED, password = " 00 00 00 00bfA327377177 00 00240dA327377177 00 00a 00 00 00 00 00 00 00 06 00 00 00 00 00 00 00240 01 00 00 00 00 00 00bfA327377177 00 00ħ244336(177 00 00 01 00 00 00 00 00 00 00340 61E", ' 00' <repeats 13 times>, "@dA327377177 00 00330eA327377177 00 00r", ' 00' <repeats 15 times>"330, eA327377177 00 00240dA327377177 00 00r 00 00 00 00 00 00 00f 00 00 00 00 00 00 00240 01 00 00 00 00 00 00 30cA327377177 00 00j247244336(177 00 00 00 00 00 00 00 00 00 00340 61E", ' 00' <repeats 13 times>, "@dA327377177 00 00xeA327377177 00 00 31 00 00 00 00 00 00 00@eA327377177 00 00xeA327377177 00 00240dA327377177 00 00 31 00 00 00 00 00 00 00"..., ipaddr = " 00 00 00 00230E223 00 00 00 00 00 00S223 00 00 00 00 00 20=223 00 00 00 00 00250<223 00 00 00 00 00x=223 00 00 00 00 00h,223 00 00 00 00 00230R223 00 00 00 00 00bH223 00 00 00 00 00240G223 00 00 00 00 00pH223 00 00 00 00 00 70G223 00 00 00 00 00330H223 00 00 00 00 00320F223 00 00 00 00 00hF223 00 00 00 00 00350L223 00 00 00 00 00PM223 00 00 00 00 00 60 70223 00 00 00 00 00330;223 00 00 00 00 00270M223 00 00 00 00 00 N223 00 00 00 00 00200?223 00 00 00 00 00p;223 00 00 00 00 00370C223 00 00 00 00 00270@223 00 00 00 00 00 60E223 00 00 00 00 00(6223 00 00 00 00 00 4223 00 00 00 00 00270 63223 00 00 00 00 00P3223 00 00 00 00 00300(223 00 00 00 00 00"..., granted_access_level = ALLOW_NONE, ignore_list = 0x933968, is_closing = false, delegation = {status = 176, playing = 0x933010, observer = 120}}}, incoming_packet_notify = 0x932fa8 <settings+2600>, outgoing_packet_notify = 0, phs = {sent = 0x1fa24e0, received = 0x1fa2c30, variant = 0x1fa3380}, compression = { frozen_level = 0, queue = {p = 0x0, size = 0, size_alloc = 0}}, statistics = {bytes_send = 0}} __FUNCTION__ = "manual_command" #10 0x000000000043405f in main (argc=3, argv=0x7fffd7416808) at civmanual.c:565 inx = 3 showhelp = <optimised out> showvers = <optimised out> option = <optimised out> retval = 0 (file #18812, file #18813) _______________________________________________________ Additional Item Attachment: File name: trunk-S2_5-manual-settings.patch Size:3 KB File name: S2_4-S2_3-manual-settings.patch Size:3 KB _______________________________________________________ Reply to this item at: <http://gna.org/bugs/?21063> _______________________________________________ Message sent via/by Gna! http://gna.org/ _______________________________________________ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev