onboard crashes in dock mode

Bug #1189946 reported by Maximilian Federle
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Onboard
Fix Released
High
Unassigned

Bug Description

Trying to display onboard in docked mode results in a segfault. A backtrace is attached.

#0 0x0000000000571413 in PyObject_Call (kw=0x0, arg=('_NET_WORKAREA',), func=<method at remote 0x7fffe5523098>) at ../Objects/abstract.c:2082
#1 PyEval_CallObjectWithKeywords (kw=0x0, arg=('_NET_WORKAREA',), func=<method at remote 0x7fffe5523098>) at ../Python/ceval.c:3947
#2 PyObject_CallObject (o=<method at remote 0x7fffe5523098>, a=('_NET_WORKAREA',)) at ../Objects/abstract.c:2072
#3 0x00007fffe5d7e077 in ?? () from /usr/lib/python3/dist-packages/Onboard/osk.cpython-33m-x86_64-linux-gnu.so
#4 0x00007ffff3aff461 in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
#5 0x00007ffff3aff713 in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
#6 0x00007ffff3ad46a8 in gdk_display_get_event () from /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
#7 0x00007ffff3aff4e2 in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
#8 0x00007ffff5b68216 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#9 0x00007ffff5b68568 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#10 0x00007ffff5b6896a in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#11 0x00007ffff3ed1645 in gtk_main () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#12 0x00007ffff51aac18 in ffi_call_unix64 () from /usr/lib/x86_64-linux-gnu/libffi.so.6
#13 0x00007ffff51aa580 in ffi_call () from /usr/lib/x86_64-linux-gnu/libffi.so.6
#14 0x00007ffff607acc9 in g_callable_info_invoke () from /usr/lib/libgirepository-1.0.so.1
#15 0x00007ffff607c007 in g_function_info_invoke () from /usr/lib/libgirepository-1.0.so.1
#16 0x00007ffff62e6997 in ?? () from /usr/lib/python3/dist-packages/gi/_gi.cpython-33m-x86_64-linux-gnu.so
#17 0x0000000000591b92 in ext_do_call (nk=<optimized out>, na=<optimized out>, flags=<optimized out>, pp_stack=0x7fffffffd790,
    func=<built-in method invoke of gi.FunctionInfo object at remote 0x7fffe4a70f80>) at ../Python/ceval.c:4379
#18 PyEval_EvalFrameEx (
    f=f@entry=Frame 0x7fffe4a595c0, for file /usr/lib/python3/dist-packages/gi/types.py, line 113, in function (args=(), kwargs={}),
    throwflag=throwflag@entry=0) at ../Python/ceval.c:2720
#19 0x00000000005ac017 in PyEval_EvalCodeEx (_co=<optimized out>, globals=<optimized out>, locals=<optimized out>, args=<optimized out>,
    argcount=<optimized out>, kws=0xf2fd30, kwcount=0, defs=0x0, defcount=0, kwdefs=0x0, closure=(<cell at remote 0x7fffe5537670>,))
    at ../Python/ceval.c:3437
#20 0x00000000005905b9 in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=0x7fffffffd990,
    func=<optimized out>) at ../Python/ceval.c:4165
