After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 789813 - itstool segfaults with libxml2-2.9.6 python binding
itstool segfaults with libxml2-2.9.6 python binding
Status: RESOLVED NOTABUG
Product: libxml2
Classification: Platform
Component: python
git master
Other Linux
: Normal normal
: ---
Assigned To: Daniel Veillard
Depends on:
Blocks:
 
 
Reported: 2017-11-02 11:12 UTC by ncopa
Modified: 2017-11-17 10:34 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description ncopa 2017-11-02 11:12:35 UTC
building gtk-doc fails with a segfault in itstool. The segfault seems to happen in the libxml2 python binding.

This happens on Alpine Linux (which uses musl libc) x86_64, armhf, aarch64, ppc64le, s390x, (and I assume it also happens with x86, but I have not tested)

It was first detected with python2 but problem still remained after using python3.

Backtrace with debugging symbols:

Core was generated by `/usr/bin/python3 -s /usr/bin/itstool -m ../fr/fr.mo ..//C/index.docbook ..//C/f'.
Program terminated with signal SIGSEGV, Segmentation fault.
  • #0 libxml_type
    at libxml.c line 2758
  • #0 libxml_type
    at libxml.c line 2758
  • #1 _PyCFunction_FastCallDict
    at Objects/methodobject.c line 234
  • #2 _PyCFunction_FastCallKeywords
    at Objects/methodobject.c line 294
  • #3 call_function
    at Python/ceval.c line 4824
  • #4 _PyEval_EvalFrameDefault
    at Python/ceval.c line 3322
  • #5 _PyFunction_FastCall
    at Python/ceval.c line 4906
  • #6 fast_function
    at Python/ceval.c line 4948
  • #7 call_function
    at Python/ceval.c line 4845
  • #8 _PyEval_EvalFrameDefault
    at Python/ceval.c line 3322
  • #9 _PyEval_EvalCodeWithName
    at Python/ceval.c line 4153
  • #10 PyEval_EvalCodeEx
    at Python/ceval.c line 4174
  • #11 function_call
    at Objects/funcobject.c line 604
  • #12 PyObject_Call
    at Objects/abstract.c line 2261
  • #13 property_descr_get
    at Objects/descrobject.c line 1384
  • #14 _PyObject_GenericGetAttrWithDict
    at Objects/object.c line 1060
  • #15 _PyEval_EvalFrameDefault
    at Python/ceval.c line 2859
  • #16 _PyEval_EvalCodeWithName
    at Python/ceval.c line 4153
  • #17 fast_function
    at Python/ceval.c line 4965
  • #18 call_function
    at Python/ceval.c line 4845
  • #19 _PyEval_EvalFrameDefault
    at Python/ceval.c line 3338
  • #20 _PyEval_EvalCodeWithName
    at Python/ceval.c line 4153
  • #21 PyEval_EvalCodeEx
    at Python/ceval.c line 4174
  • #22 PyEval_EvalCode
    at Python/ceval.c line 730
  • #23 run_mod
    at Python/pythonrun.c line 980
  • #24 PyRun_FileExFlags
    at Python/pythonrun.c line 933
  • #25 PyRun_SimpleFileExFlags
    at Python/pythonrun.c line 396
  • #26 PyRun_AnyFileExFlags
    at Python/pythonrun.c line 80
  • #27 run_file
    at Modules/main.c line 338
  • #28 Py_Main
    at Modules/main.c line 809
  • #29 main
    at ./Programs/python.c line 69

Comment 1 Nick Wellnhofer 2017-11-08 11:37:15 UTC
It would be helpful if someone could dig deeper into this issue. Where does the crash happen in the Python code? Can you provide a minimized test case?
Comment 2 ncopa 2017-11-17 10:34:42 UTC
I was not able to create a minimalized testcase.

The issue win gtk-doc could be avoided by running `autoreconf -vif` before building. But the problem appeared again while building gnumeric.

It seems to be a bug in itstool though:
https://github.com/itstool/itstool/issues/17

The patch provided there solved it, so I am closing this issue.

Thanks!