-
Notifications
You must be signed in to change notification settings - Fork 46
Closed
Labels
Description
[ I'm working from the ci/edm-dance-party branch, but I doubt that that branch is causing the segmentation faults. ]
I'm seeing a number of segmentation faults when attempting to run the Enable tests on OS X 10.12.
To reproduce: on the ci/edm-dance-party branch:
- edit ci/edmtool.py to hack in the Cython dependency
- do
edm install -y wheel click coverage - do
edm run -- python ci/edmtool.py install --runtime=2.7 --toolkit=pyqt - finally, do
edm run -- python ci/edmtool.py test --runtime=2.7 --toolkit=pyqt
The test run then fails partway through with a segmentation fault, which appears to be 100% reproducible. After commenting out the offending test, later tests also fail with segfaults.
Here's the tail of the output from a failing run:
testParse (enable.savage.svg.tests.test_pathdata.TestEllipticalArc) ... ok
testHorizonal (enable.savage.svg.tests.test_pathdata.TestMoveTo) ... ok
testLine (enable.savage.svg.tests.test_pathdata.TestMoveTo) ... ok
testLonger (enable.savage.svg.tests.test_pathdata.TestMoveTo) ... ok
testSimple (enable.savage.svg.tests.test_pathdata.TestMoveTo) ... ok
testVertical (enable.savage.svg.tests.test_pathdata.TestMoveTo) ... ok
testInvalid (enable.savage.svg.tests.test_pathdata.TestNumber) ... ok
testValid (enable.savage.svg.tests.test_pathdata.TestNumber) ... ok
testFloatsWithNoSpacing (enable.savage.svg.tests.test_pathdata.TestNumberSequence) ... ok
testParse (enable.savage.svg.tests.test_pathdata.TestQuadraticBezierCurveto) ... ok
testParse (enable.savage.svg.tests.test_pathdata.TestSVG) ... ok
testParse (enable.savage.svg.tests.test_pathdata.TestSmoothQuadraticBezierCurveto) ... ok
test_bounds_default (enable.tests.primitives.test_image.ImageTest) ... ok
test_bounds_overrride (enable.tests.primitives.test_image.ImageTest) ... ok
test_draw_24 (enable.tests.primitives.test_image.ImageTest) ... Command "coverage run -m nose.core enable -v" exited with segmentation fault (-11)
And here's the top of the call stack from the Apple bug reporter:
Process: Python [53854]
Path: /Users/USER/*/Python.app/Contents/MacOS/Python
Identifier: org.python.python
Version: 2.7.13 (2.7.13)
Code Type: X86-64 (Native)
Parent Process: edm [53853]
Responsible: Python [53854]
User ID: 501
Date/Time: 2017-07-18 16:04:31.683 +0100
OS Version: Mac OS X 10.12.5 (16F73)
Report Version: 12
Anonymous UUID: 941E8690-2780-6F0F-0DCA-78BC17D7B69D
Sleep/Wake UUID: 70E8A2F4-FA9B-4E22-94F2-13F28E7AA1A9
Time Awake Since Boot: 1500000 seconds
Time Since Wake: 11000 seconds
System Integrity Protection: enabled
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x000000000000001c
Exception Note: EXC_CORPSE_NOTIFY
Termination Signal: Segmentation fault: 11
Termination Reason: Namespace SIGNAL, Code 0xb
Terminating Process: exc handler [0]
VM Regions Near 0x1c:
-->
__TEXT 0000000100000000-0000000100003000 [ 12K] r-x/rwx SM=COW /Users/USER/*/Python.app/Contents/MacOS/Python
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 _agg.so 0x000000011693da68 agg24::span_image_filter_rgb_nn<agg24::image_accessor_clip<agg24::pixfmt_alpha_blend_rgb<agg24::blender_rgb<agg24::rgba8, agg24::order_rgb>, agg24::row_ptr_cache<unsigned char> > >, agg24::span_interpolator_linear<agg24::trans_affine, 8u> >::generate(agg24::rgba8*, int, int, unsigned int) + 504 (agg_pixfmt_rgb.h:244)
1 _agg.so 0x0000000116979a26 void agg24::render_scanline_aa<agg24::scanline_u8, agg24::renderer_mclip<agg24::pixfmt_alpha_blend_rgba<agg24::blender_rgba<agg24::rgba8, agg24::order_rgba>, agg24::row_ptr_cache<unsigned char>, unsigned int> >, agg24::span_allocator<agg24::rgba8>, agg24::span_image_filter_rgb_nn<agg24::image_accessor_clip<agg24::pixfmt_alpha_blend_rgb<agg24::blender_rgb<agg24::rgba8, agg24::order_rgb>, agg24::row_ptr_cache<unsigned char> > >, agg24::span_interpolator_linear<agg24::trans_affine, 8u> > >(agg24::scanline_u8 const&, agg24::renderer_mclip<agg24::pixfmt_alpha_blend_rgba<agg24::blender_rgba<agg24::rgba8, agg24::order_rgba>, agg24::row_ptr_cache<unsigned char>, unsigned int> >&, agg24::span_allocator<agg24::rgba8>&, agg24::span_image_filter_rgb_nn<agg24::image_accessor_clip<agg24::pixfmt_alpha_blend_rgb<agg24::blender_rgb<agg24::rgba8, agg24::order_rgb>, agg24::row_ptr_cache<unsigned char> > >, agg24::span_interpolator_linear<agg24::trans_affine, 8u> >&) + 198 (agg_renderer_scanline.h:170)
2 _agg.so 0x0000000116979941 void agg24::render_scanlines_aa<agg24::rasterizer_scanline_aa<agg24::rasterizer_sl_clip<agg24::ras_conv_int> >, agg24::scanline_u8, agg24::renderer_mclip<agg24::pixfmt_alpha_blend_rgba<agg24::blender_rgba<agg24::rgba8, agg24::order_rgba>, agg24::row_ptr_cache<unsigned char>, unsigned int> >, agg24::span_allocator<agg24::rgba8>, agg24::span_image_filter_rgb_nn<agg24::image_accessor_clip<agg24::pixfmt_alpha_blend_rgb<agg24::blender_rgb<agg24::rgba8, agg24::order_rgb>, agg24::row_ptr_cache<unsigned char> > >, agg24::span_interpolator_linear<agg24::trans_affine, 8u> > >(agg24::rasterizer_scanline_aa<agg24::rasterizer_sl_clip<agg24::ras_conv_int> >&, agg24::scanline_u8&, agg24::renderer_mclip<agg24::pixfmt_alpha_blend_rgba<agg24::blender_rgba<agg24::rgba8, agg24::order_rgba>, agg24::row_ptr_cache<unsigned char>, unsigned int> >&, agg24::span_allocator<agg24::rgba8>&, agg24::span_image_filter_rgb_nn<agg24::image_accessor_clip<agg24::pixfmt_alpha_blend_rgb<agg24::blender_rgb<agg24::rgba8, agg24::order_rgb>, agg24::row_ptr_cache<unsigned char> > >, agg24::span_interpolator_linear<agg24::trans_affine, 8u> >&) + 273 (agg_renderer_scanline.h:187)
3 _agg.so 0x0000000116978ea4 void kiva::graphics_context<agg24::pixfmt_alpha_blend_rgba<agg24::blender_rgba<agg24::rgba8, agg24::order_rgba>, agg24::row_ptr_cache<unsigned char>, unsigned int> >::transform_image_final<agg24::span_image_filter_rgb_nn<agg24::image_accessor_clip<agg24::pixfmt_alpha_blend_rgb<agg24::blender_rgb<agg24::rgba8, agg24::order_rgb>, agg24::row_ptr_cache<unsigned char> > >, agg24::span_interpolator_linear<agg24::trans_affine, 8u> > >(agg24::path_base<agg24::vertex_block_storage<double, 8u, 256u> >&, agg24::span_image_filter_rgb_nn<agg24::image_accessor_clip<agg24::pixfmt_alpha_blend_rgb<agg24::blender_rgb<agg24::rgba8, agg24::order_rgb>, agg24::row_ptr_cache<unsigned char> > >, agg24::span_interpolator_linear<agg24::trans_affine, 8u> >) + 676 (agg_rasterizer_cells_aa.h:132)
4 _agg.so 0x00000001169756fb void kiva::graphics_context<agg24::pixfmt_alpha_blend_rgba<agg24::blender_rgba<agg24::rgba8, agg24::order_rgba>, agg24::row_ptr_cache<unsigned char>, unsigned int> >::transform_image_interpolate<agg24::pixfmt_alpha_blend_rgb<agg24::blender_rgb<agg24::rgba8, agg24::order_rgb>, agg24::row_ptr_cache<unsigned char> > >(kiva::graphics_context<agg24::pixfmt_alpha_blend_rgb<agg24::blender_rgb<agg24::rgba8, agg24::order_rgb>, agg24::row_ptr_cache<unsigned char> > >&, agg24::trans_affine&) + 603 (kiva_graphics_context.h:610)
5 _agg.so 0x0000000116973d16 kiva::graphics_context<agg24::pixfmt_alpha_blend_rgba<agg24::blender_rgba<agg24::rgba8, agg24::order_rgba>, agg24::row_ptr_cache<unsigned char>, unsigned int> >::transform_image(kiva::graphics_context_base*, agg24::trans_affine&) + 70 (kiva_graphics_context.h:1598)
6 _agg.so 0x0000000116966aa8 kiva::graphics_context<agg24::pixfmt_alpha_blend_rgba<agg24::blender_rgba<agg24::rgba8, agg24::order_rgba>, agg24::row_ptr_cache<unsigned char>, unsigned int> >::draw_image(kiva::graphics_context_base*, double*, bool) + 520 (kiva_graphics_context.h:1453)
7 _agg.so 0x00000001169171c7 _wrap_GraphicsContextArray_draw_image(_object*, _object*) + 999 (agg_wrap.cpp:3198)
8 org.python.python 0x00000001000b66ed PyEval_EvalFrameEx + 30141
9 org.python.python 0x00000001000aee22 PyEval_EvalCodeEx + 1538
10 org.python.python 0x00000001000bb545 fast_function + 117
11 org.python.python 0x00000001000b62e3 PyEval_EvalFrameEx + 29107
12 org.python.python 0x00000001000aee22 PyEval_EvalCodeEx + 1538
13 org.python.python 0x00000001000bb545 fast_function + 117
14 org.python.python 0x00000001000b62e3 PyEval_EvalFrameEx + 29107
15 org.python.python 0x00000001000aee22 PyEval_EvalCodeEx + 1538
16 org.python.python 0x00000001000bb545 fast_function + 117
17 org.python.python 0x00000001000b62e3 PyEval_EvalFrameEx + 29107
18 org.python.python 0x00000001000aee22 PyEval_EvalCodeEx + 1538