Summary: Assertion failure in get_invention()
                 Project: Freeciv
            Submitted by: mbook
            Submitted on: Tuesday 06/30/2009 at 00:30
                Category: general
                Severity: 3 - Normal
                Priority: 5 - Normal
                  Status: In Progress
             Assigned to: None
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
        Operating System: None



As reported a few times now by gorillaz (aka
master) in the forum, sometimes the server
crashes with the following backtrace:

#0  0x00007f1f06fe5fb5 in raise () from /lib/libc.so.6 
No symbol table info available. 
#1  0x00007f1f06fe7bc3 in abort () from /lib/libc.so.6 
No symbol table info available. 
#2  0x00007f1f06fdef09 in __assert_fail () from /lib/libc.so.6 
No symbol table info available. 
#3  0x00000000004b0830 in get_invention (pplayer=<value optimized out>, 
    tech=199) at tech.c:74 
   __PRETTY_FUNCTION__ = "get_invention" 
#4  0x00000000004b09b4 in base_total_bulbs_required (pplayer=0x53ea, 
    tech=21482) at tech.c:443 
   tech_cost_style = 1 
   base_cost = <value optimized out> 
   __PRETTY_FUNCTION__ = "base_total_bulbs_required" 
#5  0x0000000000416cbe in tech_researched (plr=0x873048) at techtools.c:126 
   research = <value optimized out> 
   tech_id = <value optimized out> 
#6  0x0000000000416fb8 in update_tech (plr=0x873048, bulbs=0) 
    at techtools.c:464 
   research = (struct player_research *) 0x7b3a24 
#7  0x0000000000427fd3 in update_city_activities (pplayer=0x873048) 
    at cityturn.c:1510 
   pcity = (struct city *) 0x12ca650 
   pcity_index = 5 
   pcity_size = 13 
   gold = 86 
#8  0x000000000040bf62 in srv_main () at srv_main.c:801 
No locals. 
#9  0x00000000004034f1 in main (argc=21, argv=0x7fff0f9e1d18) 
    at civserver.c:263 
   inx = 21 
   showhelp = false 
   showvers = false 
   option = <value optimized out>

Immediately suspicious is the tech=199 argument
to get_invention(), since 199 is A_UNSET.

In trunk get_invention() is renamed to
player_invention_state(), but otherwise the code
appears the same, so it is probably affected too.



Reply to this item at:


  Message sent via/by Gna!

Freeciv-dev mailing list

Reply via email to