Complete.Org: Mailing Lists: Archives: freeciv-dev: December 2002:
[Freeciv-Dev] Re: [RFC][Patch] Unit agents
Home

[Freeciv-Dev] Re: [RFC][Patch] Unit agents

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: freeciv development list <freeciv-dev@xxxxxxxxxxx>
Subject: [Freeciv-Dev] Re: [RFC][Patch] Unit agents
From: Raimar Falke <rf13@xxxxxxxxxxxxxxxxx>
Date: Mon, 9 Dec 2002 11:15:45 +0100

On Mon, Dec 09, 2002 at 10:45:40AM +0100, Christian Knoke wrote:
> On Sun, Dec 08, 2002 at 07:56:24PM +0100, Raimar Falke wrote:
> > 
> > BTW: you can disable the whole AI and play a normal game with agents
> > (you can for example watch a trireme exploring the ocean) if you
> > comment the register_agent calls from master.c, tma.c and turn_done.c.
> 
> I got this assert:
> 
> At the beginning, explorer just found a city in a hut.
> 
> 2: SMA-102: control
> 2: SMA-102: handle_unit()
> 2: SMA-102: created 68 actions for a unit at (76,14)
> 2: SMA-102: all known tiles of the continent can be reached by this unit in
> 3 turns
> 2: SMA: added 0 external actions
> 2: #1
> 2: building ACTION_IRRIGATE at (77,13)=center of Capua would yield
> (f=1,s=-1,t=1)
> civclient: sma.c:576: calc_terrain_improvement_yields: Zusicherung »0« nicht
> erfüllt.

You guess it: known problem. The assert is there since I had problems
with the calculations long time ago which hinted that irrigating a
city center is a good thing. I fixed the bug but left the check
in. Now however it is also possible that the irrigating changes the
terrain type. And this is valid and may make the tile better.

> Abgebrochen (core dumped)
> (gdb) bt
> #0  0x4035f861 in kill () from /lib/libc.so.6
> #1  0x4035f665 in raise () from /lib/libc.so.6
> #2  0x40360c81 in abort () from /lib/libc.so.6
> #3  0x40359a52 in Letext () from /lib/libc.so.6
> #4  0x080df243 in calc_terrain_improvement_yields (settler=0x86919d0, 
> parameter=0xbfffe998, result=0x406450f4) at sma.c:576
> #5  0x080dfe71 in calculate_yields (punit=0x86919d0, parameter=0xbfffe998, 
> result=0x406450f4) at sma.c:1009
> #6  0x080e0dc8 in get_best_action (punit=0x86919d0, parameter1=0xbfffe9c4, 
> parameter2=0xbfffe998, result=0xbfffc9f4) at sma.c:1449
> #7  0x080e1065 in unit_changed (id=102) at sma.c:1507
> #8  0x080d93f5 in execute_call (call=0x86761f8) at agents.c:181
> #9  0x080d944e in call_handle_methods () at agents.c:215
> #10 0x080d9bec in cause_a_unit_changed_for_agent 
> (name_of_calling_agent=0x80f99da "SMA", punit=0x86919d0) at agents.c:690
> #11 0x080e1915 in sma_control_unit (punit=0x86919d0, parameter1=0xbfffeb6c, 
> parameter2=0xbfffeb40) at sma.c:1721
> #12 0x0806c05e in key_unit_enable_sma () at control.c:1634
> #13 0x080a3ccc in orders_menu_callback (callback_data=0x0, 
> callback_action=56, widget=0x85fc108) at menu.c:423
> #14 0x400d16d2 in gtk_item_factory_callback_marshal () from 
> /usr/lib/libgtk-1.2.so.0
> #15 0x400e23c3 in gtk_marshal_NONE__NONE () from /usr/lib/libgtk-1.2.so.0
> #16 0x40114268 in gtk_handlers_run () from /usr/lib/libgtk-1.2.so.0
> #17 0x4011363f in gtk_signal_real_emit () from /usr/lib/libgtk-1.2.so.0
> #18 0x40111597 in gtk_signal_emit () from /usr/lib/libgtk-1.2.so.0
> #19 0x4014a64f in gtk_widget_activate () from /usr/lib/libgtk-1.2.so.0
> #20 0x400eaefc in gtk_menu_shell_activate_item () from 
> /usr/lib/libgtk-1.2.so.0
> #21 0x400ea121 in gtk_menu_shell_button_release () from 
> /usr/lib/libgtk-1.2.so.0
> #22 0x400e1f2f in gtk_marshal_BOOL__POINTER () from /usr/lib/libgtk-1.2.so.0
> #23 0x4011367d in gtk_signal_real_emit () from /usr/lib/libgtk-1.2.so.0
> #24 0x40111597 in gtk_signal_emit () from /usr/lib/libgtk-1.2.so.0
> #25 0x4014a4ec in gtk_widget_event () from /usr/lib/libgtk-1.2.so.0
> #26 0x400e1e65 in gtk_propagate_event () from /usr/lib/libgtk-1.2.so.0
> #27 0x400e0eaf in gtk_main_do_event () from /usr/lib/libgtk-1.2.so.0
> #28 0x40195dd4 in gdk_event_dispatch () from /usr/lib/libgdk-1.2.so.0
> #29 0x401c7c46 in g_main_dispatch () from /usr/lib/libglib-1.2.so.0
> #30 0x401c8273 in g_main_iterate () from /usr/lib/libglib-1.2.so.0
> #31 0x401c843c in g_main_run () from /usr/lib/libglib-1.2.so.0
> #32 0x400e076c in gtk_main () from /usr/lib/libgtk-1.2.so.0
> #33 0x0809877e in ui_main (argc=1, argv=0xbffff5f4) at gui_main.c:998
> #34 0x0806509f in main (argc=5, argv=0xbffff5f4) at civclient.c:247
> #35 0x4034e7ee in __libc_start_main () from /lib/libc.so.6

Now this is what I call a stack trace ;)

        Raimar

-- 
 email: rf13@xxxxxxxxxxxxxxxxx
  Windows: From the people who brought you edlin...



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