URL:
  <http://gna.org/bugs/?19406>

                 Summary: Segfault when upgrading unit from units report
                 Project: Freeciv
            Submitted by: jtn
            Submitted on: Sat Feb  4 02:22:54 2012
                Category: client-sdl
                Severity: 3 - Normal
                Priority: 5 - Normal
                  Status: None
             Assigned to: None
        Originator Email: 
             Open/Closed: Open
                 Release: S2_3 r20777
         Discussion Lock: Any
        Operating System: GNU/Linux
         Planned Release: 

    _______________________________________________________

Details:

# Load the attached savegame into freeciv-sdl S2_3 r20777.
# Bring up the units report (F2).
# Scroll down to see the Diplomat line, and click on the word "Diplomat" (it
should become underlined on hover, as upgrades are available).
# "Upgrade Obsolete Units": Yes
# Boom.

Backtrace. Not investigating now as I've shaved enough yak for one evening.

#0  del_widget_from_vertical_scroll_widget_list (pDlg=0x7f35dd4eaa40, 
    pWidget=0x4ce33c0) at widget_scrollbar.c:1398
        pLast = 0x4bc3b50
        count = 0
        pBuf = 0x0
        __FUNCTION__ = "del_widget_from_vertical_scroll_widget_list"
#1  0x0000000000489e17 in real_units_report_dialog_update () at
repodlgs.c:977
        i = 0x9436a0
        units = {{active_count = 0, upkeep = {0, 0, 0, 0, 0, 0}, 
            building_count = 0, soonest_completions = 1000000000}, {
            active_count = 0, upkeep = {0, 0, 0, 0, 0, 0}, building_count = 0,

            soonest_completions = 1000000000}, {active_count = 32, upkeep = {
              0, 30, 0, 0, 0, 0}, building_count = 0, 
            soonest_completions = 1}, {active_count = 0, upkeep = {0, 0, 0, 0,

              0, 0}, building_count = 0, soonest_completions = 1000000000}, {
            active_count = 0, upkeep = {0, 0, 0, 0, 0, 0}, building_count = 0,

            soonest_completions = 1000000000}, {active_count = 0, upkeep = {0,

              0, 0, 0, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000}, {active_count = 0, upkeep = {0,

              0, 0, 0, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000}, {active_count = 0, upkeep = {0,

              0, 0, 0, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000}, {active_count = 0, upkeep = {0,

              0, 0, 0, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000}, {active_count = 0, upkeep = {0,

              0, 0, 0, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000}, {active_count = 2, upkeep = {0,

              0, 0, 2, 0, 0}, building_count = 0, soonest_completions = 1}, {
            active_count = 31, upkeep = {0, 0, 0, 31, 0, 0}, 
            building_count = 0, soonest_completions = 1000000000}, {
            active_count = 0, upkeep = {0, 0, 0, 0, 0, 0}, building_count = 0,

            soonest_completions = 1000000000}, {active_count = 0, upkeep = {0,

              0, 0, 0, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000}, {active_count = 0, upkeep = {0,

              0, 0, 0, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000}, {active_count = 0, upkeep = {0,

              0, 0, 0, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000}, {active_count = 0, upkeep = {0,

              0, 0, 0, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000}, {active_count = 0, upkeep = {0,

              0, 0, 0, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000}, {active_count = 0, upkeep = {0,

              0, 0, 0, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000}, {active_count = 3, upkeep = {0,

              0, 0, 3, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000}, {active_count = 0, upkeep = {0,

              0, 0, 0, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000}, {active_count = 0, upkeep = {0,

              0, 0, 0, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000}, {active_count = 0, upkeep = {0,

              0, 0, 0, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000}, {active_count = 2, upkeep = {0,

              0, 0, 2, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000}, {active_count = 0, upkeep = {0,

              0, 0, 0, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000}, {active_count = 0, upkeep = {0,

              0, 0, 0, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000}, {active_count = 2, upkeep = {0,

              0, 0, 2, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000}, {active_count = 0, upkeep = {0,

              0, 0, 0, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000}, {active_count = 0, upkeep = {0,

              0, 0, 0, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000}, {active_count = 0, upkeep = {0,

              0, 0, 0, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000}, {active_count = 0, upkeep = {0,

              0, 0, 0, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000}, {active_count = 0, upkeep = {0,

              0, 0, 0, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000}, {active_count = 0, upkeep = {0,

              0, 0, 0, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000}, {active_count = 0, upkeep = {0,

              0, 0, 0, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000}, {active_count = 0, upkeep = {0,

              0, 0, 0, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000}, {active_count = 1, upkeep = {0,

              0, 0, 1, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000}, {active_count = 2, upkeep = {0,

              0, 0, 2, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000}, {active_count = 3, upkeep = {0,

              0, 0, 3, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000}, {active_count = 0, upkeep = {0,

              0, 0, 0, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000}, {active_count = 2, upkeep = {0,

              0, 0, 2, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000}, {active_count = 0, upkeep = {0,

              0, 0, 0, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000}, {active_count = 5, upkeep = {0,

              0, 0, 5, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000}, {active_count = 0, upkeep = {0,

              0, 0, 0, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000}, {active_count = 0, upkeep = {0,

              0, 0, 0, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000}, {active_count = 0, upkeep = {0,

              0, 0, 0, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000}, {active_count = 2, upkeep = {0,

              0, 0, 0, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000}, {active_count = 0, upkeep = {0,

              0, 0, 0, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000}, {active_count = 0, upkeep = {0,

              0, 0, 0, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000}, {active_count = 0, upkeep = {0,

              0, 0, 0, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000}, {active_count = 0, upkeep = {0,

              0, 0, 0, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000}, {active_count = 0, upkeep = {0,

              0, 0, 0, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000}, {active_count = 1, upkeep = {0,

              0, 0, 1, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000}, {active_count = 0, upkeep = {0,

              0, 0, 0, 0, 0}, building_count = 0, 
            soonest_completions = 1000000000} <repeats 148 times>}
        cBuf = "--\000\000\000\000\000\000ՑV", '\000' <repeats 13
times>"\300, \217\275\004\000\000\000"
        units_total = {active_count = 88, upkeep = {0, 0, 0, 0, 0, 0}, 
          building_count = 6, soonest_completions = 0}
        pWidget = 0x5102e50
        pBuf = 0x5102cb0
#2  0x000000000046eb73 in update_unqueue (data=<value optimised out>)
    at update_queue.c:311
        MY_it_MY_iter = 0x7fffd2f70fe0
#3  0x0000000000405cb0 in gui_event_loop (pData=0x0, loop_action=0, 
    key_down_handler=<value optimised out>, 
    key_up_handler=<value optimised out>, 
    mouse_button_down_handler=<value optimised out>, 
    mouse_button_up_handler=<value optimised out>, 
    mouse_motion_handler=0x404fb0 <main_mouse_motion_handler>)
    at gui_main.c:734
        ID = <value optimised out>
        tv = {tv_sec = 0, tv_usec = 9827}
        civfdset = {fds_bits = {1024, 0 <repeats 15 times>}}
        t_current = <value optimised out>
        t_last_unit_anim = 114819
        t_last_map_scrolling = 114819
        real_timer_next_call = 114904
        result = 1
        schot_nr = 0
        schot = '\000' <repeats 31 times>
        __FUNCTION__ = "gui_event_loop"
#4  0x00000000004063e2 in ui_main (argc=1, argv=0x7fffd2f71538)
    at gui_main.c:1057
        __Net_User_Event = {type = 24 '\030', active = {type = 24 '\030', 
            gain = 0 '\000', state = 0 '\000'}, key = {type = 24 '\030', 
            which = 0 '\000', state = 0 '\000', keysym = {scancode = 1 '\001',

              sym = SDLK_UNKNOWN, mod = KMOD_NONE, unicode = 0}}, motion = {
            type = 24 '\030', which = 0 '\000', state = 0 '\000', x = 1, 
            y = 0, xrel = 0, yrel = 0}, button = {type = 24 '\030', 
            which = 0 '\000', button = 0 '\000', state = 0 '\000', x = 1, 
            y = 0}, jaxis = {type = 24 '\030', which = 0 '\000', 
            axis = 0 '\000', value = 1}, jball = {type = 24 '\030', 
            which = 0 '\000', ball = 0 '\000', xrel = 1, yrel = 0}, jhat = {
            type = 24 '\030', which = 0 '\000', hat = 0 '\000', 
            value = 0 '\000'}, jbutton = {type = 24 '\030', which = 0 '\000',

            button = 0 '\000', state = 0 '\000'}, resize = {type = 24 '\030',

            w = 1, h = 0}, expose = {type = 24 '\030'}, quit = {
            type = 24 '\030'}, user = {type = 24 '\030', code = 1, 
            data1 = 0x0, data2 = 0x0}, syswm = {type = 24 '\030', msg = 0x0}}
        __GGZ_User_Event = {type = 24 '\030', active = {type = 24 '\030', 
            gain = 237 '\355', state = 127 '\177'}, key = {type = 24 '\030', 
            which = 237 '\355', state = 127 '\177', keysym = {
              scancode = 2 '\002', sym = SDLK_UNKNOWN, mod = KMOD_NONE, 
              unicode = 0}}, motion = {type = 24 '\030', which = 237 '\355', 
            state = 127 '\177', x = 2, y = 0, xrel = 0, yrel = 0}, button = {
            type = 24 '\030', which = 237 '\355', button = 127 '\177', 
            state = 0 '\000', x = 2, y = 0}, jaxis = {type = 24 '\030', 
            which = 237 '\355', axis = 127 '\177', value = 2}, jball = {
            type = 24 '\030', which = 237 '\355', ball = 127 '\177', xrel = 2,

            yrel = 0}, jhat = {type = 24 '\030', which = 237 '\355', 
            hat = 127 '\177', value = 0 '\000'}, jbutton = {type = 24 '\030',

            which = 237 '\355', button = 127 '\177', state = 0 '\000'}, 
          resize = {type = 24 '\030', w = 2, h = 0}, expose = {
            type = 24 '\030'}, quit = {type = 24 '\030'}, user = {
            type = 24 '\030', code = 2, data1 = 0x0, data2 = 0x0}, syswm = {
            type = 24 '\030', msg = 0x0}}
        __Anim_User_Event = {type = 24 '\030', active = {type = 24 '\030', 
            gain = 0 '\000', state = 0 '\000'}, key = {type = 24 '\030', 
            which = 0 '\000', state = 0 '\000', keysym = {scancode = 3 '\003',

              sym = SDLK_UNKNOWN, mod = KMOD_NONE, unicode = 0}}, motion = {
            type = 24 '\030', which = 0 '\000', state = 0 '\000', x = 3, 
            y = 0, xrel = 0, yrel = 0}, button = {type = 24 '\030', 
            which = 0 '\000', button = 0 '\000', state = 0 '\000', x = 3, 
            y = 0}, jaxis = {type = 24 '\030', which = 0 '\000', 
            axis = 0 '\000', value = 3}, jball = {type = 24 '\030', 
            which = 0 '\000', ball = 0 '\000', xrel = 3, yrel = 0}, jhat = {
            type = 24 '\030', which = 0 '\000', hat = 0 '\000', 
            value = 0 '\000'}, jbutton = {type = 24 '\030', which = 0 '\000',

            button = 0 '\000', state = 0 '\000'}, resize = {type = 24 '\030',

            w = 3, h = 0}, expose = {type = 24 '\030'}, quit = {
            type = 24 '\030'}, user = {type = 24 '\030', code = 3, 
            data1 = 0x0, data2 = 0x0}, syswm = {type = 24 '\030', msg = 0x0}}
        __Info_User_Event = {type = 24 '\030', active = {type = 24 '\030', 
            gain = 0 '\000', state = 0 '\000'}, key = {type = 24 '\030', 
            which = 0 '\000', state = 0 '\000', keysym = {scancode = 5 '\005',

              sym = SDLK_UNKNOWN, mod = KMOD_NONE, unicode = 0}}, motion = {
            type = 24 '\030', which = 0 '\000', state = 0 '\000', x = 5, 
            y = 0, xrel = 0, yrel = 0}, button = {type = 24 '\030', 
            which = 0 '\000', button = 0 '\000', state = 0 '\000', x = 5, 
            y = 0}, jaxis = {type = 24 '\030', which = 0 '\000', 
            axis = 0 '\000', value = 5}, jball = {type = 24 '\030', 
            which = 0 '\000', ball = 0 '\000', xrel = 5, yrel = 0}, jhat = {
            type = 24 '\030', which = 0 '\000', hat = 0 '\000', 
            value = 0 '\000'}, jbutton = {type = 24 '\030', which = 0 '\000',

            button = 0 '\000', state = 0 '\000'}, resize = {type = 24 '\030',

            w = 5, h = 0}, expose = {type = 24 '\030'}, quit = {
            type = 24 '\030'}, user = {type = 24 '\030', code = 5, 
            data1 = 0x0, data2 = 0x0}, syswm = {type = 24 '\030', msg = 0x0}}
        __Flush_User_Event = {type = 24 '\030', active = {type = 24 '\030', 
            gain = 0 '\000', state = 0 '\000'}, key = {type = 24 '\030', 
            which = 0 '\000', state = 0 '\000', keysym = {scancode = 6 '\006',

              sym = SDLK_UNKNOWN, mod = KMOD_NONE, unicode = 0}}, motion = {
            type = 24 '\030', which = 0 '\000', state = 0 '\000', x = 6, 
            y = 0, xrel = 0, yrel = 0}, button = {type = 24 '\030', 
            which = 0 '\000', button = 0 '\000', state = 0 '\000', x = 6, 
            y = 0}, jaxis = {type = 24 '\030', which = 0 '\000', 
            axis = 0 '\000', value = 6}, jball = {type = 24 '\030', 
            which = 0 '\000', ball = 0 '\000', xrel = 6, yrel = 0}, jhat = {
            type = 24 '\030', which = 0 '\000', hat = 0 '\000', 
            value = 0 '\000'}, jbutton = {type = 24 '\030', which = 0 '\000',

            button = 0 '\000', state = 0 '\000'}, resize = {type = 24 '\030',

            w = 6, h = 0}, expose = {type = 24 '\030'}, quit = {
            type = 24 '\030'}, user = {type = 24 '\030', code = 6, 
            data1 = 0x0, data2 = 0x0}, syswm = {type = 24 '\030', msg = 0x0}}
        __pMap_Scroll_User_Event = {type = 24 '\030', active = {
            type = 24 '\030', gain = 0 '\000', state = 0 '\000'}, key = {
            type = 24 '\030', which = 0 '\000', state = 0 '\000', keysym = {
              scancode = 7 '\a', sym = SDLK_UNKNOWN, mod = KMOD_NONE, 
              unicode = 0}}, motion = {type = 24 '\030', which = 0 '\000', 
            state = 0 '\000', x = 7, y = 0, xrel = 0, yrel = 0}, button = {
            type = 24 '\030', which = 0 '\000', button = 0 '\000', 
            state = 0 '\000', x = 7, y = 0}, jaxis = {type = 24 '\030', 
            which = 0 '\000', axis = 0 '\000', value = 7}, jball = {
            type = 24 '\030', which = 0 '\000', ball = 0 '\000', xrel = 7, 
            yrel = 0}, jhat = {type = 24 '\030', which = 0 '\000', 
            hat = 0 '\000', value = 0 '\000'}, jbutton = {type = 24 '\030', 
            which = 0 '\000', button = 0 '\000', state = 0 '\000'}, resize =
{
            type = 24 '\030', w = 7, h = 0}, expose = {type = 24 '\030'}, 
          quit = {type = 24 '\030'}, user = {type = 24 '\030', code = 7, 
            data1 = 0x0, data2 = 0x0}, syswm = {type = 24 '\030', msg = 0x0}}
#5  0x000000000042896e in client_main (argc=<value optimised out>, 
    argv=0x7fffd2f71538) at client_main.c:516
        i = 1
        loglevel = LOG_NORMAL
        ui_options = <value optimised out>
        ui_separator = 160
        option = <value optimised out>
        user_tileset = false
        fatal_assertions = -1
        __FUNCTION__ = "client_main"
#6  0x00007f35ebbecc4d in __libc_start_main (main=<value optimised out>, 
    argc=<value optimised out>, ubp_av=<value optimised out>, 
    init=<value optimised out>, fini=<value optimised out>, 
    rtld_fini=<value optimised out>, stack_end=0x7fffd2f71528)
    at libc-start.c:226
        result = <value optimised out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, -148716689385632498, 
                4213344, 140736732796208, 0, 0, 148622203615661326, 
                253452311809969422}, mask_was_saved = 0}}, priv = {pad = {0x0,

              0x0, 0x589430, 0x7fffd2f71538}, data = {prev = 0x0, 
              cleanup = 0x0, canceltype = 5805104}}}
        not_first_call = <value optimised out>
#7  0x0000000000404a89 in _start ()
No symbol table info available.




    _______________________________________________________

File Attachments:


-------------------------------------------------------
Date: Sat Feb  4 02:22:54 2012  Name: irish-T0259-Y01768-manual.sav.gz  Size:
92kB   By: jtn
savegame for reproduction
<http://gna.org/bugs/download.php?file_id=14996>

    _______________________________________________________

Reply to this item at:

  <http://gna.org/bugs/?19406>

_______________________________________________
  Message sent via/by Gna!
  http://gna.org/


_______________________________________________
Freeciv-dev mailing list
Freeciv-dev@gna.org
https://mail.gna.org/listinfo/freeciv-dev

Reply via email to