[Freeciv-Dev] Re: agent assertion failed (PR#1259)
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
On Mon, Feb 11, 2002 at 01:27:59PM +0000, Ben Webb wrote:
> On Mon, 11 Feb 2002, Raimar Falke wrote:
>
> > On Mon, Feb 11, 2002 at 03:31:05AM -0800, Christian Knoke wrote:
> > > CVS 11 FEB 2002 12:00 CET GTK+ Linux i386
> > >
> > > chris@max:~> LANG= civclient -t trident
> > > civclient: agents.c:340: agents_game_joined: Assertion
> > > Has_capability("turn", aconnection.capability)' failed.
> > > Abgebrochen (core dumped)
> > > chris@max:~>
> >
> > Are you sure that you used a recent server? The agents won't work with
> > stock 1.12.0.
>
> This code shouldn't be triggered with a stock 1.12.0 server
> anyway, since it's called from client/packhand.c as:-
>
> if (strcmp(s_capability, our_capability) == 0) {
> agents_game_joined();
> return;
> }
>
> i.e. only if the capabilities match. Incidentally, this causes major
> problems with FreecivAC, or in fact anything that adds extra capabilities.
> Since the capabilities will no longer match when using (e.g.) a FreecivAC
> client with a Freeciv server, agents_game_joined() will never be called.
> Since this would have called freeze(), an assert failure occurs pretty
> quickly when Freeciv tries to trigger the corresponding thaw(). Oh dear...
Mhhh ... I looks like the test has be to moved:
if (packet->you_can_join) {
freelog(LOG_VERBOSE, "join game accept:%s", packet->message);
aconnection.established = 1;
game.conn_id = packet->conn_id;
+ agents_game_joined();
} else {
> (I was going to suggest playing with FREECIV_CAPS to reproduce this
> behaviour, but unfortunately I can't start a game at all with current CVS.
> Looks like the same problem that Christian has observed - the reason why
> it occurs is that at that point in the code both s_capability and
> our_capability are blank strings - but why, I don't know...)
Raimar
--
email: rf13@xxxxxxxxxxxxxxxxx
One nuclear bomb can ruin your whole day.
|
|