Awn

'Dectivate' button in awn-manager Applets segfaults

Bug #312958 reported by Devin Cofer
2
Affects Status Importance Assigned to Milestone
Awn
Fix Released
Medium
Mark Lee

Bug Description

The 'deactivate' button in the Applets section of awn-manager causes the app to segfault. Running from a terminal provides no useful information - just reporting the segfault. The only applet I've tried is the main applet - I don't have any others installed yet. It's a clean config.

I am using a fully updated Arch Linux, with an NVIDIA GeForce 9600GT and the 177.82 drivers, Compiz Fusion as a stand-alone WM (no Gnome, KDE, etc.).

I am using the agnostic version of awn from the Arch AUR. The PKGBUILD script (script to make package) can be found here: http://aur.archlinux.org/packages/avant-window-navigator-agnostic/avant-window-navigator-agnostic/PKGBUILD
I am not using any insane CFLAGS, just -O2, -march=x86_64, -pipe...

The agnostic bzr version fails to compile at all, but that's for another bug report.

If I run gdb on Python, and use 'r /usr/bin/awn-manager' to debug the manager, this is the output after hitting said button:

"Starting program: /usr/bin/python /usr/bin/awn-manager
[Thread debugging using libthread_db enabled]
[New Thread 0x7f1f7d2296f0 (LWP 29136)]
/usr/bin/awn-manager:64: GtkWarning: GtkSpinButton: setting an adjustment with non-zero page size is deprecated
  self.wTree = gtk.glade.XML(self.GLADE_PATH, domain=defs.I18N_DOMAIN)

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7f1f7d2296f0 (LWP 29136)]
0x00007f1f7384b6bd in awn_config_client_new_for_applet ()
   from /usr/lib/libawn.so.0
Current language: auto; currently asm"

The backtrace using 'thread apply all bt full' is:

"Thread 1 (Thread 0x7f1f7d2296f0 (LWP 29136)):
#0 0x00007f1f7384b6bd in awn_config_client_new_for_applet ()
   from /usr/lib/libawn.so.0
No locals.
#1 0x00007f1f73a5ff48 in _wrap_awn_config_client_new ()
   from /usr/lib/python2.6/site-packages/awn/awn.so
No locals.
#2 0x00007f1f7cd090ee in type_call (type=<value optimized out>,
    args=0xab4878, kwds=0x0) at Objects/typeobject.c:745
        obj = <value optimized out>
#3 0x00007f1f7ccaba18 in PyObject_Call (func=0x7f1f73c62f80, arg=0xab4878,

    kw=0x0) at Objects/abstract.c:2487
        result = (PyObject *) 0xab4878
        call = (ternaryfunc) 0x7f1f7cd09070 <type_call>
#4 0x00007f1f7cd4fe93 in PyEval_EvalFrameEx (f=0xf09a20,
    throwflag=<value optimized out>) at Python/ceval.c:3890
        sp = (PyObject **) 0xf09bd8
        stack_pointer = (PyObject **) 0xf09be8
        next_instr = (unsigned char *) 0xb3b53a "}\006"
        opcode = <value optimized out>
        oparg = <value optimized out>
        why = <value optimized out>
        err = 0
        x = (PyObject *) 0xaadd50
        v = (PyObject *) 0x7f1f7cd83539
        w = (PyObject *) 0x7f1f7c0e1fd8
        u = (PyObject *) 0xa8d730
        t = <value optimized out>
        stream = <value optimized out>
        freevars = (PyObject **) 0xf09bd0
        retval = (PyObject *) 0x0
        tstate = (PyThreadState *) 0x67c0a0
        co = (PyCodeObject *) 0x9ec558
        instr_ub = -1
        instr_lb = 0
        instr_prev = -1
        first_instr = <value optimized out>
        names = (PyObject *) 0xb35ad0
        consts = (PyObject *) 0xb4ff18
#5 0x00007f1f7cd54909 in PyEval_EvalCodeEx (co=0x9ec558,
    globals=<value optimized out>, locals=<value optimized out>,
    args=0xab9410, argcount=2, kws=0x0, kwcount=0, defs=0x0, defcount=0,
    closure=0x0) at Python/ceval.c:2942
        f = (PyFrameObject *) 0xf09a20
        retval = (PyObject *) 0x0
        freevars = (PyObject **) 0xf09bd0
        tstate = (PyThreadState *) 0x67c0a0
        x = <value optimized out>
        u = <value optimized out>