#21 call_function (oparg=<optimized out>, pp_stack=0x7fffffffd990) at ../Python/ceval.c:4088
#22 PyEval_EvalFrameEx (
    f=f@entry=Frame 0xf2fb90, for file /usr/lib/python3/dist-packages/Onboard/OnboardGtk.py, line 103, in __init__ (self=<OnboardGtk(_bus_name=<BusName(_name='org.onboard.Onboard', _bus=<SessionBus(_bus_names=<WeakValueDictionary(_iterating=set(), _pending_removals=[], _remove=<function at remote 0x7ffff7ee4320>, data={'org.onboard.Onboard': <KeyedRef at remote 0x7fffe55bebf0>}) at remote 0x7fffec0d8550>, _signals_lock=<_thread.lock at remote 0x7ffff7f14490>, _Connection__call_on_disconnection=[], _bus_type=0, _signal_sender_matches={}, _signal_recipients_by_object_path={None: {'org.freedesktop.DBus': {'NameOwnerChanged': [<SignalMatch at remote 0x7fffe55f26c8>]}}}, _dbus_Connection_initialized=1) at remote 0x7fffeeb098f0>) at remote 0x7ffff65b6450>, status_icon=<Indicator(_keyboard_window=<KbdWindow(_maximized=False, supports_alpha=True, _client_offset=(0, 0), _window_rect=<Rect(x=49, y=563, h=205, w=1317) at remote 0x7fffe552ecd0>, icp=<IconPalette(_no_more_dwelling=False, _client_offset=(0, 0), _drag_start_rect=<Rect(x=...(truncated), throwflag=throwflag@entry=0) at ../Python/ceval.c:2679
#23 0x00000000005acdaa in PyEval_EvalCodeEx (closure=<optimized out>, kwdefs=<optimized out>, defcount=<optimized out>, defs=0x0,
    kwcount=<optimized out>, kws=<optimized out>, argcount=<optimized out>, args=<optimized out>, locals=0x0, globals=<optimized out>,
    _co=<code at remote 0x7ffff65d6660>) at ../Python/ceval.c:3437
#24 function_call.70414 (func=func@entry=<function at remote 0x7fffe55d3a70>,
    arg=arg@entry=(<OnboardGtk(_bus_name=<BusName(_name='org.onboard.Onboard', _bus=<SessionBus(_bus_names=<WeakValueDictionary(_iterating=set(), _pending_removals=[], _remove=<function at remote 0x7ffff7ee4320>, data={'org.onboard.Onboard': <KeyedRef at remote 0x7fffe55bebf0>}) at remote 0x7fffec0d8550>, _signals_lock=<_thread.lock at remote 0x7ffff7f14490>, _Connection__call_on_disconnection=[], _bus_type=0, _signal_sender_matches={}, _signal_recipients_by_object_path={None: {'org.freedesktop.DBus': {'NameOwnerChanged': [<SignalMatch at remote 0x7fffe55f26c8>]}}}, _dbus_Connection_initialized=1) at remote 0x7fffeeb098f0>) at remote 0x7ffff65b6450>, status_icon=<Indicator(_keyboard_window=<KbdWindow(_maximized=False, supports_alpha=True, _client_offset=(0, 0), _window_rect=<Rect(x=49, y=563, h=205, w=1317) at remote 0x7fffe552ecd0>, icp=<IconPalette(_no_more_dwelling=False, _client_offset=(0, 0), _drag_start_rect=<Rect(x=1280, y=686, h=63, w=64) at remote 0x7fffe4ab1b10>, _window_rect=<Rect(x=1280, y=686, h=63, w=64) at remot...(truncated), kw=kw@entry=0x0) at ../Objects/funcobject.c:633
#25 0x0000000000516f7c in PyObject_Call (kw=0x0,
    arg=(<OnboardGtk(_bus_name=<BusName(_name='org.onboard.Onboard', _bus=<SessionBus(_bus_names=<WeakValueDictionary(_iterating=set(), _pending_removals=[], _remove=<function at remote 0x7ffff7ee4320>, data={'org.onboard.Onboard': <KeyedRef at remote 0x7fffe55bebf0>}) at remote 0x7fffec0d8550>, _signals_lock=<_thread.lock at remote 0x7ffff7f14490>, _Connection__call_on_disconnection=[], _bus_type=0, _signal_sender_matches={}, _signal_recipients_by_object_path={None: {'org.freedesktop.DBus': {'NameOwnerChanged': [<SignalMatch at remote 0x7fffe55f26c8>]}}}, _dbus_Connection_initialized=1) at remote 0x7fffeeb098f0>) at remote 0x7ffff65b6450>, status_icon=<Indicator(_keyboard_window=<KbdWindow(_maximized=False, supports_alpha=True, _client_offset=(0, 0), _window_rect=<Rect(x=49, y=563, h=205, w=1317) at remote 0x7fffe552ecd0>, icp=<IconPalette(_no_more_dwelling=False, _client_offset=(0, 0), _drag_start_rect=<Rect(x=1280, y=686, h=63, w=64) at remote 0x7fffe4ab1b10>, _window_rect=<Rect(x=1280, y=686, h=63, w=64) at remot...(truncated), func=<function at remote 0x7fffe55d3a70>) at ../Objects/abstract.c:2084
#26 method_call.64992 (func=<function at remote 0x7fffe55d3a70>, func@entry=<method at remote 0x7ffff44450e0>,
    arg=(<OnboardGtk(_bus_name=<BusName(_name='org.onboard.Onboard', _bus=<SessionBus(_bus_names=<WeakValueDictionary(_iterating=set(), _pending_removals=[], _remove=<function at remote 0x7ffff7ee4320>, data={'org.onboard.Onboard': <KeyedRef at remote 0x7fffe55bebf0>}) at remote 0x7fffec0d8550>, _signals_lock=<_thread.lock at remote 0x7ffff7f14490>, _Connection__call_on_disconnection=[], _bus_type=0, _signal_sender_matches={}, _signal_recipients_by_object_path={None: {'org.freedesktop.DBus': {'NameOwnerChanged': [<SignalMatch at remote 0x7fffe55f26c8>]}}}, _dbus_Connection_initialized=1) at remote 0x7fffeeb098f0>) at remote 0x7ffff65b6450>, status_icon=<Indicator(_keyboard_window=<KbdWindow(_maximized=False, supports_alpha=True, _client_offset=(0, 0), _window_rect=<Rect(x=49, y=563, h=205, w=1317) at remote 0x7fffe552ecd0>, icp=<IconPalette(_no_more_dwelling=False, _client_offset=(0, 0), _drag_start_rect=<Rect(x=1280, y=686, h=63, w=64) at remote 0x7fffe4ab1b10>, _window_rect=<Rect(x=1280, y=686, h=63, w=64) at remot...(truncated), arg@entry=(), kw=kw@entry=0x0) at ../Objects/classobject.c:323
#27 0x000000000049eec1 in PyObject_Call (kw=0x0, arg=(), func=<method at remote 0x7ffff44450e0>) at ../Objects/abstract.c:2084
#28 slot_tp_init.6803 (
    self=self@entry=<OnboardGtk(_bus_name=<BusName(_name='org.onboard.Onboard', _bus=<SessionBus(_bus_names=<WeakValueDictionary(_iterating=set(), _pending_removals=[], _remove=<function at remote 0x7ffff7ee4320>, data={'org.onboard.Onboard': <KeyedRef at remote 0x7fffe55bebf0>}) at remote 0x7fffec0d8550>, _signals_lock=<_thread.lock at remote 0x7ffff7f14490>, _Connection__call_on_disconnection=[], _bus_type=0, _signal_sender_matches={}, _signal_recipients_by_object_path={None: {'org.freedesktop.DBus': {'NameOwnerChanged': [<SignalMatch at remote 0x7fffe55f26c8>]}}}, _dbus_Connection_initialized=1) at remote 0x7fffeeb098f0>) at remote 0x7ffff65b6450>, status_icon=<Indicator(_keyboard_window=<KbdWindow(_maximized=False, supports_alpha=True, _client_offset=(0, 0), _window_rect=<Rect(x=49, y=563, h=205, w=1317) at remote 0x7fffe552ecd0>, icp=<IconPalette(_no_more_dwelling=False, _client_offset=(0, 0), _drag_start_rect=<Rect(x=1280, y=686, h=63, w=64) at remote 0x7fffe4ab1b10>, _window_rect=<Rect(x=1280, y=686, h=63, w=64) at remote...(truncated), args=args@entry=(), kwds=kwds@entry=0x0) at ../Objects/typeobject.c:5580
#29 0x00000000004bf047 in type_call.6602 (type=<optimized out>, type@entry=0xf95120, args=args@entry=(), kwds=kwds@entry=0x0)
    at ../Objects/typeobject.c:754
#30 0x000000000058febd in PyObject_Call (kw=0x0, arg=(), func=<optimized out>) at ../Objects/abstract.c:2084
#31 do_call (nk=<optimized out>, na=<optimized out>, pp_stack=0x7fffffffdc50, func=<optimized out>) at ../Python/ceval.c:4287
#32 call_function (oparg=<optimized out>, pp_stack=0x7fffffffdc50) at ../Python/ceval.c:4090
#33 PyEval_EvalFrameEx (f=f@entry=Frame 0xa4fa40, for file ./onboard, line 16, in <module> (), throwflag=throwflag@entry=0)
    at ../Python/ceval.c:2679
#34 0x00000000005ac873 in PyEval_EvalCodeEx (closure=0x0, kwdefs=0x0, defcount=0, defs=0x0, kwcount=0, kws=0x0, argcount=0, args=0x0,
    locals=<optimized out>, globals=<optimized out>, _co=<code at remote 0x7ffff7ee4ae0>) at ../Python/ceval.c:3437
#35 PyEval_EvalCode (co=<code at remote 0x7ffff7ee4ae0>, globals=<optimized out>, locals=<optimized out>) at ../Python/ceval.c:771
#36 0x000000000041d263 in run_mod.21501 (mod=<optimized out>, filename=<optimized out>,
    globals={'__name__': '__main__', '__cached__': None, 'sys': <module at remote 0x7ffff7fc3d88>, 'unicode_literals': <_Feature(compiler_flag=131072, optional=(2, 6, 0, 'alpha', 2), mandatory=(3, 0, 0, 'alpha', 0)) at remote 0x7ffff65b6190>, '__builtins__': <module at remote 0x7ffff7fb5440>, 'chain_handler': <function at remote 0x7fffeeb11200>, '__file__': './onboard', 'Onboard': <type at remote 0xf95120>, '__author__': 'Chris Jones <email address hidden>', '__copyright__': 'Copyright © 2009 Chris Jones', '__doc__': None, '__loader__': <SourceFileLoader(path='./onboard', name='__main__') at remote 0x7ffff65f9dd0>, '__package__': None, 'print_function': <_Feature(compiler_flag=65536, optional=(2, 6, 0, 'alpha', 2), mandatory=(3, 0, 0, 'alpha', 0)) at remote 0x7ffff65b6150>, 'division': <_Feature(compiler_flag=8192, optional=(2, 2, 0, 'alpha', 2), mandatory=(3, 0, 0, 'alpha', 0)) at remote 0x7ffff6604bd0>},
    locals={'__name__': '__main__', '__cached__': None, 'sys': <module at remote 0x7ffff7fc3d88>, 'unicode_literals': <_Feature(compiler_flag=131072, optional=(2, 6, 0, 'alpha', 2), mandatory=(3, 0, 0, 'alpha', 0)) at remote 0x7ffff65b6190>, '__builtins__': <module at remote 0x7ffff7fb5440>, 'chain_handler': <function at remote 0x7fffeeb11200>, '__file__': './onboard', 'Onboard': <type at remote 0xf95120>, '__author__': 'Chris Jones <email address hidden>', '__copyright__': 'Copyright © 2009 Chris Jones', '__doc__': None, '__loader__': <SourceFileLoader(path='./onboard', name='__main__') at remote 0x7ffff65f9dd0>, '__package__': None, 'print_function': <_Feature(compiler_flag=65536, optional=(2, 6, 0, 'alpha', 2), mandatory=(3, 0, 0, 'alpha', 0)) at remote 0x7ffff65b6150>, 'division': <_Feature(compiler_flag=8192, optional=(2, 2, 0, 'alpha', 2), mandatory=(3, 0, 0, 'alpha', 0)) at remote 0x7ffff6604bd0>}, flags=<optimized out>, arena=<optimized out>) at ../Python/pythonrun.c:1981
#37 0x0000000000462d2e in PyRun_FileExFlags (fp=fp@entry=0xacf0d0, filename=filename@entry=0x7ffff7f159e0 "./onboard", start=start@entry=257,
    globals=globals@entry={'__name__': '__main__', '__cached__': None, 'sys': <module at remote 0x7ffff7fc3d88>, 'unicode_literals': <_Feature(compiler_flag=131072, optional=(2, 6, 0, 'alpha', 2), mandatory=(3, 0, 0, 'alpha', 0)) at remote 0x7ffff65b6190>, '__builtins__': <module at remote 0x7ffff7fb5440>, 'chain_handler': <function at remote 0x7fffeeb11200>, '__file__': './onboard', 'Onboard': <type at remote 0xf95120>, '__author__': 'Chris Jones <email address hidden>', '__copyright__': 'Copyright © 2009 Chris Jones', '__doc__': None, '__loader__': <SourceFileLoader(path='./onboard', name='__main__') at remote 0x7ffff65f9dd0>, '__package__': None, 'print_function': <_Feature(compiler_flag=65536, optional=(2, 6, 0, 'alpha', 2), mandatory=(3, 0, 0, 'alpha', 0)) at remote 0x7ffff65b6150>, 'division': <_Feature(compiler_flag=8192, optional=(2, 2, 0, 'alpha', 2), mandatory=(3, 0, 0, 'alpha', 0)) at remote 0x7ffff6604bd0>},
    locals=locals@entry={'__name__': '__main__', '__cached__': None, 'sys': <module at remote 0x7ffff7fc3d88>, 'unicode_literals': <_Feature(compiler_flag=131072, optional=(2, 6, 0, 'alpha', 2), mandatory=(3, 0, 0, 'alpha', 0)) at remote 0x7ffff65b6190>, '__builtins__': <module at remote 0x7ffff7fb5440>, 'chain_handler': <function at remote 0x7fffeeb11200>, '__file__': './onboard', 'Onboard': <type at remote 0xf95120>, '__author__': 'Chris Jones <email address hidden>', '__copyright__': 'Copyright © 2009 Chris Jones', '__doc__': None, '__loader__': <SourceFileLoader(path='./onboard', name='__main__') at remote 0x7ffff65f9dd0>, '__package__': None, 'print_function': <_Feature(compiler_flag=65536, optional=(2, 6, 0, 'alpha', 2), mandatory=(3, 0, 0, 'alpha', 0)) at remote 0x7ffff65b6150>, 'division': <_Feature(compiler_flag=8192, optional=(2, 2, 0, 'alpha', 2), mandatory=(3, 0, 0, 'alpha', 0)) at remote 0x7ffff6604bd0>}, closeit=closeit@entry=1, flags=flags@entry=0x7fffffffde50)
    at ../Python/pythonrun.c:1937
#38 0x000000000046310b in PyRun_SimpleFileExFlags (fp=fp@entry=0xacf0d0, filename=<optimized out>, closeit=closeit@entry=1,
    flags=flags@entry=0x7fffffffde50) at ../Python/pythonrun.c:1447
#39 0x0000000000463206 in PyRun_AnyFileExFlags (fp=fp@entry=0xacf0d0, filename=<optimized out>, closeit=closeit@entry=1,
    flags=flags@entry=0x7fffffffde50) at ../Python/pythonrun.c:1169
#40 0x00000000004657b5 in run_file (p_cf=0x7fffffffde50, filename=0x9da290 L"./onboard", fp=0xacf0d0) at ../Modules/main.c:306
#41 Py_Main (argc=argc@entry=2, argv=argv@entry=0x9d9010) at ../Modules/main.c:743
#42 0x000000000047ac58 in main (argc=2, argv=<optimized out>) at ../Modules/python.c:58

Revision history for this message
marmuta (marmuta) wrote :

Hi, what versions of OS and Onboard are you running? Is that Ubuntu Saucy by chance?
cat /etc/issue
apt-cache policy onboard

Is this on a mobile device (ARM) or x86 system?
uname -a

Changed in onboard:
status: New → Incomplete
Revision history for this message
Maximilian Federle (ppd) wrote :

Hi. I don't know what I was thinking, not appending any sys info. The system is a x86 Notebook (Thinkpad x230t actually) and the system is indeed Saucy.

max@max-notebook:~$ apt-cache policy onboard
onboard:
  Installiert: 0.99.0~alpha1~tr1190-0ubuntu1
  Installationskandidat: 0.99.0~alpha1~tr1190-0ubuntu1
  Versionstabelle:
 *** 0.99.0~alpha1~tr1190-0ubuntu1 0
        500 http://archive.ubuntu.com/ubuntu/ saucy/main amd64 Packages
        100 /var/lib/dpkg/status

---------------------------------------------------------------------------------------

max@max-notebook:~$ cat /etc/issue
Ubuntu Saucy Salamander (development branch) \n \l

--------------------------------------------------------------------------------------

max@max-notebook:~$ uname -a
Linux max-notebook 3.9.0-5-generic #12-Ubuntu SMP Wed Jun 12 12:49:11 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

Revision history for this message
marmuta (marmuta) wrote :

Thank you. Onboard trunk crashes too on Saucy, unfortunately, Francesco reported as much already. His backtrace looks different, though. He noted an odd version mismatch between python3 and libpython3. I'll have a closer look tomorrow.

Changed in onboard:
status: Incomplete → New
importance: Undecided → High
Revision history for this message
marmuta (marmuta) wrote :

Fixed in trunk. Python thread state wasn't properly set up, and Python 3.3.2 added a recursion check that relied on it. The version mismatch wasn't at fault.

Changed in onboard:
status: New → Fix Committed
no longer affects: ubuntu
Revision history for this message
Francesco Fumanti (frafu) wrote :

Hi,

I have uploaded a snapshot of the current development status of Onboard containing a fix for this bug and other new features to our main PPA:
https://launchpad.net/~onboard/+archive/ppa

The snapshot is available for raring and for saucy.

Have a nice day.

Changed in onboard:
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.