bugFreeciv - Bugs: bug #20542, in unit_virtual_destroy()...

 
 
Show feedback again

bug #20542: in unit_virtual_destroy() [unit.c::1881]: assertion '!unit_transported(punit)' failed

Submitted by:  pepeto <pepeto>
Submitted on:  Wed 20 Feb 2013 03:09:57 PM UTC  
 
Category: clientSeverity: 3 - Normal
Priority: 5 - NormalStatus: Fixed
Assigned to: Marko Lindqvist <cazfi>Open/Closed: Closed
Release: trunk r22403Operating System: None
Planned Release: 2.4.0-beta2,2.5.0

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 20 Apr 2013 09:29:26 PM UTC, SVN revision 22737:

Unload units from their transport in client end when they are being
removed without server telling client to do so. This happens when client
leaves game.

Assert about unloaded unit being removed reported by pepeto

See bug #20542

(Browse SVN revision 22737)

Marko Lindqvist <cazfi>
Project AdministratorIn charge of this item.
Sat 20 Apr 2013 09:29:21 PM UTC, SVN revision 22736:

Unload units from their transport in client end when they are being
removed without server telling client to do so. This happens when client
leaves game.

Assert about unloaded unit being removed reported by pepeto

See bug #20542

(Browse SVN revision 22736)

Marko Lindqvist <cazfi>
Project AdministratorIn charge of this item.
Thu 18 Apr 2013 08:34:16 PM UTC, comment #5:

> I think that it is necessary to explicitly clear transported_by
> after unit_transport_unload() in player_clear()


Attached patch does that.

(file #17759)

Marko Lindqvist <cazfi>
Project AdministratorIn charge of this item.
Fri 29 Mar 2013 03:45:24 PM UTC, comment #4:

To expand on this:

> I think in this case that this assertion is wrong. When
> exiting the game, it shouldn't check this.


So, post bug #20085, we have a policy that (unit)->client.transported_by always reflects what we last saw from the server; and we already had a policy that a unit is not allowed to be being transported at the time it's destroyed.

However, in this case, we're deleting units without being told to be the server. If we want to keep these policies, I think that it is necessary to explicitly clear transported_by after unit_transport_unload() in player_clear() (probably both for cargo and the current unit).

Anywhere else where the client autonomously messes with this stuff? I didn't spot anything on a quick look.

Jacob Nevins <jtn>
Project Administrator
Fri 29 Mar 2013 03:32:03 PM UTC, comment #3:

...but I don't see it in 2.4.0-beta1 (I'm guessing the fix for bug #20085 is implicated).

Jacob Nevins <jtn>
Project Administrator
Fri 29 Mar 2013 03:01:39 PM UTC, comment #2:

Still happening with file #17386 on latest S2_4 (r22619), FWIW.

Jacob Nevins <jtn>
Project Administrator
Mon 04 Mar 2013 09:39:46 PM UTC, comment #1:

I'm seeing this assertion/backtrace too, on S2_4 r22473. It's a client-side assertion. Just load the attached savefile and then quit.

(file #17386)

Jacob Nevins <jtn>
Project Administrator
Wed 20 Feb 2013 03:09:57 PM UTC, original submission:

The assertion looks similar to bug #20045, but it went from an other way. I think in this case that this assertion is wrong. When exiting the game, it shouldn't check this.

pepeto <pepeto>
Project Member

 

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

Attach File(s):
   
   
Comment:
   

Attached Files
file #17759:  UntransportClient.patch added by cazfi (882B - text/x-diff)
file #17386:  americans-T0222-Y01610-manual.sav.bz2 added by jtn (53kB - application/x-bzip - Savefile showing assertion failure with S2_4 r22473 client on quit)

 

Depends on the following items: None found

Digest:
   bug dependencies.

 

Carbon-Copy List
  • -unavailable- added by cazfi (Updated the item)
  • -unavailable- added by jtn (Updated the item)
  • -unavailable- added by pepeto (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 10 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Sat 20 Apr 2013 09:29:49 PM UTCcazfiStatusReady For Test=>Fixed
      Assigned toNone=>cazfi
      Open/ClosedOpen=>Closed
    Thu 18 Apr 2013 08:34:16 PM UTCcazfiAttached File-=>Added UntransportClient.patch, #17759
      StatusNone=>Ready For Test
    Sun 07 Apr 2013 10:16:38 AM UTCjtnPlanned Release2.4.0,2.5.0=>2.4.0-beta2,2.5.0
    Sun 07 Apr 2013 10:08:48 AM UTCjtnDependencies-=>bugs #20722 is dependent
    Mon 04 Mar 2013 09:39:46 PM UTCjtnAttached File-=>Added americans-T0222-Y01610-manual.sav.bz2, #17386
      CategoryNone=>client
      Planned Release=>2.4.0,2.5.0
    Show feedback again

    Back to the top


    Powered by Savane 3.1-cleanup