chakravala/Fatou.jl

sig abort on julia 1.0.1 with PyPlot on Mac OSX

Closed this issue · 9 comments

Attempting to use the dev release of the Fatou package results in an abort trap of the Julia REPL:

julia> using Reduce,Fatou

julia> juliafill(:(z^2-0.67),∂=[-1.25,1.5],x0=1.25,orbit=17,depth=3,n=147) |> orbit
2018-10-28 15:07:06.348 julia[58486:18520528] -[NSApplication _setup:]: unrecognized selector sent to instance 0x7fe7c23b2480
2018-10-28 15:07:06.349 julia[58486:18520528] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSApplication _setup:]: unrecognized selector sent to instance 0x7fe7c23b2480'
*** First throw call stack:
(
	0   CoreFoundation                      0x00007fff30a4f43d __exceptionPreprocess + 256
	1   libobjc.A.dylib                     0x00007fff5c960720 objc_exception_throw + 48
	2   CoreFoundation                      0x00007fff30acc255 -[NSObject(NSObject) __retain_OA] + 0
	3   CoreFoundation                      0x00007fff309eead0 ___forwarding___ + 1486
	4   CoreFoundation                      0x00007fff309ee478 _CF_forwarding_prep_0 + 120
	5   libtk8.6.dylib                      0x0000000146e2e31d TkpInit + 413
	6   libtk8.6.dylib                      0x0000000146d8617e Initialize + 2622
	7   _tkinter.cpython-37m-darwin.so      0x0000000146bb0a0f _tkinter_create + 1183
	8   libpython3.7m.dylib                 0x000000012b64ac29 _PyMethodDef_RawFastCallKeywords + 681
	9   libpython3.7m.dylib                 0x000000012b64ad2d _PyCFunction_FastCallKeywords + 45
	10  libpython3.7m.dylib                 0x000000012b754714 call_function + 612
	11  libpython3.7m.dylib                 0x000000012b74b7fa _PyEval_EvalFrameDefault + 8138
	12  libpython3.7m.dylib                 0x000000012b749399 _PyEval_EvalCodeWithName + 3305
	13  libpython3.7m.dylib                 0x000000012b649b21 _PyFunction_FastCallDict + 481
	14  libpython3.7m.dylib                 0x000000012b64b514 _PyObject_Call_Prepend + 164
	15  libpython3.7m.dylib                 0x000000012b6b2eda slot_tp_init + 298
	16  libpython3.7m.dylib                 0x000000012b6bc5d7 type_call + 295
	17  libpython3.7m.dylib                 0x000000012b64a7e3 _PyObject_FastCallKeywords + 691
	18  libpython3.7m.dylib                 0x000000012b75477c call_function + 716
	19  libpython3.7m.dylib                 0x000000012b74b927 _PyEval_EvalFrameDefault + 8439
	20  libpython3.7m.dylib                 0x000000012b64a3de function_code_fastcall + 254
	21  libpython3.7m.dylib                 0x000000012b754786 call_function + 726
	22  libpython3.7m.dylib                 0x000000012b74b7fa _PyEval_EvalFrameDefault + 8138
	23  libpython3.7m.dylib                 0x000000012b749399 _PyEval_EvalCodeWithName + 3305
	24  libpython3.7m.dylib                 0x000000012b649b21 _PyFunction_FastCallDict + 481
	25  libpython3.7m.dylib                 0x000000012b64b514 _PyObject_Call_Prepend + 164
	26  libpython3.7m.dylib                 0x000000012b64cf24 method_call + 36
	27  libpython3.7m.dylib                 0x000000012b64af26 PyObject_Call + 246
	28  libpython3.7m.dylib                 0x000000012b74bb73 _PyEval_EvalFrameDefault + 9027
	29  libpython3.7m.dylib                 0x000000012b749399 _PyEval_EvalCodeWithName + 3305
	30  libpython3.7m.dylib                 0x000000012b649b21 _PyFunction_FastCallDict + 481
	31  ???                                 0x000000012a07cfda 0x0 + 5000122330
	32  ???                                 0x000000012a086567 0x0 + 5000160615
	33  ???                                 0x0000000148105178 0x0 + 5503996280
	34  libjulia.1.0.dylib                  0x0000000108b20ac3 jl_fptr_trampoline + 51
	35  ???                                 0x00000001480fcbb5 0x0 + 5503962037
	36  ???                                 0x00000001480fed15 0x0 + 5503970581
	37  ???                                 0x00000001480fca62 0x0 + 5503961698
	38  ???                                 0x00000001480fcab1 0x0 + 5503961777
	39  ???                                 0x00000001480fc37d 0x0 + 5503959933
	40  ???                                 0x00000001480fbd51 0x0 + 5503958353
	41  libjulia.1.0.dylib                  0x0000000108ce5ab8 do_call + 200
	42  libjulia.1.0.dylib                  0x0000000108ce45ac eval_body + 1228
	43  libjulia.1.0.dylib                  0x0000000108ce4af8 jl_interpret_toplevel_thunk_callback + 408
	44  libjulia.1.0.dylib                  0x0000000108b3768c enter_interpreter_frame + 28
	45  libjulia.1.0.dylib                  0x0000000108b516c2 jl_toplevel_eval_flex + 1282
	46  libjulia.1.0.dylib                  0x0000000108b31b2f jl_toplevel_eval_in + 463
	47  sys.dylib                           0x00000001122d64c2 japi1_eval_3925.clone_1 + 18
	48  sys.dylib                           0x000000011290126c japi1_#28_10143.clone_1.clone_2 + 364
	49  libjulia.1.0.dylib                  0x0000000108b3bc80 start_task + 352
)
libc++abi.dylib: terminating with uncaught exception of type NSException

signal (6): Abort trap: 6
in expression starting at no file:0
__pthread_kill at /usr/lib/system/libsystem_kernel.dylib (unknown line)
Allocations: 118133660 (Pool: 118103461; Big: 30199); GC: 261
Abort trap: 6

It works fine for me on Linux with Julia 1.0.1, what kind of OS are you using? Are you using julia 1.0.0?

Using Mac osx and 1.0.1

Is it caused by PyPlot? Try running the command without orbit at the end.

Yes, it's the orbit call the causes the sig abort

It looks to me as though it is a problem with PyPlot.jl and not with Fatou.jl, since that is the only dependency in Fatou that calls Python, and the error call stack contains python library names.

interestingly, I tried it under ubuntu linux, first adding the PyPlot package and then using dev to install the Fatou package - they both install correctly, but when I attempt to "using Fatou" and it attempts precompilation it Segmentation Faults...

Have you tried using Reduce,Fatou on linux as described in the README.md? That makes the segfault go away for me.

Ah, yes - forgot about that on Linux - that works! thanks for reminding me :)

Now it is no longer necessary to have using Reduce,Fatou but using Fatou,PyPlot

let me know if it still doesn't work on Mac OSX by re-opening the issue.