PDA

View Full Version : 16.04 LTS python issue on aarch64: Fatal Python error: GC object already tracked



risto3
August 29th, 2016, 08:46 AM
On Linux localhost 3.14.65-78 #1 SMP PREEMPT Sat Aug 27 02:06:58 BRT 2016 aarch64 aarch64 aarch64 GNU/Linux

(which is on an odroid-c2)

I have problems with a legacy python application openerp 6.1 which seems to work fine on other client platforms.

I built pkgsrc environment and the application runs fine so it appears to be in the ubuntu built bits.

after installing some of the dev packages, I see under the debugger:


$ gdb python2.7
GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.04) 7.11.1
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "aarch64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from python2.7...Reading symbols from /usr/lib/debug/.build-id/ed/a63da0aa589eaa777f5a8f39321c9bd86b51ce.debug...don e.
done.
(gdb) start openerp/client/6.1/bin/openerp-client.py
Temporary breakpoint 1 at 0x441c80: file ../Modules/python.c, line 20.
Starting program: /usr/bin/python2.7 openerp/client/6.1/bin/openerp-client.py
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/aarch64-linux-gnu/libthread_db.so.1".


Temporary breakpoint 1, main (argc=2, argv=0x7ffffff6f8)
at ../Modules/python.c:20
20 ../Modules/python.c: No such file or directory.
(gdb) c
Continuing.


Program received signal SIGILL, Illegal instruction.
0x0000007fb5ea0b28 in ?? () from /lib/aarch64-linux-gnu/libcrypto.so.1.0.0
(gdb) c
Continuing.
[New Thread 0x7fb35f7200 (LWP 4990)]
[New Thread 0x7fb2df7200 (LWP 4991)]
Traceback (most recent call last):
File "/home/richard/openerp/client/6.1/bin/widget/view/list.py", line 306, in on_iter_next
i = node.list_group.lst.index(node) + 1
AttributeError: 'list' object has no attribute 'list_group'
Fatal Python error: GC object already tracked


