oz icon indicating copy to clipboard operation
oz copied to clipboard

Unhelpful error when trying to export with broken npm

Open Grazfather opened this issue 4 years ago • 5 comments

Looks like my npm is in a weird state.

pi@raspberrypi:~/code/tempplot $ npm
pi@raspberrypi:~/code/tempplot $ echo $?
1

Anyway, this leads to an unhelpful error when I try to export!:

21-03-05 15:39:10 raspberrypi INFO [oz.core:425] - input: /tmp/8be58180-75c4-4b19-9c93-21a3cb728d24197201720715894158.vl.json
21-03-05 15:39:10 raspberrypi INFO [oz.core:426] - output: /tmp/916168d5-fb17-4525-9b7f-2c81472168694982888235139343259.png
21-03-05 15:39:10 raspberrypi ERROR [oz.core:435] - Problem creating output
21-03-05 15:39:10 raspberrypi ERROR [oz.core:436] -
21-03-05 15:39:10 raspberrypi ERROR [oz.core:689] - Unable to execute static embed
21-03-05 15:39:10 raspberrypi ERROR [oz.core:690] -
                clojure.main.main      main.java:   40
                              ...
                clojure.main/main       main.clj:  616
                clojure.main/main       main.clj:  664
            clojure.main/null-opt       main.clj:  542
          clojure.main/initialize       main.clj:  508
            clojure.main/init-opt       main.clj:  477
         clojure.main/load-script       main.clj:  475
                              ...
                     user/eval140      REPL Input
                              ...
              tempplot.core/-main       core.clj:  162
              tempplot.core/-main       core.clj:  167
           tempplot.core/-main/fn       core.clj:  180
                  oz.core/export!       core.clj:  883
                  oz.core/export!       core.clj:  888
                              ...                                                                                                                                                                     │·····································
             oz.core/eval31455/fn       core.clj:  866                                                                                                                                                │·····································
                  oz.core/compile       core.clj: 1090                                                                                                                                                │·····································
                              ...                                                                                                                                                                     │·····································
             oz.core/eval31442/fn       core.clj:  833                                                                                                                                                │·····································
                     oz.core/html       core.clj:  819                                                                                                                                                │·····································
                  oz.core/html/fn       core.clj:  819                                                                                                                                                │·····································
           oz.core/embed-for-html       core.clj:  716                                                                                                                                                │·····································
             oz.core/compile-tags       core.clj:  531                                                                                                                                                │·····································
             clojure.walk/prewalk       walk.clj:   65                                                                                                                                                │·····································
                clojure.walk/walk       walk.clj:   50                                                                                                                                                │·····································
                clojure.core/into       core.clj: 6895                                                                                                                                                │·····································
              clojure.core/reduce       core.clj: 6828                                                                                                                                                │·····································
      clojure.core.protocols/fn/G  protocols.clj:   13                                                                                                                                                │·····································
        clojure.core.protocols/fn  protocols.clj:   75                                                                                                                                                │·····································
clojure.core.protocols/seq-reduce  protocols.clj:   24                                                                                                                                                │·····································
                 clojure.core/seq       core.clj:  137                                                                                                                                                │·····································
                              ...                                                                                                                                                                     │·····································
              clojure.core/map/fn       core.clj: 2753                                                                                                                                                │·····································
          clojure.core/partial/fn       core.clj: 2624                                                                                                                                                │·····································
             clojure.walk/prewalk       walk.clj:   65                                                                                                                                                │·····································
                clojure.walk/walk       walk.clj:   50                                                                                                                                                │·····································
                clojure.core/into       core.clj: 6895                                                                                                                                                │·····································
              clojure.core/reduce       core.clj: 6828                                                                                                                                                │·····································
      clojure.core.protocols/fn/G  protocols.clj:   13                                                                                                                                                │·····································
        clojure.core.protocols/fn  protocols.clj:   75                                                                                                                                                │·····································
