[Freeciv-Dev] Re: (PR#6203) AutoReply: server segfault with transporter
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: |
undisclosed-recipients: ; |
Subject: |
[Freeciv-Dev] Re: (PR#6203) AutoReply: server segfault with transporter code |
From: |
"Jason Short" <jdorje@xxxxxxxxxxxxxxxxxxxxx> |
Date: |
Fri, 19 Sep 2003 10:50:11 -0700 |
Reply-to: |
rt@xxxxxxxxxxxxxx |
incoming wrote:
> #0 0x080ba904 in unit_type (punit=0x0) at unittype.c:96
> #1 0x080b8881 in is_ground_unit (punit=0x0) at unit.c:346
> #2 0x08089889 in check_units () at sanitycheck.c:279
> #3 0x08089a91 in sanity_check () at sanitycheck.c:327
> #4 0x0804f274 in main_loop () at srv_main.c:1437
> #5 0x0804fa5a in srv_loop () at srv_main.c:1800
> #6 0x0804f4de in srv_main () at srv_main.c:1587
> #7 0x0804a1e0 in main (argc=135242816, argv=0xbffffaa4) at civserver.c:154
> #8 0x401a34ed in __libc_start_main () from /lib/libc.so.6
>
> I see no way that this assertion could fail, however:
> assert(!is_ground_unit(find_unit_by_id(punit->transported_by)));
Oh, duh...
punit->transported_by == 656
but there is no unit 656. So somewhere along the line transported_by
becomes invalid.
It seems this is the same as PR#6200. The wipe-unit.diff patch from
there avoids the crash.
jason
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Freeciv-Dev] Re: (PR#6203) AutoReply: server segfault with transporter code,
Jason Short <=
|
|