Thread 1 "python2.7" received signal SIGABRT, Aborted.
0x0000007fb7e764e8 in __GI_raise (sig=sig@entry=6)
at ../sysdeps/unix/sysv/linux/raise.c:54
54 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0 0x0000007fb7e764e8 in __GI_raise (sig=sig@entry=6)
at ../sysdeps/unix/sysv/linux/raise.c:54
#1 0x0000007fb7e779a0 in __GI_abort () at abort.c:89
#2 0x0000000000419b40 in Py_FatalError (msg=<optimized out>)
at ../Python/pythonrun.c:1700
#3 0x0000000000443280 in PyList_New (size=0) at ../Objects/listobject.c:161
#4 0x000000000046eac0 in PyEval_EvalFrameEx (
f=f@entry=Frame 0x7fb203a988, for file /home/richard/openerp/client/6.1/bin/widget/view/list.py, line 317, in on_iter_children (self=<AdaptModelGroup(model_group=<ModelRecordGroup(current_idx=0, resource='account.account', _signal_event__connects={'model-changed': [(<instancemethod at remote 0x7fb1ff0280>, (), <Screen(context={'lang': 'fr_FR', 'tz': 'Europe/Paris', 'section_id': False, 'project_id': False, 'department_id': False}, domain=[], _signal_event__connects={}, dummy_cal=False, _readonly=False, sort_domain=[], view_to_load=[], rpc=<RPCProxy(_RPCProxy__attrs={'fields_view_get': <RPCFunction(object='account.account', func='fields_view_get') at remote 0x7fb2041410>}, resource='account.account') at remote 0x7fb2041390>, win_search=True, show_search=True, filter_widget=<form(widget=<gtk.Table at remote 0x7fb2053370>, gp_filters=[], name='', parent=None, fields={'code': {'modifiers': '{"required": true}', 'string': 'Code', 'views': {}, 'required': True, 'name': 'code', 'selectable': True, 'type': 'char', 'model': 'ac...(truncated), throwflag=throwflag@entry=0) at ../Python/ceval.c:2466
#5 0x000000000046b78c in PyEval_EvalCodeEx (co=<optimized out>,
globals=<optimized out>, locals=<optimized out>, args=<optimized out>,
---Type <return> to continue, or q <return> to quit---
argcount=<optimized out>, kws=0x7fffff9658, kwcount=<optimized out>,
defs=0x459caec5d1cf8900, defcount=0, closure=0x0) at ../Python/ceval.c:3582
#6 0x000000000048b180 in function_call.lto_priv.292 (
func=<function at remote 0x7fb3a591b8>,
arg=(<AdaptModelGroup(model_group=<ModelRecordGroup(current_idx=0, resource='account.account', _signal_event__connects={'model-changed': [(<instancemethod at remote 0x7fb1ff0280>, (), <Screen(context={'lang': 'fr_FR', 'tz': 'Europe/Paris', 'section_id': False, 'project_id': False, 'department_id': False}, domain=[], _signal_event__connects={}, dummy_cal=False, _readonly=False, sort_domain=[], view_to_load=[], rpc=<RPCProxy(_RPCProxy__attrs={'fields_view_get': <RPCFunction(object='account.account', func='fields_view_get') at remote 0x7fb2041410>}, resource='account.account') at remote 0x7fb2041390>, win_search=True, show_search=True, filter_widget=<form(widget=<gtk.Table at remote 0x7fb2053370>, gp_filters=[], name='', parent=None, fields={'code': {'modifiers': '{"required": true}', 'string': 'Code', 'views': {}, 'required': True, 'name': 'code', 'selectable': True, 'type': 'char', 'model': 'account.account', 'select': 1, 'size': 64}, 'reconcile': {'selectable': True, 'type': 'boolean', 'string': 'Autoriser le let...(truncated), kw=0x0) at ../Objects/funcobject.c:523
#7 0x0000000000458130 in PyObject_Call (func=<optimized out>,
arg=<optimized out>, kw=<optimized out>) at ../Objects/abstract.c:2546
#8 0x00000000004a3188 in instancemethod_call.lto_priv.211 (
func=<function at remote 0x7fb3a591b8>,
arg=(<AdaptModelGroup(model_group=<ModelRecordGroup(current_idx=0, resource=---Type <return> to continue, or q <return> to quit---
'account.account', _signal_event__connects={'model-changed': [(<instancemethod at remote 0x7fb1ff0280>, (), <Screen(context={'lang': 'fr_FR', 'tz': 'Europe/Paris', 'section_id': False, 'project_id': False, 'department_id': False}, domain=[], _signal_event__connects={}, dummy_cal=False, _readonly=False, sort_domain=[], view_to_load=[], rpc=<RPCProxy(_RPCProxy__attrs={'fields_view_get': <RPCFunction(object='account.account', func='fields_view_get') at remote 0x7fb2041410>}, resource='account.account') at remote 0x7fb2041390>, win_search=True, show_search=True, filter_widget=<form(widget=<gtk.Table at remote 0x7fb2053370>, gp_filters=[], name='', parent=None, fields={'code': {'modifiers': '{"required": true}', 'string': 'Code', 'views': {}, 'required': True, 'name': 'code', 'selectable': True, 'type': 'char', 'model': 'account.account', 'select': 1, 'size': 64}, 'reconcile': {'selectable': True, 'type': 'boolean', 'string': 'Autoriser le let...(truncated), kw=0x0) at ../Objects/classobject.c:2602
#9 0x0000000000458130 in PyObject_Call (func=<optimized out>,
arg=<optimized out>, kw=<optimized out>) at ../Objects/abstract.c:2546
#10 0x0000000000481a88 in call_function_tail (args=(None,),
callable=<instancemethod at remote 0x7fb20021e0>)
at ../Objects/abstract.c:2578
#11 PyObject_CallMethod (
o=o@entry=<AdaptModelGroup(model_group=<ModelRecordGroup(current_idx=0, resource='account.account', _signal_event__connects={'model-changed': [(<instancemethod at remote 0x7fb1ff0280>, (), <Screen(context={'lang': 'fr_FR', 'tz': 'Europe/Paris', 'section_id': False, 'project_id': False, 'department_id': False}, doma---Type <return> to continue, or q <return> to quit---
in=[], _signal_event__connects={}, dummy_cal=False, _readonly=False, sort_domain=[], view_to_load=[], rpc=<RPCProxy(_RPCProxy__attrs={'fields_view_get': <RPCFunction(object='account.account', func='fields_view_get') at remote 0x7fb2041410>}, resource='account.account') at remote 0x7fb2041390>, win_search=True, show_search=True, filter_widget=<form(widget=<gtk.Table at remote 0x7fb2053370>, gp_filters=[], name='', parent=None, fields={'code': {'modifiers': '{"required": true}', 'string': 'Code', 'views': {}, 'required': True, 'name': 'code', 'selectable': True, 'type': 'char', 'model': 'account.account', 'select': 1, 'size': 64}, 'reconcile': {'selectable': True, 'type': 'boolean', 'string': 'Autoriser le lett...(truncated), name=name@entry=0x7fb750e588 "on_iter_children",
format=format@entry=0x7fb750e408 "(O)") at ../Objects/abstract.c:2653
#12 0x0000007fb73d1d94 in pygtk_generic_tree_model_iter_children (
tree_model=0x1171ea0, iter=0x7fffff97f8, parent=<optimized out>)
at /build/buildd/pygtk-2.24.0/gtk/pygtktreemodel.c:509
#13 0x0000007fb6341034 in count_rows (model=0x1171ea0, iter=iter@entry=0x0,
end_path=end_path@entry=0x0, count=0x7fffff98b4, count@entry=0x928ec0,
level=1, level@entry=0, depth=depth@entry=2147483647)
at /build/gtk+2.0-dxoFQx/gtk+2.0-2.24.30/modules/other/gail/gailtreeview.c:4423
#14 0x0000007fb63464f4 in get_row_count (model=<optimized out>)
at /build/gtk+2.0-dxoFQx/gtk+2.0-2.24.30/modules/other/gail/gailtreeview.c:4602
#15 columns_changed (tree_view=0x7fffff9c10)
---Type <return> to continue, or q <return> to quit---
at /build/gtk+2.0-dxoFQx/gtk+2.0-2.24.30/modules/other/gail/gailtreeview.c:2579
#16 0x0000007fb75be9b8 in ?? ()
from /usr/lib/aarch64-linux-gnu/libgobject-2.0.so.0
#17 0x0000007fffff9a50 in ?? ()
Backtrace stopped: not enough registers or memory available to unwind further

risto3
September 1st, 2016, 09:34 PM
core available?