Complete.Org: Mailing Lists: Archives: freeciv-dev: September 2004:
[Freeciv-Dev] (PR#9780) server crash caused by gui-xaw
Home

[Freeciv-Dev] (PR#9780) server crash caused by gui-xaw

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: jdorje@xxxxxxxxxxxxxxxxxxxxx
Subject: [Freeciv-Dev] (PR#9780) server crash caused by gui-xaw
From: "Egor Vyscrebentsov via RT" <evyscr@xxxxxxxxx>
Date: Tue, 21 Sep 2004 11:41:44 -0700
Reply-to: RT_CorrespondAddressNotSet@xxxxxxxxxxxxxx

<URL: http://RT::WebBaseURL.not.configured:80/Ticket/Display.html?id=9780 >

> [evyscr - Sep 20 11:21:03 2004]:
> 
> > [jdorje - Aug 23 21:22:02 2004]:
> > 
> > This one looks serious.  Using the xaw client will cause the server to 
> > crash.  It's probably two bugs, in server and client.  It happened the 
> > turn after I achieved my tech goal, when the tech was still unset (I 
> >guess).
> >
> IIRC, this was a problem with ai code, not with xaw client. If i 
> understand right, backtrace shows that crash was caused by founding a 
> tech in the hut by ai-player's unit. (ai_manage_explorer, 
> unit_enter_hut, hut_get_tech functions).
 
Well, seems, it's really server trouble. The problem is that we have
(now) 10 places where `found_new_tech` is called, and at least 5 of them
(including `hut_get_tech`) doesn't care about case of
(research.researching == A_UNSET), which cause assertion in
`found_new_tech`.
For me, there are two ways of resolving:
1. Check research.researching before `found_new_tech`.
2. Removing assert in `found_new_tech`. I can't understand what is the
reason for this assert. Can anyone explain? Later in this function
research.researching can be set to A_UNSET (and after this there may be
another call of `found_new_tech` with same player)!


[Prev in Thread] Current Thread [Next in Thread]