bugFreeciv - Bugs: bug #16857, [trunk] Assertion failures +...

Show feedback again

bug #16857: [trunk] Assertion failures + segfault with civ1/civ2 rulesets

Submitted by:  Jacob Nevins <jtn>
Submitted on:  Mon Oct 11 23:16:10 2010  
Category: generalSeverity: 4 - Important
Priority: 5 - NormalStatus: Fixed
Assigned to: pepeto <pepeto>Open/Closed: Closed
Release: trunk r18200Operating System: GNU/Linux
Planned Release: 2.3.0Contains string changes: None

Add a New Comment (Rich MarkupRich Markup):

You are not logged in

Please log in, so followups can be emailed to you.


(Jump to the original submission Jump to the original submission)

Wed Feb 2 23:37:48 2011, comment #9:

(Historical note: file #10839, 0004-Nation-type-list-group-leader-and-city-cleanup.patch.bz2, was committed to trunk as r18279.)

Jacob Nevins <jtn>
Project Administrator
Sun Oct 24 12:02:48 2010, SVN revision 18281:

Forgot to update the capability string after last network changes.

Was gna bug #16857.

(Browse SVN revision 18281)

pepeto <pepeto>
Project MemberIn charge of this item.
Sun Oct 24 11:38:11 2010, SVN revision 18280:

Modify nation ruleset files according to the new leader format.

See gna bug #16857.

(Browse SVN revision 18280)

pepeto <pepeto>
Project MemberIn charge of this item.
Sat Oct 23 11:39:02 2010, comment #6:

Updated patch against current trunk.

(file #10889)

pepeto <pepeto>
Project MemberIn charge of this item.
Tue Oct 19 23:05:37 2010, comment #5:

I forgot to precise that the first patch also ignores the missing group (in a log_verbose() message), so it really fix the reported bug.

pepeto <pepeto>
Project MemberIn charge of this item.
Tue Oct 19 23:03:04 2010, comment #4:

Two patches attached:

  • 0004-Nation-type-list-group-leader-and-city-cleanup.patch.bz2:
    • Make a big cleanup in common/nation.[ch].
    • Fix that the server write pointer locations inside the packets sent to the client (unit type and government pointers). The client was not using them anyway, so I removed those fields of the packet.
    • New format in the nation ruleset files for the leader name, linking the leader names to their sex. "leader" and "leader_sex" are merged inside a tabular format "leaders%d.name", "leaders%d.sex".
  • 0005-Modify-the-nation-files-according-to-the-new-leader-.patch.bz2:
    • Modify all nation files to match the new nation leader format.

Applying 0004-Nation-type-list-group-leader-and-city-cleanup.patch.bz2 needs a capability string update.

(file #10839, file #10840)

pepeto <pepeto>
Project MemberIn charge of this item.
Fri Oct 15 16:40:39 2010, comment #3:

I will do separately in 2 patches:

  • nation group cleanup, removing the nation group id concept, as it is not needed at all and using speclists instead;
  • Fixing civ1 & civ2's "nations.ruleset".
pepeto <pepeto>
Project MemberIn charge of this item.
Mon Oct 11 23:22:05 2010, comment #2:

The obvious fix is presumably just to add the Early Modern group to these rulesets' nation.ruleset, but I haven't thought about whether that's the right answer for strict civ1/civ2 compatibility, nor whether we should be more robust against this sort of failure.

Jacob Nevins <jtn>
Project Administrator
Mon Oct 11 23:18:28 2010, comment #1:

Actually I get the same thing with the civ2 ruleset too.

Jacob Nevins <jtn>
Project Administrator
Mon Oct 11 23:16:10 2010, original submission:

Trunk r18200ish. I think this is probably caused by patch #1978, but I haven't really looked into it.

Attempting to start a server with the civ1 ruleset ("rulesetdir civ1"), I get the following while loading the ruleset:

If I press on and start the game, it dies with a segfault, which looks like it could be related: nation.c:659 contains a dereference of a nation group pointer.

Jacob Nevins <jtn>
Project Administrator


(Note: upload size limit is set to 1024 kB, after insertion of the required escape characters.)

Attach File(s):


   patch dependencies.

   patch dependencies.


Carbon-Copy List
  • -unavailable- added by pepeto (Posted a comment)
  • -unavailable- added by jtn (Submitted the item)

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.


    Error: not logged in



    Follow 11 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Sun Oct 24 11:39:11 2010pepetoStatusReady For Test=>Fixed
    Sat Oct 23 11:39:02 2010pepetoAttached File-=>Added 0005-Modify-the-nation-files-according-to-the-new-leader-.patch.bz2, #10889
    Tue Oct 19 23:03:04 2010pepetoAttached File-=>Added 0004-Nation-type-list-group-leader-and-city-cleanup.patch.bz2, #10839
      Attached File-=>Added 0005-Modify-the-nation-files-according-to-the-new-leader-.patch.bz2, #10840
      StatusIn Progress=>Ready For Test
      Dependencies-=>Depends on patch #2075
    Fri Oct 15 16:40:39 2010pepetoCategoryNone=>general
      StatusNone=>In Progress
      Assigned toNone=>pepeto
    Mon Oct 11 23:18:28 2010jtnSummary[trunk] Assertion failures + segfault with civ1 ruleset=>[trunk] Assertion failures + segfault with civ1/civ2 rulesets
    Show feedback again

    Back to the top

    Powered by Savane 3.1-cleanup