# How to solve ERROR: IOError: could not spawn Electron?

**URL:** <https://discourse.julialang.org/t/how-to-solve-error-ioerror-could-not-spawn-electron/77649>\
**Category:** New to Julia\
**Tags:** question, package, dataframes\
**Created:** [March 9, 2022, 7:04pm UTC](https://discourse.julialang.org/t/how-to-solve-error-ioerror-could-not-spawn-electron/77649 "2022-03-09T19:04:07Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![realkrantz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/realkrantz/32/34196_2.png) [@realkrantz](https://discourse.julialang.org/u/realkrantz)\
**Post date:** [March 9, 2022, 7:04pm UTC](https://discourse.julialang.org/t/how-to-solve-error-ioerror-could-not-spawn-electron/77649/1 "2022-03-09T19:04:07Z")

</div>

#This works:

```julia
using VegaLite, VegaDatasets, ElectronDisplay
dataset("cars") |> @vlplot(:point, x=:Acceleration, y=:Miles_per_Gallon, color=:Origin)

```

#But this does not work:

```julia
using DataFrames, ElectronDisplay
df = DataFrame(a=rand(100), b=rand(100), c=rand(100));
electrondisplay(df)

```

#Error message:

```julia

ERROR: IOError: could not spawn `'C:\Users\r\.julia\artifacts\3cac82ef60c809398a5dd6870b5e97d42dbe2df1\electron.exe' 'C:\Users\r\.julia\packages\Electron\MNI24\src\main.js' '\\.\pipe\jlel-88a3f3329fd111ec1de2a72f45dcc516' '\\.\pipe\jlel-sn-88a3f3329fd111ec3dcdf56143e24f1e' FbiW//KhtfNoKJwMMMjQ1QT3996X+tbePmBBVIsgmxL+sYE71JWYTzuTiz6BPM3CZ9FkzEqyjh7YcK5mmK5la0Adk6D+kLdGIqPTS0PCJIqmHCImuW4LPXibL13R/pweoh2IsMkGHI/X/SmFlFPiM7bVF0y1c8s0WtJAmAhuKfE=`: permission denied (EACCES)
Stacktrace:
  [1] _spawn_primitive(file::String, cmd::Cmd, stdio::Vector{Any})
    @ Base .\process.jl:100
  [2] #690
    @ .\process.jl:113 [inlined]
  [3] setup_stdios(f::Base.var"#690#691"{Cmd}, stdios::Vector{Any})
    @ Base .\process.jl:197
  [4] _spawn
    @ .\process.jl:112 [inlined]
  [5] open(cmds::Cmd, stdio::Base.TTY; write::Bool, read::Bool)
    @ Base .\process.jl:375
  [6] open(cmds::Cmd, mode::String, stdio::Base.TTY)
    @ Base .\pro	
  [7] Application()
    @ Electron C:\Users\r\.julia\packages\Electron\MNI24\src\Electron.jl:148
  [8] default_application
    @ C:\Users\r\.julia\packages\Electron\MNI24\src\Electron.jl:96 [inlined]
  [9] Window(args::URI; kwargs::Base.Pairs{Symbol, Dict{String, Dict{String, Bool}}, Tuple{Symbol}, NamedTuple{(:options,), Tuple{Dict{String, Dict{String, Bool}}}}})
    @ Electron C:\Users\r\.julia\packages\Electron\MNI24\src\Electron.jl:372
 [10] _getglobalwindow()
    @ ElectronDisplay C:\Users\r\.julia\packages\ElectronDisplay\efZyl\src\ElectronDisplay.jl:67
 [11] displayhtml(d::ElectronDisplay.ElectronDisplayType, payload::String; options::Dict{String, Dict{String, Bool}})
    @ ElectronDisplay C:\Users\r\.julia\packages\ElectronDisplay\efZyl\src\ElectronDisplay.jl:76
 [12] display(d::ElectronDisplay.ElectronDisplayType, #unused#::MIME{Symbol("application/vnd.dataresource+json")}, x::ElectronDisplay.DataresourceTableTraitsWrapper{DataFrame})
    @ ElectronDisplay C:\Users\r\.julia\packages\ElectronDisplay\efZyl\src\ElectronDisplay.jl:251
 [13] display(d::ElectronDisplay.ElectronDisplayType, mime::String, x::Any)
    @ Base.Multimedia .\multimedia.jl:216
 [14] display(d::ElectronDisplay.ElectronDisplayType, x::ElectronDisplay.DataresourceTableTraitsWrapper{DataFrame})
    @ ElectronDisplay C:\Users\r\.julia\packages\ElectronDisplay\efZyl\src\ElectronDisplay.jl:271
 [15] #electrondisplay#6
    @ C:\Users\r\.julia\packages\ElectronDisplay\efZyl\src\ElectronDisplay.jl:323 [inlined]
 [16] electrondisplay(x::DataFrame)
    @ ElectronDisplay C:\Users\r\.julia\packages\ElectronDisplay\efZyl\src\ElectronDisplay.jl:318
 [17] top-level scope
    @ REPL[73]:1

```

Also posted [here](https://github.com/queryverse/ElectronDisplay.jl/issues/93). Someone else asked this [elsewhere](https://github.com/queryverse/DataVoyager.jl/issues/15) before (no solution posted there). Thanks.

---

<div class="post-metadata">

**Author:** ![lawless-m](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lawless-m/32/30869_2.png) [@lawless-m](https://discourse.julialang.org/u/lawless-m)\
**Post date:** [March 11, 2022, 9:28am UTC](https://discourse.julialang.org/t/how-to-solve-error-ioerror-could-not-spawn-electron/77649/2 "2022-03-11T09:28:18Z")

</div>

The first one worked for me, but the DataFrame example didn’t produce anything.

The spawn worked for me, so I cannot offer much insight. I am in the Administrator’s group but I did not run it as Administator.

When I tried it (as you will see in GitHub), all I got was a blank window.

(it can also be noted that the first example doesn’t require ElectronDisplay

```julia
julia> using VegaLite, VegaDatasets
julia> dataset("cars") |> @vlplot(:point, x=:Acceleration, y=:Miles_per_Gallon, color=:Origin)

```

, it will open in your default Browser)

---

<div class="post-metadata">

**Author:** ![realkrantz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/realkrantz/32/34196_2.png) [@realkrantz](https://discourse.julialang.org/u/realkrantz)\
**Post date:** [March 11, 2022, 9:34am UTC](https://discourse.julialang.org/t/how-to-solve-error-ioerror-could-not-spawn-electron/77649/3 "2022-03-11T09:34:23Z")

</div>

> [@lawless-m](#):
>
> `dataset("cars") |> @vlplot(:point, x=:Acceleration, y=:Miles_per_Gallon, color=:Origin)`

Indeed the first part does not require ElectronDisplay. But for me the part that requires ElectronDisplay is not working (it keeps saying " ERROR: IOError: could not spawn Electron").

```julia
using DataFrames, ElectronDisplay
df = DataFrame(a=rand(100), b=rand(100), c=rand(100));
electrondisplay(df)

```

---

<div class="post-metadata">

**Author:** ![Sukera](https://avatars.discourse-cdn.com/v4/letter/s/ce7236/32.png) [@Sukera](https://discourse.julialang.org/u/Sukera)\
**Post date:** [March 11, 2022, 9:37am UTC](https://discourse.julialang.org/t/how-to-solve-error-ioerror-could-not-spawn-electron/77649/4 "2022-03-11T09:37:27Z")

</div>

> [@realkrantz](#):
>
> `permission denied (EACCES)`

Seems you’re getting a permission denied error - are you allowed to run executables from that directory?

---

<div class="post-metadata">

**Author:** ![realkrantz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/realkrantz/32/34196_2.png) [@realkrantz](https://discourse.julialang.org/u/realkrantz)\
**Post date:** [March 11, 2022, 9:40am UTC](https://discourse.julialang.org/t/how-to-solve-error-ioerror-could-not-spawn-electron/77649/5 "2022-03-11T09:40:53Z")

</div>

Ideally I should have that permission, and I am able to run other julia programs (eg. CmdStan). But just in case I am missing something, how can I make sure that I always have the permission to run executables from the directory (I am using julia REPL in vscode)?

---

<div class="post-metadata">

**Author:** ![lawless-m](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lawless-m/32/30869_2.png) [@lawless-m](https://discourse.julialang.org/u/lawless-m)\
**Post date:** [March 11, 2022, 10:39am UTC](https://discourse.julialang.org/t/how-to-solve-error-ioerror-could-not-spawn-electron/77649/6 "2022-03-11T10:39:20Z")

</div>

From my other searches, I think it is the named pipe which is generating the `EACCES`

---

<div class="post-metadata">

**Author:** ![realkrantz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/realkrantz/32/34196_2.png) [@realkrantz](https://discourse.julialang.org/u/realkrantz)\
**Post date:** [March 11, 2022, 10:42am UTC](https://discourse.julialang.org/t/how-to-solve-error-ioerror-could-not-spawn-electron/77649/7 "2022-03-11T10:42:28Z")

</div>

But I do not use pipe in the second part, right? And the error appears even when I only try the second part (without first running the first part which has pipe) in a fresh julia environment.

---

<div class="post-metadata">

**Author:** ![lawless-m](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lawless-m/32/30869_2.png) [@lawless-m](https://discourse.julialang.org/u/lawless-m)\
**Post date:** [March 11, 2022, 10:47am UTC](https://discourse.julialang.org/t/how-to-solve-error-ioerror-could-not-spawn-electron/77649/8 "2022-03-11T10:47:03Z")

</div>

The stacktrace includes this

` '\\.\pipe\jlel-88a3f3329fd111ec1de2a72f45dcc516'`

which is a Windows named Pipe path

---

<div class="post-metadata">

**Author:** ![realkrantz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/realkrantz/32/34196_2.png) [@realkrantz](https://discourse.julialang.org/u/realkrantz)\
**Post date:** [March 11, 2022, 10:47am UTC](https://discourse.julialang.org/t/how-to-solve-error-ioerror-could-not-spawn-electron/77649/9 "2022-03-11T10:47:57Z")

</div>

And how could I solve that issue?

---

<div class="post-metadata">

**Author:** ![lawless-m](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lawless-m/32/30869_2.png) [@lawless-m](https://discourse.julialang.org/u/lawless-m)\
**Post date:** [March 11, 2022, 10:55am UTC](https://discourse.julialang.org/t/how-to-solve-error-ioerror-could-not-spawn-electron/77649/10 "2022-03-11T10:55:24Z")

</div>

I don’t know. My PC is lcoked down by my Corporate Masters so I can’t fiddle with it.

Other people with a similar problem, many years ago, have suggested turning off the Windows Firewall

[https://stackoverflow.com/questions/3667144/getting-access-denied-while-accessing-the-named-pipe-from-another-system](https://stackoverflow.com/questions/3667144/getting-access-denied-while-accessing-the-named-pipe-from-another-system)

Others suggest running as Administrator

[https://stackoverflow.com/questions/40078969/docker-for-windows-10-pipe-docker-engine-access-is-denied](https://stackoverflow.com/questions/40078969/docker-for-windows-10-pipe-docker-engine-access-is-denied)

Which might be why it works for me - I can’t turn off Admin for myself to try it, I won’t be able to turn it back on again

---

<div class="post-metadata">

**Author:** ![realkrantz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/realkrantz/32/34196_2.png) [@realkrantz](https://discourse.julialang.org/u/realkrantz)\
**Post date:** [March 11, 2022, 11:18am UTC](https://discourse.julialang.org/t/how-to-solve-error-ioerror-could-not-spawn-electron/77649/11 "2022-03-11T11:18:24Z")

</div>

> [@lawless-m](#):
>
> Others suggest running as Administrator

This works. Thanks.
