Bug#500103: gpm: aptitude segfaults with latest ncurses

Thomas Dickey dickey at his.com
Thu Sep 25 10:14:46 UTC 2008


On Thu, 25 Sep 2008, Sven Joachim wrote:

> Package: gpm
> Version: 1.20.4-2
> Severity: important
>
> With latest ncurses (5.6+20080920-1) installed, aptitude's UI segfaults
> at the Linux console in various actions.  Exiting, suspending and trying
> to become root all result in SIGSEGV.  Here is a backtrace from exiting
> aptitude:

I did change this area - appears there's a problem (thanks)

>
> --8<---------------cut here---------------start------------->8---
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 0xb78806c0 (LWP 7990)]
> 0xb7655958 in ?? ()
> (gdb) bt full
> #0  0xb7655958 in ?? ()
> No symbol table info available.
> #1  0xb7e1777e in enable_gpm_mouse (sp=0xae758b0, enable=0) at /home/user/ncurses/ncurses/base/lib_mouse.c:412
>        result = <value optimized out>
> #2  0xb7e17da1 in mouse_activate (sp=0xae758b0, on=false) at /home/user/ncurses/ncurses/base/lib_mouse.c:939
> No locals.
> #3  0xb7e0e35c in endwin () at /home/user/ncurses/ncurses/base/lib_endwin.c:53
> No locals.
> #4  0xb7d734cf in cwidget::toplevel::suspend_without_signals () at toplevel.cc:1162
>        l = {parent = @0xb7df5788, locked = true}
> #5  0xb7d736c0 in cwidget::toplevel::suspend () at toplevel.cc:1181
>        l = {parent = @0xb7df5788, locked = true}
>        act = {__sigaction_handler = {sa_handler = 0x1, sa_sigaction = 0x1}, sa_mask = {__val = {0 <repeats 32 times>}}, sa_flags = 0, sa_restorer = 0}
> #6  0xb7d73c3c in cwidget::toplevel::shutdown () at toplevel.cc:1192
>        l = {parent = @0xb7df5788, locked = true}
>        ev = <value optimized out>
> #7  0x080f641d in ui_main () at ui.cc:2764
> No locals.
> #8  0x0805e65d in main (argc=1, argv=0xbfe38694) at main.cc:759
>        p = {ref = 0xbae1ac8}
>        status_fname = 0x0
>        display_format = {static npos = 4294967295,
>  _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0xad265b4 "%c%a%M %p# - %d#"}}
>        sort_policy = {static npos = 4294967295,
>  _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0xaba135c "name"}}
>        width = {static npos = 4294967295, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
>    _M_p = 0x824cb04 ""}}
>        simulate = false
>        download_only = false
>        arch_only = false
>        update_only = false
>        install_only = false
>        queue_only = false
>        assume_yes = false
>        fix_broken = false
>        safe_upgrade_no_new_installs = false
>        safe_resolver_no_new_installs = false
>        safe_resolver_no_new_upgrades = false
>        always_use_safe_resolver = false
>        disable_columns = false
>        safe_resolver_option = false
>        full_resolver_option = false
>        showvers = false
>        showdeps = false
>        showsize = false
>        showwhy = false
>        visual_preview = false
>        always_prompt = false
>        verbose = 0
>        seen_quiet = false
>        quiet = 0
>        user_tags = {<std::_Vector_base<aptitude::cmdline::tag_application, std::allocator<aptitude::cmdline::tag_application> >> = {
>    _M_impl = {<std::allocator<aptitude::cmdline::tag_application>> = {<__gnu_cxx::new_allocator<aptitude::cmdline::tag_application>> = {<No data fields>}, <No
> data fields>}, _M_start = 0x0, _M_finish = 0x0, _M_end_of_storage = 0x0}}, <No data fields>}
>        curopt = <value optimized out>
>        curr_quiet = <value optimized out>
> (gdb)
> --8<---------------cut here---------------end--------------->8---
>
> Although I have rebuilt gpm with DEB_BUILD_OPTIONS=nostrip, I was not
> able to come up with a better backtrace; if you think the bug is in a
> different package, please reassign.  The ncurses code in
> ncurses/base/lib_mouse.c looks innocent enough:
>
> --8<---------------cut here---------------start------------->8---
> 	if (!enable && sp->_mouse_active) {
> 	    /* GPM: close connection to gpm server */
> 	    my_Gpm_Close();
> 	    sp->_mouse_active = FALSE;
> 	    T(("GPM closed"));
> 	}
> --8<---------------cut here---------------end--------------->8---
>
>
> -- System Information:
> Debian Release: lenny/sid
>  APT prefers unstable
>  APT policy: (500, 'unstable')
> Architecture: i386 (i686)
>
> Kernel: Linux 2.6.26.5-libata
> Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
> Shell: /bin/sh linked to /bin/dash
>
> Versions of packages gpm depends on:
> ii  debconf [debconf-2.0]         1.5.23     Debian configuration management sy
> ii  debianutils                   2.30       Miscellaneous utilities specific t
> ii  libc6                         2.7-13     GNU C Library: Shared libraries
> ii  libgpm2                       1.20.4-2   General Purpose Mouse - shared lib
> ii  lsb-base                      3.2-20     Linux Standard Base 3.2 init scrip
> ii  ucf                           3.0010     Update Configuration File: preserv
>
> gpm recommends no packages.
>
> gpm suggests no packages.
>
> -- debconf information:
> * gpm/responsiveness:
> * gpm/repeat_type:
> * gpm/append:
> * gpm/restart: false
> * gpm/sample_rate:
> * gpm/type: fups2
> * gpm/device: /dev/psaux
> * gpm/restart_default: false
>
>
>
>

-- 
Thomas E. Dickey
http://invisible-island.net
ftp://invisible-island.net





More information about the pkg-gpm-devel mailing list