Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Juno.@run + PyCall -> uh oh #356

Closed
jsbj opened this issue Sep 9, 2019 · 2 comments
Closed

[BUG] Juno.@run + PyCall -> uh oh #356

jsbj opened this issue Sep 9, 2019 · 2 comments
Labels

Comments

@jsbj
Copy link

jsbj commented Sep 9, 2019

Hi folks! Thank you for the wonderful library. My problem is that I'm trying to debug some code that uses PyCall, and I'm getting some strange errors.

Details

  • Atom version: 1.40.1
  • Julia version: 1.1.0
  • OS: 10.14.6
  • Package versions:
    • Atom.jl: 0.10.1
    • julia-client: 0.10.1
    • ink: 0.11.0

Steps to reproduce

  1. here's some codes
using PyCall
np = pyimport("numpy")
python_sin(num) = np.sin(num)
plain_old_sin(num) = sin(num)
  1. run it
julia> plain_old_sin(4)
-0.7568024953079282
julia> python_sin(4)
-0.7568024953079282

no problems so far

  1. debug it
julia> Juno.@run plain_old_sin(4)
-0.7568024953079282
julia> Juno.@run python_sin(4)
ERROR: sigatomic_end called in non-sigatomic region
Stacktrace:
 [1] #evaluate_call_recurse!#37(::Bool, ::Function, ::Any, ::JuliaInterpreter.Frame, ::Expr) at /home/whatevs/.julia/packages/JuliaInterpreter/VHjfX/src/interpret.jl:217
 [2] evaluate_call_recurse! at /home/whatevs/.julia/packages/JuliaInterpreter/VHjfX/src/interpret.jl:206 [inlined]
 [3] eval_rhs(::Any, ::JuliaInterpreter.Frame, ::Expr) at /home/whatevs/.julia/packages/JuliaInterpreter/VHjfX/src/interpret.jl:381
 [4] step_expr!(::Any, ::JuliaInterpreter.Frame, ::Any, ::Bool) at /home/whatevs/.julia/packages/JuliaInterpreter/VHjfX/src/interpret.jl:521
 [5] step_expr!(::Any, ::JuliaInterpreter.Frame, ::Bool) at /home/whatevs/.julia/packages/JuliaInterpreter/VHjfX/src/interpret.jl:560
 [6] finish!(::Any, ::JuliaInterpreter.Frame, ::Bool) at /home/whatevs/.julia/packages/JuliaInterpreter/VHjfX/src/commands.jl:14
 [7] finish_and_return! at /home/whatevs/.julia/packages/JuliaInterpreter/VHjfX/src/commands.jl:29 [inlined]
 [8] #evaluate_call_recurse!#37(::Bool, ::Function, ::Any, ::JuliaInterpreter.Frame, ::Expr) at /home/whatevs/.julia/packages/JuliaInterpreter/VHjfX/src/interpret.jl:243
 [9] evaluate_call_recurse! at /home/whatevs/.julia/packages/JuliaInterpreter/VHjfX/src/interpret.jl:206 [inlined]
 [10] eval_rhs(::Any, ::JuliaInterpreter.Frame, ::Expr) at /home/whatevs/.julia/packages/JuliaInterpreter/VHjfX/src/interpret.jl:381
 [11] step_expr!(::Any, ::JuliaInterpreter.Frame, ::Any, ::Bool) at /home/whatevs/.julia/packages/JuliaInterpreter/VHjfX/src/interpret.jl:521
 [12] step_expr!(::Any, ::JuliaInterpreter.Frame, ::Bool) at /home/whatevs/.julia/packages/JuliaInterpreter/VHjfX/src/interpret.jl:560
 [13] finish!(::Any, ::JuliaInterpreter.Frame, ::Bool) at /home/whatevs/.julia/packages/JuliaInterpreter/VHjfX/src/commands.jl:14
 [14] finish_and_return! at /home/whatevs/.julia/packages/JuliaInterpreter/VHjfX/src/commands.jl:29 [inlined]
 [15] #evaluate_call_recurse!#37(::Bool, ::Function, ::Any, ::JuliaInterpreter.Frame, ::Expr) at /home/whatevs/.julia/packages/JuliaInterpreter/VHjfX/src/interpret.jl:243
 [16] evaluate_call_recurse! at /home/whatevs/.julia/packages/JuliaInterpreter/VHjfX/src/interpret.jl:206 [inlined]
 [17] eval_rhs(::Any, ::JuliaInterpreter.Frame, ::Expr) at /home/whatevs/.julia/packages/JuliaInterpreter/VHjfX/src/interpret.jl:381
 [18] step_expr!(::Any, ::JuliaInterpreter.Frame, ::Any, ::Bool) at /home/whatevs/.julia/packages/JuliaInterpreter/VHjfX/src/interpret.jl:521
 [19] step_expr!(::Any, ::JuliaInterpreter.Frame, ::Bool) at /home/whatevs/.julia/packages/JuliaInterpreter/VHjfX/src/interpret.jl:560
 [20] finish!(::Any, ::JuliaInterpreter.Frame, ::Bool) at /home/whatevs/.julia/packages/JuliaInterpreter/VHjfX/src/commands.jl:14
 [21] finish_and_return! at /home/whatevs/.julia/packages/JuliaInterpreter/VHjfX/src/commands.jl:29 [inlined]
 [22] #evaluate_call_recurse!#37(::Bool, ::Function, ::Any, ::JuliaInterpreter.Frame, ::Expr) at /home/whatevs/.julia/packages/JuliaInterpreter/VHjfX/src/interpret.jl:243
 [23] evaluate_call_recurse! at /home/whatevs/.julia/packages/JuliaInterpreter/VHjfX/src/interpret.jl:206 [inlined]
 [24] eval_rhs(::Any, ::JuliaInterpreter.Frame, ::Expr) at /home/whatevs/.julia/packages/JuliaInterpreter/VHjfX/src/interpret.jl:381
 [25] step_expr!(::Any, ::JuliaInterpreter.Frame, ::Any, ::Bool) at /home/whatevs/.julia/packages/JuliaInterpreter/VHjfX/src/interpret.jl:521
 [26] step_expr!(::Any, ::JuliaInterpreter.Frame, ::Bool) at /home/whatevs/.julia/packages/JuliaInterpreter/VHjfX/src/interpret.jl:560
 [27] finish!(::Any, ::JuliaInterpreter.Frame, ::Bool) at /home/whatevs/.julia/packages/JuliaInterpreter/VHjfX/src/commands.jl:14
 [28] finish_and_return! at /home/whatevs/.julia/packages/JuliaInterpreter/VHjfX/src/commands.jl:29 [inlined]
 [29] #evaluate_call_recurse!#37(::Bool, ::Function, ::Any, ::JuliaInterpreter.Frame, ::Expr) at /home/whatevs/.julia/packages/JuliaInterpreter/VHjfX/src/interpret.jl:243
 [30] evaluate_call_recurse! at /home/whatevs/.julia/packages/JuliaInterpreter/VHjfX/src/interpret.jl:206 [inlined]
 [31] eval_rhs(::Any, ::JuliaInterpreter.Frame, ::Expr) at /home/whatevs/.julia/packages/JuliaInterpreter/VHjfX/src/interpret.jl:381
 [32] step_expr!(::Any, ::JuliaInterpreter.Frame, ::Any, ::Bool) at /home/whatevs/.julia/packages/JuliaInterpreter/VHjfX/src/interpret.jl:516
 [33] step_expr!(::Any, ::JuliaInterpreter.Frame, ::Bool) at /home/whatevs/.julia/packages/JuliaInterpreter/VHjfX/src/interpret.jl:560
 [34] finish!(::Any, ::JuliaInterpreter.Frame, ::Bool) at /home/whatevs/.julia/packages/JuliaInterpreter/VHjfX/src/commands.jl:14
 [35] finish_and_return!(::Any, ::JuliaInterpreter.Frame, ::Bool) at /home/whatevs/.julia/packages/JuliaInterpreter/VHjfX/src/commands.jl:29
 [36] finish_stack!(::Any, ::JuliaInterpreter.Frame, ::Bool) at /home/whatevs/.julia/packages/JuliaInterpreter/VHjfX/src/commands.jl:59
 [37] #debug_command#57(::Nothing, ::Function, ::Any, ::JuliaInterpreter.Frame, ::Symbol, ::Bool) at /home/whatevs/.julia/packages/JuliaInterpreter/VHjfX/src/commands.jl:444
 [38] debug_command(::Any, ::JuliaInterpreter.Frame, ::Symbol, ::Bool) at /home/whatevs/.julia/packages/JuliaInterpreter/VHjfX/src/commands.jl:386
 [39] (::getfield(Atom.JunoDebugger, Symbol("##51#53")){Bool})() at /home/whatevs/.julia/packages/Atom/Wouyw/src/debugger/stepper.jl:105
 [40] evalscope(::getfield(Atom.JunoDebugger, Symbol("##51#53")){Bool}) at /home/whatevs/.julia/packages/Atom/Wouyw/src/debugger/stepper.jl:387
 [41] startdebugging(::JuliaInterpreter.Frame, ::Bool) at /home/whatevs/.julia/packages/Atom/Wouyw/src/debugger/stepper.jl:103
 [42] top-level scope at /home/whatevs/.julia/packages/Atom/Wouyw/src/debugger/stepper.jl:52

and then if I run it with "break on exception,"

julia> Juno.@run python_sin(4)
ERROR: TypeError: in cglobal, expected Symbol, got JuliaInterpreter.SSAValue
debug>

Any thoughts/help would be greatly appreciated!

@jsbj jsbj added the bug label Sep 9, 2019
@pfitzseb
Copy link
Member

This should be "fixed" with JuliaPy/PyCall.jl#684, which unfortunately isn't released yet.

@jsbj
Copy link
Author

jsbj commented Sep 16, 2019

Ok, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants