我想将此作为一个错误发布,但我甚至不知道应该向谁报告。在这里。
我已经在标准的Alpine 3.5上安装了Odoo 9.0,包装的Python 2.7.13和我也尝试使用从源代码编译的相同版本的python,但结果是相同的:
当我从Odoo应用程序中的任何视图导航到Accounting仪表板python segfaults时。奇怪的是,如果我复制会计仪表板的URL并粘贴到导航栏 - 这样会强制加载整个页面 - 这一切都可以正常工作。 我在python解释器上尝试了gdb,看看会发生什么。错误似乎大部分是一致的,但不幸的是,我得到的信息并没有那么有用:
Thread 47 "python2" received signal SIGSEGV, Segmentation fault.
[Switching to LWP 4096]
0x00007ffff7a58b00 in _PyType_Lookup (type=type@entry=0x555555888280, name=name@entry=0x7ffff7e3fb90) at Objects/typeobject.c:2527
2527 Objects/typeobject.c: Permission denied.
(gdb) bt
#0 0x00007ffff7a58b00 in _PyType_Lookup (type=type@entry=0x555555888280, name=name@entry=0x7ffff7e3fb90) at Objects/typeobject.c:2527
#1 0x00007ffff7a4372c in _PyObject_GenericGetAttrWithDict (obj=0x7fffec6b66d0, name=0x7ffff7e3fb90, dict=0x0) at Objects/object.c:1389
#2 0x00007ffff7a8adb5 in PyEval_EvalFrameEx (f=f@entry=0x7fffedd8eb90, throwflag=throwflag@entry=0) at Python/ceval.c:2543
#3 0x00007ffff7a8e3c7 in PyEval_EvalCodeEx (co=0x7ffff7e3abb0, globals=<optimized out>, locals=locals@entry=0x0, args=<optimized out>, argcount=<optimized out>, kws=<optimized out>, kwcount=0, defs=0x7ffff7e60568, defcount=1, closure=0x0) at Python/ceval.c:3584
#4 0x00007ffff7a8c671 in fast_function (nk=0, na=<optimized out>, n=1, pp_stack=0x7fffebada318, func=0x7ffff7e53b18) at Python/ceval.c:4447
...
在非常罕见的情况下,错误是不同的,我设法在调试器中捕获它一次:
{{1}}
这种情况下的堆栈跟踪很长,这只是一个片段。 为了解决这个问题,我尝试使用grsec内核和一个vanilla,同样的结果。
我对python很新,所以对于如何进一步调试或解决这个问题的任何想法都将不胜感激。