Bug 1394975
| Summary: | Sphinx Documentation subprocess failed with return code -11 | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Orion Poplawski <orion> |
| Component: | python-matplotlib | Assignee: | Thomas Spura <tomspur> |
| Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | high | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | rawhide | CC: | aviso, cstratak, dominik, gwync, jonathan.underwood, jspaleta, michel, nb, paulo.cesar.pereira.de.andrade, python-sig, quantum.analyst, tomspur |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | ppc64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | 2.0.0-0.7.rc2.fc26 | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2017-01-20 17:16:18 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
|
Description
Orion Poplawski
2016-11-14 22:48:53 UTC
You'll need to do more troubleshooting. There are some other warnings in your log before this, so you might have some missing dependencies. Can you recreate the problem on a x86_64? Do you have the issue when building outside of the build environment? sphinx builds fine on x86_64 and i686. I have finally managed to reproduce on a ppc64 machine, so I'll take a look there. Crash appears to happen in matplotlib:
Core was generated by `/usr/bin/python2 '.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00003fff7b1bca14 in QuadMeshGenerator<numpy::array_view<double const, 3> >::QuadMeshPathIterator::vertex (y=0x3ffffa94a360, x=0x3ffffa94a358, idx=<optimized out>, this=0x3ffffa94ab78)
at src/_backend_agg.h:1099
1099 *x = (*m_coordinates)(n, m, 0);
(gdb) list
1094 private:
1095 inline unsigned vertex(unsigned idx, double *x, double *y)
1096 {
1097 size_t m = m_m + ((idx & 0x2) >> 1);
1098 size_t n = m_n + (((idx + 1) & 0x2) >> 1);
1099 *x = (*m_coordinates)(n, m, 0);
1100 *y = (*m_coordinates)(n, m, 1);
1101 return (idx) ? agg::path_cmd_line_to : agg::path_cmd_move_to;
1102 }
1103
(gdb) print m_coordinates
$1 = (const numpy::array_view<double const, 3> *) 0x3ffffa94ac18
(gdb) print *m_coordinates
$2 = {<numpy::detail::array_view_accessors<numpy::array_view, double const, 3>> = {<No data fields>}, m_arr = 0x3fff76c77a30, m_shape = 0x10013542510, m_strides = 0x10013542528,
m_data = 0x10013817f90 ""}
(gdb) print x
$3 = (double *) 0x3ffffa94a358
(gdb) print *x
$4 = 501.59999999999997
(gdb) print n
$5 = 986115
(gdb) print m
$6 = <optimized out>
(gdb) print m_m
$7 = 0
valgrind fails with:
--18850-- WARNING: unhandled ppc64be-linux syscall: 251
--18850-- You may be able to write your own handler.
--18850-- Read the file README_MISSING_SYSCALL_OR_IOCTL.
error: [Errno 38] Function not implemented: 'astropy/_compiler.c'
Valgrind issue filed here: https://bugs.kde.org/show_bug.cgi?id=372513
#1 QuadMeshGenerator<numpy::array_view<double const, 3> >::QuadMeshPathIterator::vertex (
y=0x3ffffa94a360, x=0x3ffffa94a358, this=0x3ffffa94ab78) at src/_backend_agg.h:1110
1110 return vertex(m_iterator++, x, y);
(gdb) print m_iterator
$1 = 3
(gdb) print *this
$6 = {m_iterator = 3, m_m = 0, m_n = 986114, m_coordinates = 0x3ffffa94ac18}
(gdb) print m_m + ((3 & 0x2) >> 1)
$7 = 1
(gdb) print m_n + (((3 + 1) & 0x2) >> 1)
$8 = 986114
(gdb) print *m_coordinates
$10 = {<numpy::detail::array_view_accessors<numpy::array_view, double const, 3>> = {<No data fields>}, m_arr = 0x3fff76c77a30, m_shape = 0x10013542510, m_strides = 0x10013542528,
m_data = 0x10013817f90 ""}
(gdb) print *m_coordinates->m_shape
$11 = 257
(gdb) print *m_coordinates->m_arr
$12 = {ob_refcnt = 5, ob_type = 0x3fff7e460000}
(gdb) print *m_coordinates->m_strides
$13 = 32
(gdb) print *m_coordinates->m_data
$14 = 0 '\000'
I can't figure any of this out.
Workaround is to do: export MPLBACKEND=cairo Thanks for your investigations. Do you also have a shorter reproduced to report it to matplotlib upstream? Or just the full run of the build above? Sorry, I don't have a short reproducer. I'm not sure my workaround is really working. Still seeing periodic crashes in teh RenderAgg path. Pretty sure the crash should be fixed in matplotlib 2.0.0. Looks like it. |