bugFreeciv - Bugs: bug #21774, Pathfinding crash with 2.4.2-gtk2...

 
 
Show feedback again

bug #21774: Pathfinding crash with 2.4.2-gtk2 Windows client

Submitted by:  None
Submitted on:  Sat 08 Mar 2014 06:00:14 PM UTC  
 
Category: client-gtk-2.0Severity: 4 - Important
Priority: 5 - NormalStatus: Need Info
Assigned to: NoneOriginator Email: -unavailable-
Open/Closed: OpenRelease: 2.4.2, 2.4.3
Operating System: AnyPlanned Release: 

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)

Sat 22 Nov 2014 06:59:34 PM UTC, comment #21:

Interested in any reports of this after 2.5.0-beta2 or 2.4.4 (when it's released), given the large number of fixes that have gone in.

Jacob Nevins <jtn>
Project Administrator
Mon 22 Sep 2014 07:40:20 PM UTC, comment #20:

I have reproduced in S2_4 with setting waypoint at start position (which could explain why people say they didn't use waypoints) and making a path. In this case patch #5271 or bug #22693 fix the problem.

But I don't see how this could crash the client. So there should be something else. However, non-windows users didn't mention it crashed.

pepeto <pepeto>
Project Member
Mon 22 Sep 2014 07:16:52 PM UTC, comment #19:

See also bug #22693.

pepeto <pepeto>
Project Member
Mon 22 Sep 2014 06:18:37 PM UTC, comment #18:

I found an easy way to reproduce the failed assertion on trunk (keep 'g' pressed and make paths). However, I am not able to reproduce in other branch for the moment. It might be not linked.

pepeto <pepeto>
Project Member
Sun 14 Sep 2014 01:32:02 PM UTC, comment #17:

There's another Windows 2.4.2 backtrace which looks like this in bug #21874 comment 4. No further info.

Jacob Nevins <jtn>
Project Administrator
Sun 14 Sep 2014 10:05:19 AM UTC, comment #16:

See also bug #22624.

pepeto <pepeto>
Project Member
Tue 09 Sep 2014 02:45:49 PM UTC, comment #15:

In reply to Comment #13:

I've no idea what unit I was moving. And I've not been able to reproduce the crash with those savegames. Apparently one needs to play just long enough for the crash to happen.

Anonymous
Sat 06 Sep 2014 04:15:22 PM UTC, comment #14:

I have made a bunch of patches in order to fix the symptoms of this crash. As I am actually enable to reproduce this crash, I would leave this item open.

See patch #5190, patch #5191, patch #5192, patch #5193 and bug #22577.

pepeto <pepeto>
Project Member
Sat 06 Sep 2014 10:34:57 AM UTC, comment #13:

> Savegames attached - I assume the 'quitidle' save is just from
> the time of crash.


Could you say what unit were you moving when the crash happened?

pepeto <pepeto>
Project Member
Sat 06 Sep 2014 09:56:01 AM UTC, comment #12:

Savegames attached - I assume the 'quitidle' save is just from the time of crash.

(file #22062, file #22063)

Anonymous
Sat 30 Aug 2014 07:49:35 PM UTC, comment #11:

> I can attach a savegame if needed.


Could you?

pepeto <pepeto>
Project Member
Sat 30 Aug 2014 02:53:15 PM UTC, comment #10:

OP here. 2.4.3 is better (meaning I can play longer) but this still happens;

\AppData\Local\Freeciv-2.4.3-gtk2\stderr says:

1: in pft_concat() [../../../../../common/aicore/pf_tools.c::1024]: assertion 'pf_path_last_position(dest_path)->moves_left == src_path->positions[0].moves_left' failed.
1: Please report this message at http://gna.org/projects/freeciv/

Pretty much the same as described earlier, using G + mouse-btn to move units. IMO this happened when I ended my turn. Attaching the crash dump again, hope it helps. I can attach a savegame if needed.

Anonymous
Thu 12 Jun 2014 04:58:51 AM UTC, comment #9:

1: in pft_concat() [pf_tools.c::1022]: assertion 'pf_path_last_position(dest_path)->moves_left == src_path->positions[0].moves_left' failed.

Linux 3.14.5-1-ARCH

Turn 7 or 8, moving unit with G then pointer 2 tiles away.

Anonymous
Mon 24 Mar 2014 09:06:43 AM UTC, comment #8:

I think that could be caused by a read error (units in focus changed but goto maps are still not freed, is that possible?), or by a write error (it can be anywhere unfortunately). But if no waypoint was used, there is no reason it try to construct a such route.

pepeto <pepeto>
Project Member
Sat 22 Mar 2014 09:47:51 PM UTC, comment #7:

> - No waypoints usef


Yet it crashes when it tries to construct multiple waypoints into one route. So it's getting extra part to the route somewhere (well, it not being proper waypoint explains why it then crashes - end of first part is not beginning of the next)

Marko Lindqvist <cazfi>
Project Administrator
Wed 12 Mar 2014 06:20:13 PM UTC, comment #6:

As a reply to comment #5

I haven't been able to reproduce the crashes with the savegames afterwards either, though I manage to get a similar crash after around 150 rounds (or maybe once per evening). So yeah, sounds like something piles up until it causes the crash.

In any case, the unit that I moved just before the crash in savegame file #20305 should be the same Caravan that goes active after loading it (at least for me). If I'm correct, the move to north-east was animated OK just before the crash (dunno, if that counts as a move in the game). I suspect just after then game changed to move AI units => crash.

I suppose there isn't any commandline switch to make FreeCiv a bit more verbose that I could try?

Anonymous
Tue 11 Mar 2014 10:40:41 PM UTC, comment #5:

> - I used keyboard "G" + mouse click to move (usually just one
> tile at a time)

Oh, my bad, yes of course that can produce this backtrace.

> Looks that I have also a crash dump of this at /AppData/Local
> /CrashDumps, let me know if you want that as well.

Not sure I would be able to do anything with it, TBH.

> After which FreeCiv automatically moved on to another unit
> but I recall seeing a path to the Caravel on map for the that
> newly selected unit. Just then it crashed on me.

(Hm, I wonder if it's somehow remembering goto paths for previous units.)

I've not been able to reproduce an assertion failure or crash from either of your savegames (in 2.4.2 on Linux) by moving random submarines (file #20294) or the idle caravan (file #20305) to random places.
Can you identify exactly which units were involved and where they moved to? Best way is probably to Ctrl+Alt+Shift+right-click on a unit, which will put link markup into the chatline, and paste that here; and similarly Ctrl+Alt+right-click on a tile to indicate where the unit is to be moved to.

Jacob Nevins <jtn>
Project Administrator
Tue 11 Mar 2014 06:30:39 PM UTC, comment #4:

OP here with another crash - stderr has the same assertion failure. Now it happened while leaving city with a freshly created Caravan (Keyboard 'G' + mouseclick). Attaching .RPT and "just before it happened" - save game.

(file #20304, file #20305)

Anonymous
Mon 10 Mar 2014 05:06:22 PM UTC, comment #3:

OP here. Savegame attached (by the looks of file timestamp should be an autosave just before I managed to crash it).

Some answers:
- I used keyboard "G" + mouse click to move (usually just one tile at a time)
- No waypoints usef
- Not sure, AFAIK no I did find a enemy unit that I tried/considered, not sure, to attack but did not have enough movement. After which FreeCiv automatically moved on to another unit but I recall seeing a path to the Caravel on map for the that newly selected unit. Just then it crashed on me.

Looks that I have also a crash dump of this at /AppData/Local/CrashDumps, let me know if you want that as well.

(file #20294)

Anonymous
Sun 09 Mar 2014 01:34:16 PM UTC, comment #2:

Questions for the OP:

I'm guessing you're moving units by left-click-dragging them (you have "keyboardless goto" enabled)?

Did you intentionally set any waypoints for your goto? (You can do this by e.g. pressing "G" while holding down the left button.)

Do you remember if your submarine that moved was damaged?

A savegame would indeed be helpful at this point.


My complete guess at a plausible sequence of events, filling in the gaps in the backtrace (not checked this against disassembly:

with the assertion failure occurring a little before the crash, when pft_concat() is called from send_goto_route().

Jacob Nevins <jtn>
Project Administrator
Sun 09 Mar 2014 12:35:09 PM UTC, comment #1:

Manually reconstructed backtrace from .RPT file:

There were lots of pathfinding changes that went into 2.4.2, so I'm guessing this is some unfortunate corner case missed before release.

Jacob Nevins <jtn>
Project Administrator
Sat 08 Mar 2014 06:00:14 PM UTC, original submission:

Currently I only have this information found from stderr:
1: in pft_concat() [../../../../../common/aicore/pf_tools.c::1022]: assertion 'pf_path_last_position(dest_path)->moves_left == src_path->positions[0].moves_left' failed.
1: Please report this message at http://gna.org/projects/freeciv/

This happened after moving submarine so that it had no movement left. Focus moved to another one, crashing'n'exiting the client (.rpt file attached).

I have a save game for the situation so I'll try to reproduce and report back if this happens again. Any

OS is Win7 64-bit home premium SP1.

Anonymous

 

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

Attach File(s):
   
   
Comment:
   

Attached Files
file #22062:  freeciv-T0213-Y01565-quitidle.sav.bz2 added by None (173kB - application/octet-stream - Savegames as requested in comment #11)
file #22063:  freeciv-T0213-Y01565-auto.sav.bz2 added by None (172kB - application/octet-stream - Savegames as requested in comment #11)
file #20304:  freeciv-gtk2.RPT added by None (8kB - application/octet-stream)
file #20305:  freeciv-T0166-Y01160-auto.sav.bz2 added by None (53kB - application/octet-stream)
file #20294:  freeciv-T0368-Y01943-auto.sav.bz2 added by None (60kB - application/octet-stream)
file #20282:  freeciv-gtk2.RPT added by None (4kB - application/octet-stream - RPT file of the crash)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by pepeto (Posted a comment)
  • -unavailable- added by cazfi (Posted a comment)
  • -unavailable- added by pepeto
  • -unavailable- added by jtn (Posted a comment)
  • -unavailable- added by None (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.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 11 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Sat 06 Sep 2014 04:15:22 PM UTCpepetoStatusNone=>Need Info
    Sat 06 Sep 2014 09:56:01 AM UTCNoneAttached File-=>Added freeciv-T0213-Y01565-quitidle.sav.bz2, #22062
      Attached File-=>Added freeciv-T0213-Y01565-auto.sav.bz2, #22063
    Sat 30 Aug 2014 03:02:02 PM UTCjtnRelease2.4.2=>2.4.2, 2.4.3
    Thu 12 Jun 2014 09:38:57 PM UTCpepetoOperating SystemMicrosoft Windows=>Any
    Tue 11 Mar 2014 08:48:59 PM UTCpepetoCarbon-Copy-=>Added pepeto
    Tue 11 Mar 2014 06:30:39 PM UTCNoneAttached File-=>Added freeciv-gtk2.RPT, #20304
      Attached File-=>Added freeciv-T0166-Y01160-auto.sav.bz2, #20305
    Mon 10 Mar 2014 05:06:22 PM UTCNoneAttached File-=>Added freeciv-T0368-Y01943-auto.sav.bz2, #20294
    Sun 09 Mar 2014 12:35:09 PM UTCjtnSummaryCrash with 2.4.2-gtk2 Windows client=>Pathfinding crash with 2.4.2-gtk2 Windows client
    Sat 08 Mar 2014 06:00:14 PM UTCNoneAttached File-=>Added freeciv-gtk2.RPT, #20282
    Show feedback again

    Back to the top


    Powered by Savane 3.1-cleanup