clojure.core.protocols/seq-reduce  protocols.clj:   24                                                                                                                                                │·····································
                 clojure.core/seq       core.clj:  137                                                                                                                                                │·····································
                              ...                                                                                                                                                                     │·····································
              clojure.core/map/fn       core.clj: 2753                                                                                                                                                │·····································
          clojure.core/partial/fn       core.clj: 2624                                                                                                                                                │·····································
             clojure.walk/prewalk       walk.clj:   65                                                                                                                                                │·····································
                clojure.walk/walk       walk.clj:   50                                                                                                                                                │·····································
                clojure.core/into       core.clj: 6895                                                                                                                                                │·····································
              clojure.core/reduce       core.clj: 6828                                                                                                                                                │·····································
      clojure.core.protocols/fn/G  protocols.clj:   13                                                                                                                                                │·····································
        clojure.core.protocols/fn  protocols.clj:   75                                                                                                                                                │·····································
clojure.core.protocols/seq-reduce  protocols.clj:   24                                                                                                                                                │·····································
                 clojure.core/seq       core.clj:  137                                                                                                                                                │·····································
                              ...                                                                                                                                                                     │·····································
              clojure.core/map/fn       core.clj: 2753                                                                                                                                                │·····································
          clojure.core/partial/fn       core.clj: 2624                                                                                                                                                │·····································
             clojure.walk/prewalk       walk.clj:   65                                                                                                                                                │·····································
          oz.core/compile-tags/fn       core.clj:  539                                                                                                                                                │·····································
            oz.core/compiled-form       core.clj:  521                                                                                                                                                │·····································
          clojure.core/partial/fn       core.clj: 2624                                                                                                                                                │·····································
          oz.core/embed-vega-form       core.clj:  678                                                                                                                                                │·····································
       oz.core/embed-vega-form/fn       core.clj:  684                                                                                                                                                │·····································
                oz.core/embed-png       core.clj:  653                                                                                                                                                │·····································
            oz.core/base64-encode       core.clj:  647                                                                                                                                                │·····································
java.lang.ClassCastException: class java.lang.String cannot be cast to class [B (java.lang.String and [B are in module java.base of loader 'bootstrap')                                               │·····································
 

Grazfather avatar Mar 05 '21 19:03 Grazfather

Hi @Grazfather; Thanks for posting this issue, and for doing a bit of hunting into your npm environment.

Do you have a suggestion for how to improve the error message? I do believe that Unable to execute static embed is in a log statement in the code somewhere, so we could easily rewrite that line to say something more informative.

Also, are you running Oz on a raspberry pi!?

Thanks

metasoarous avatar Mar 05 '21 21:03 metasoarous

Do you have a suggestion for how to improve the error message? I do believe that Unable to execute static embed is in a log statement in the code somewhere, so we could easily rewrite that line to say something more informative.

I had a 'better' error before I tried to install the vega stuff with npm, it told me that I had to install them. I think a similar message that hinted that it's a problem that lives in javascript land would be helpful.

Also, are you running Oz on a raspberry pi!?

I'm trying to!

Grazfather avatar Mar 05 '21 23:03 Grazfather

I think a similar message that hinted that it's a problem that lives in javascript land would be helpful.

Yeah; I think something like Unable to execute static embed - check that vega-cli tooling is properly functioning (vl2png, vl2svg, etc) would be pretty clear and helpful. Thoughts on that?

I'm trying to!

That's fantastic! I'd love to know more about this! If you can, please share a bit more here.

Thanks!

metasoarous avatar Mar 05 '21 23:03 metasoarous

Yeah; I think something like Unable to execute static embed - check that vega-cli tooling is properly functioning (vl2png, vl2svg, etc) would be pretty clear and helpful. Thoughts on that?

That would be pretty helpful!

Grazfather avatar Mar 06 '21 18:03 Grazfather

Installed npm (https://nodejs.org/en/download/), then vega (npm install -g vega), and then vega-cli (npm install -g vega-cli) on windows, and made sure that the vg2png etc are on path (C:\Users\boris\AppData\Roaming\npm).

Running an embed still gives "Unable to execute static embed", and also "Cannot run program "which"" (which makes sense, as we are on windows).

BorisVSchmid avatar Jun 16 '21 12:06 BorisVSchmid