# Clearing all variable bindings in workspace

**URL:** https://discourse.julialang.org/t/clearing-all-variable-bindings-in-workspace/1427
**Category:** New to Julia
**Created:** [January 12, 2017, 10:23am UTC](https://discourse.julialang.org/t/clearing-all-variable-bindings-in-workspace/1427 "2017-01-12T10:23:44Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![Niall](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/niall/32/22517_2.png) [@Niall](https://discourse.julialang.org/u/Niall)
#### Post date: [January 12, 2017, 10:23am UTC](https://discourse.julialang.org/t/clearing-all-variable-bindings-in-workspace/1427/1 "2017-01-12T10:23:44Z")

</div>

In the following code, the first call to plot() is ok, but the second doesn’t work, indeed the second ‘using’ statement already throws loads of exceptions:

using Plots;  
plot();  
workspace();  
using Plots;  
plot();

So clearly workspace() doesn’t clear all variable bindings in the workspace. Is there any way to do this?

---

<div class="post-metadata">

### Author: ![braydenware](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/braydenware/32/2612_2.png) [@braydenware](https://discourse.julialang.org/u/braydenware)
#### Post date: [January 16, 2017, 10:21pm UTC](https://discourse.julialang.org/t/clearing-all-variable-bindings-in-workspace/1427/2 "2017-01-16T22:21:42Z")

</div>

I have similar problems with workspace() and PyPlot in julia v0.5. Either importing or “using” PyPlot (or trying to reload any module of my own that uses PyPlot) after calling workspace() causes a segfault.

The same happens if I replace PyPlot with PyCall (which PyPlot uses.) If I replace PyPlot with the Plots module (which uses PyPlot), I don’t get a segfault – but I get similar warnings and a LoadError that causes Plots to not work. I don’t have any problems with code that doesn’t involve PyCall, so I suspect the issue is there.

The error message looks like:

[details=Long Error Message:]

> julia\> import PyPlot

> julia\> workspace()

> julia\> import PyPlot

> WARNING: Method definition !(Function) in module Compat at /home/brayden/.julia/v0.5/Compat/src/Compat.jl:1746 overwritten in module Compat at /home/brayden/.julia/v0.5/Compat/src/Compat.jl:1746.  
> WARNING: Method definition redirect\_stderr(Function, Any) in module Compat at /home/brayden/.julia/v0.5/Compat/src/Compat.jl:1615 overwritten in module Compat at /home/brayden/.julia/v0.5/Compat/src/Compat.jl:1615.  
> WARNING: Method definition take!(Main.Base.AbstractIOBuffer) in module Compat at /home/brayden/.julia/v0.5/Compat/src/Compat.jl:1713 overwritten in module Compat at /home/brayden/.julia/v0.5/Compat/src/Compat.jl:1713.  
> WARNING: Method definition redirect\_stdout(Function, Any) in module Compat at /home/brayden/.julia/v0.5/Compat/src/Compat.jl:1615 overwritten in module Compat at /home/brayden/.julia/v0.5/Compat/src/Compat.jl:1615.  
> WARNING: Method definition isnull(Any) in module Compat at /home/brayden/.julia/v0.5/Compat/src/Compat.jl:1693 overwritten in module Compat at /home/brayden/.julia/v0.5/Compat/src/Compat.jl:1693.  
> WARNING: Method definition redirect\_stdin(Function, Any) in module Compat at /home/brayden/.julia/v0.5/Compat/src/Compat.jl:1615 overwritten in module Compat at /home/brayden/.julia/v0.5/Compat/src/Compat.jl:1615.  
> WARNING: Method definition run(Function) in module BinDeps at /home/brayden/.julia/v0.5/BinDeps/src/BinDeps.jl:445 overwritten in module BinDeps at /home/brayden/.julia/v0.5/BinDeps/src/BinDeps.jl:445.  
> WARNING: Method definition macroexpand(Module, Any) in module MacroTools at /home/brayden/.julia/v0.5/MacroTools/src/utils.jl:64 overwritten in module MacroTools at /home/brayden/.julia/v0.5/MacroTools/src/utils.jl:64.

> signal (11): Segmentation fault  
> while loading no file, in expression starting on line 0  
> julia\_type\_to\_llvm at /build/julia-Fy046j/julia-0.5.0/src/cgutils.cpp:318  
> mark\_julia\_const at /build/julia-Fy046j/julia-0.5.0/src/codegen.cpp:641  
> emit\_expr at /build/julia-Fy046j/julia-0.5.0/src/codegen.cpp:3140  
> emit\_function at /build/julia-Fy046j/julia-0.5.0/src/codegen.cpp:4691  
> jl\_compile\_linfo at /build/julia-Fy046j/julia-0.5.0/src/codegen.cpp:809  
> emit\_invoke at /build/julia-Fy046j/julia-0.5.0/src/codegen.cpp:2684 [inlined]  
> emit\_expr at /build/julia-Fy046j/julia-0.5.0/src/codegen.cpp:3162  
> emit\_assignment at /build/julia-Fy046j/julia-0.5.0/src/codegen.cpp:2977 [inlined]  
> emit\_expr at /build/julia-Fy046j/julia-0.5.0/src/codegen.cpp:3185  
> emit\_stmtpos at /build/julia-Fy046j/julia-0.5.0/src/codegen.cpp:3064  
> emit\_function at /build/julia-Fy046j/julia-0.5.0/src/codegen.cpp:4727  
> jl\_compile\_linfo at /build/julia-Fy046j/julia-0.5.0/src/codegen.cpp:809  
> emit\_invoke at /build/julia-Fy046j/julia-0.5.0/src/codegen.cpp:2684 [inlined]  
> emit\_expr at /build/julia-Fy046j/julia-0.5.0/src/codegen.cpp:3162  
> emit\_assignment at /build/julia-Fy046j/julia-0.5.0/src/codegen.cpp:2977 [inlined]  
> emit\_expr at /build/julia-Fy046j/julia-0.5.0/src/codegen.cpp:3185  
> emit\_stmtpos at /build/julia-Fy046j/julia-0.5.0/src/codegen.cpp:3064  
> emit\_function at /build/julia-Fy046j/julia-0.5.0/src/codegen.cpp:4727  
> jl\_compile\_linfo at /build/julia-Fy046j/julia-0.5.0/src/codegen.cpp:809  
> emit\_invoke at /build/julia-Fy046j/julia-0.5.0/src/codegen.cpp:2684 [inlined]  
> emit\_expr at /build/julia-Fy046j/julia-0.5.0/src/codegen.cpp:3162  
> emit\_call at /build/julia-Fy046j/julia-0.5.0/src/codegen.cpp:2750  
> emit\_expr at /build/julia-Fy046j/julia-0.5.0/src/codegen.cpp:3172  
> emit\_stmtpos at /build/julia-Fy046j/julia-0.5.0/src/codegen.cpp:3064  
> emit\_function at /build/julia-Fy046j/julia-0.5.0/src/codegen.cpp:4727  
> jl\_compile\_linfo at /build/julia-Fy046j/julia-0.5.0/src/codegen.cpp:809  
> jl\_compile\_for\_dispatch at /build/julia-Fy046j/julia-0.5.0/src/gf.c:1310  
> jl\_call\_method\_internal at /build/julia-Fy046j/julia-0.5.0/src/julia\_internal.h:184 [inlined]  
> jl\_apply\_generic at /build/julia-Fy046j/julia-0.5.0/src/gf.c:1942  
> jl\_apply at /build/julia-Fy046j/julia-0.5.0/src/julia.h:1392 [inlined]  
> jl\_module\_run\_initializer at /build/julia-Fy046j/julia-0.5.0/src/toplevel.c:83  
> jl\_init\_restored\_modules at /build/julia-Fy046j/julia-0.5.0/src/dump.c:1994 [inlined]  
> \_jl\_restore\_incremental at /build/julia-Fy046j/julia-0.5.0/src/dump.c:2560  
> \_jl\_restore\_incremental at /build/julia-Fy046j/julia-0.5.0/src/dump.c:2498 [inlined]  
> jl\_restore\_incremental at /build/julia-Fy046j/julia-0.5.0/src/dump.c:2580  
> \_include\_from\_serialized at ./loading.jl:150  
> \_require\_from\_serialized at ./loading.jl:187  
> \_require\_search\_from\_serialized at ./loading.jl:217  
> unknown function (ip: 0x7f7718f514d0)  
> jl\_call\_method\_internal at /build/julia-Fy046j/julia-0.5.0/src/julia\_internal.h:189 [inlined]  
> jl\_apply\_generic at /build/julia-Fy046j/julia-0.5.0/src/gf.c:1942  
> require at ./loading.jl:371  
> unknown function (ip: 0x7f7718dbcc3b)  
> jl\_call\_method\_internal at /build/julia-Fy046j/julia-0.5.0/src/julia\_internal.h:189 [inlined]  
> jl\_apply\_generic at /build/julia-Fy046j/julia-0.5.0/src/gf.c:1942  
> jl\_apply at /build/julia-Fy046j/julia-0.5.0/src/julia.h:1392 [inlined]  
> read\_verify\_mod\_list at /build/julia-Fy046j/julia-0.5.0/src/dump.c:1843  
> \_jl\_restore\_incremental at /build/julia-Fy046j/julia-0.5.0/src/dump.c:2514  
> \_jl\_restore\_incremental at /build/julia-Fy046j/julia-0.5.0/src/dump.c:2498 [inlined]  
> jl\_restore\_incremental at /build/julia-Fy046j/julia-0.5.0/src/dump.c:2580  
> \_include\_from\_serialized at ./loading.jl:150  
> \_require\_from\_serialized at ./loading.jl:187  
> _require\_search\_from\_serialized at ./loading.jl:217  
> unknown function (ip: 0x7f7718f514d0)  
> jl\_call\_method\_internal at /build/julia-Fy046j/julia-0.5.0/src/julia\_internal.h:189 [inlined]  
> jl\_apply\_generic at /build/julia-Fy046j/julia-0.5.0/src/gf.c:1942  
> require at ./loading.jl:371  
> unknown function (ip: 0x7f7718dbcc3b)  
> jl\_call\_method\_internal at /build/julia-Fy046j/julia-0.5.0/src/julia\_internal.h:189 [inlined]  
> jl\_apply\_generic at /build/julia-Fy046j/julia-0.5.0/src/gf.c:1942  
> jl\_apply at /build/julia-Fy046j/julia-0.5.0/src/julia.h:1392 [inlined]  
> eval\_import\_path_ at /build/julia-Fy046j/julia-0.5.0/src/toplevel.c:402  
> eval\_import\_path at /build/julia-Fy046j/julia-0.5.0/src/toplevel.c:429 [inlined]  
> jl\_toplevel\_eval\_flex at /build/julia-Fy046j/julia-0.5.0/src/toplevel.c:495 [inlined]  
> jl\_toplevel\_eval at /build/julia-Fy046j/julia-0.5.0/src/toplevel.c:580  
> jl\_toplevel\_eval\_in\_warn at /build/julia-Fy046j/julia-0.5.0/src/builtins.c:590  
> eval at ./boot.jl:234  
> unknown function (ip: 0x7f7718d6d53f)  
> jl\_call\_method\_internal at /build/julia-Fy046j/julia-0.5.0/src/julia\_internal.h:189 [inlined]  
> jl\_apply\_generic at /build/julia-Fy046j/julia-0.5.0/src/gf.c:1942  
> eval\_user\_input at ./REPL.jl:64  
> unknown function (ip: 0x7f75075b3d96)  
> jl\_call\_method\_internal at /build/julia-Fy046j/julia-0.5.0/src/julia\_internal.h:189 [inlined]  
> jl\_apply\_generic at /build/julia-Fy046j/julia-0.5.0/src/gf.c:1942  
> macro expansion at ./REPL.jl:95 [inlined]  
> #3 at ./event.jl:68  
> unknown function (ip: 0x7f75075b0f2f)  
> jl\_call\_method\_internal at /build/julia-Fy046j/julia-0.5.0/src/julia\_internal.h:189 [inlined]  
> jl\_apply\_generic at /build/julia-Fy046j/julia-0.5.0/src/gf.c:1942  
> jl\_apply at /build/julia-Fy046j/julia-0.5.0/src/julia.h:1392 [inlined]  
> start\_task at /build/julia-Fy046j/julia-0.5.0/src/task.c:253  
> unknown function (ip: 0xffffffffffffffff)  
> Allocations: 4172987 (Pool: 4171878; Big: 1109); GC: 4  
> Segmentation fault (core dumped)[/details]