#6 0x00007f1f7ccd98fd in function_call (func=0xbf7f50, arg=0xab93f8, kw=0x0)
    at Objects/funcobject.c:524
        result = <value optimized out>
        argdefs = <value optimized out>
        d = (PyObject **) 0x0
        nk = <value optimized out>
        nd = 0
#7 0x00007f1f7ccaba18 in PyObject_Call (func=0xbf7f50, arg=0xab93f8, kw=0x0)
    at Objects/abstract.c:2487
        result = (PyObject *) 0xab93f8
        call = (ternaryfunc) 0x7f1f7ccd9850 <function_call>
#8 0x00007f1f7ccbc1c0 in instancemethod_call (func=0xbf7f50, arg=0xab93f8,
    kw=0x0) at Objects/classobject.c:2579
        self = (PyObject *) 0xabf3b0
        klass = (PyObject *) 0x1
        result = <value optimized out>
#9 0x00007f1f7ccaba18 in PyObject_Call (func=0x7f1f7d116960, arg=0xab5310,
    kw=0x0) at Objects/abstract.c:2487
        result = (PyObject *) 0xab5310
        call = (ternaryfunc) 0x7f1f7ccbc090 <instancemethod_call>
#10 0x00007f1f7cd4cad6 in PyEval_CallObjectWithKeywords (func=0x7f1f7d116960,
    arg=0xab5310, kw=0x0) at Python/ceval.c:3548
        result = <value optimized out>
#11 0x00007f1f7a1665ba in pyg_closure_marshal ()
   from /usr/lib/python2.6/site-packages/gtk-2.0/gobject/_gobject.so
No symbol table info available.
#12 0x00007f1f7b89e18d in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#13 0x00007f1f7b8b1d6d in signal_emit_unlocked_R ()
   from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#14 0x00007f1f7b8b3238 in g_signal_emit_valist ()
   from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#15 0x00007f1f7b8b3733 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#16 0x00007f1f797880bd in gtk_real_button_released ()
   from /usr/lib/libgtk-x11-2.0.so.0
No symbol table info available.
#17 0x00007f1f7b89e18d in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#18 0x00007f1f7b8b1678 in signal_emit_unlocked_R ()
   from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#19 0x00007f1f7b8b3238 in g_signal_emit_valist ()
   from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#20 0x00007f1f7b8b3733 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#21 0x00007f1f797872ed in gtk_button_button_release ()
   from /usr/lib/libgtk-x11-2.0.so.0
No symbol table info available.
#22 0x00007f1f7982c8b8 in _gtk_marshal_BOOLEAN__BOXED ()
   from /usr/lib/libgtk-x11-2.0.so.0
No symbol table info available.
#23 0x00007f1f7b89e18d in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#24 0x00007f1f7b8b1a3c in signal_emit_unlocked_R ()
   from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#25 0x00007f1f7b8b30ba in g_signal_emit_valist ()
   from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#26 0x00007f1f7b8b3733 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#27 0x00007f1f7992f9ee in gtk_widget_event_internal ()
   from /usr/lib/libgtk-x11-2.0.so.0
No symbol table info available.
#28 0x00007f1f79825223 in gtk_propagate_event ()
   from /usr/lib/libgtk-x11-2.0.so.0
No symbol table info available.
#29 0x00007f1f79826353 in gtk_main_do_event ()
   from /usr/lib/libgtk-x11-2.0.so.0
No symbol table info available.
#30 0x00007f1f794aa0cc in gdk_event_dispatch ()
   from /usr/lib/libgdk-x11-2.0.so.0
No symbol table info available.
#31 0x00007f1f7b1fcaa2 in g_main_context_dispatch ()
   from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#32 0x00007f1f7b20021d in g_main_context_iterate ()
   from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#33 0x00007f1f7b20074d in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#34 0x00007f1f79826757 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
No symbol table info available.
#35 0x00007f1f79e68750 in _wrap_gtk_main ()
   from /usr/lib/python2.6/site-packages/gtk-2.0/gtk/_gtk.so
No symbol table info available.
#36 0x00007f1f7cd52b0d in PyEval_EvalFrameEx (f=0xeeb4d0, throwflag=2098338568)
    at Python/ceval.c:3663
        sp = (PyObject **) 0xeeb658
        stack_pointer = (PyObject **) 0xeeb658
        next_instr = (unsigned char *) 0x7f1f7d1219fd "\001d"
        opcode = <value optimized out>
        oparg = <value optimized out>
        why = 2098338568
        err = 0
        x = (PyObject *) 0x7f1f7d0e6680
        v = (PyObject *) 0x7f1f7cd83539
        w = (PyObject *) 0x7f1f7c0e1fd8
        u = (PyObject *) 0x6a7440
        t = <value optimized out>
        stream = <value optimized out>
        freevars = (PyObject **) 0xeeb650
        retval = (PyObject *) 0x0
        tstate = (PyThreadState *) 0x67c0a0
        co = (PyCodeObject *) 0x7f1f7d146a08
        instr_ub = -1
        instr_lb = 0
        instr_prev = -1
        first_instr = <value optimized out>
        names = (PyObject *) 0x7f1f7d157e18
        consts = (PyObject *) 0x7f1f7d155710
#37 0x00007f1f7cd53325 in PyEval_EvalFrameEx (f=0x715f00,
    throwflag=<value optimized out>) at Python/ceval.c:3765
        sp = (PyObject **) 0x716080
        stack_pointer = (PyObject **) 0x716080
        next_instr = (unsigned char *) 0x7236ae "\001n\001"
        opcode = <value optimized out>
        oparg = <value optimized out>
        why = <value optimized out>
        err = 0
        x = (PyObject *) 0x0
        v = (PyObject *) 0x7f1f7cd83539
        w = (PyObject *) 0x7f1f7d121928
        u = (PyObject *) 0x6a7440
        t = <value optimized out>
        stream = <value optimized out>
        freevars = (PyObject **) 0x716078
        retval = (PyObject *) 0x0
        tstate = (PyThreadState *) 0x67c0a0
        co = (PyCodeObject *) 0x7f1f7d14f210
        instr_ub = -1
        instr_lb = 0
        instr_prev = -1
        first_instr = <value optimized out>
        names = (PyObject *) 0x7193d0
        consts = (PyObject *) 0x7f1f7d1f49a8
#38 0x00007f1f7cd54909 in PyEval_EvalCodeEx (co=0x7f1f7d14f210,
    globals=<value optimized out>, locals=<value optimized out>, args=0x0,
    argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0)
    at Python/ceval.c:2942
        f = (PyFrameObject *) 0x715f00
        retval = (PyObject *) 0x0
        freevars = (PyObject **) 0x716078
        tstate = (PyThreadState *) 0x67c0a0
        x = <value optimized out>
        u = <value optimized out>
#39 0x00007f1f7cd54a22 in PyEval_EvalCode (co=0xa, globals=0x20,
    locals=0xe5c4e0) at Python/ceval.c:515
No locals.
#40 0x00007f1f7cd748ca in PyRun_FileExFlags (fp=0x6fda50,
    filename=0x7fff8523dc64 "/usr/bin/awn-manager",
    start=<value optimized out>, globals=0x6a7440, locals=0x6a7440, closeit=1,
    flags=0x7fff8523cb00) at Python/pythonrun.c:1330
        ret = (PyObject *) 0x0
        mod = <value optimized out>
        arena = <value optimized out>
#41 0x00007f1f7cd74bad in PyRun_SimpleFileExFlags (fp=0x6fda50,
    filename=0x7fff8523dc64 "/usr/bin/awn-manager", closeit=1,
    flags=0x7fff8523cb00) at Python/pythonrun.c:926
        m = <value optimized out>
        d = (PyObject *) 0x6a7440
        v = <value optimized out>
        ext = <value optimized out>
        set_file_name = 1
        ret = <value optimized out>
#42 0x00007f1f7cd81ee3 in Py_Main (argc=1, argv=0x7fff8523cc18)
    at Modules/main.c:597
        c = <value optimized out>
        sts = 0
        command = 0x0
        filename = 0x20 <Address 0x20 out of bounds>
        module = 0x0
        fp = (FILE *) 0x6fda50
        p = <value optimized out>
        unbuffered = 0
        skipfirstline = 0
        stdin_is_interactive = 1
        help = <value optimized out>
        version = <value optimized out>
        saw_unbuffered_flag = 0
        cf = {cf_flags = 0}
#43 0x00007f1f7c089546 in __libc_start_main () from /lib/libc.so.6
No symbol table info available.
#44 0x0000000000400679 in _start ()
No locals."

As you can see, I only have debugging symbols for awn and Python... I hope I don't need to recompile Gtk, glibc, etc. without stripping the symbols?

Thanks very much.

Revision history for this message
Mark Lee (malept) wrote :

This will (probably) be fixed in the rewrite.

Changed in awn:
assignee: nobody → malept
importance: Undecided → Medium
milestone: none → 0.4.0
status: New → Confirmed
Michal Hruby (mhr3)
Changed in awn:
status: Confirmed → Fix Committed
Mark Lee (malept)
Changed in awn:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.