pink-gorilla/notebook

syntax error when running tests

Closed this issue · 4 comments

Hi, I'm excited to try out the new version of gorilla notebook. However, when I try to run the tests I get an error.

When I build the jar I get similar errors.
I still get the error after deleting .m2 dir , and on other gorilla-notebook versions.

What I don't understand is that the github ci for that commit completes the tests without problems. The older docker version also runs without problem.

Any idea what might be causing this?

Cheers

lein test
Warning: implicit hook found: lein-environ.plugin/hooks 
Hooks are deprecated and will be removed in a future version.
Compiling 2 source files to /Users/keesterbrugge/code/gorilla-notebook/target/classes
Note: /Users/keesterbrugge/code/gorilla-notebook/src/java/pinkgorilla/NReplEndpoint.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Compiling 2 source files to /Users/keesterbrugge/code/gorilla-notebook/target/classes
Note: /Users/keesterbrugge/code/gorilla-notebook/src/java/pinkgorilla/NReplEndpoint.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

Testing pinkgorilla.core-test

Ran 1 tests containing 3 assertions.
0 failures, 0 errors.
Syntax error (NullPointerException) compiling at (pinkgorilla/handle_test.clj:1:1).
null

Full report at:
/var/folders/l6/xnlks1hs181039ynqpdfp1kc0000gn/T/clojure-6403240090655342054.edn
Tests failed.

Full report:

 cat /var/folders/l6/xnlks1hs181039ynqpdfp1kc0000gn/T/clojure-6403240090655342054.edn
{:clojure.main/message
 "Syntax error (NullPointerException) compiling at (pinkgorilla/handle_test.clj:1:1).\nnull\n",
 :clojure.main/triage
 {:clojure.error/phase :compile-syntax-check,
  :clojure.error/line 1,
  :clojure.error/column 1,
  :clojure.error/source "handle_test.clj",
  :clojure.error/path "pinkgorilla/handle_test.clj",
  :clojure.error/class java.lang.NullPointerException},
 :clojure.main/trace
 {:via
  [{:type clojure.lang.Compiler$CompilerException,
    :message
    "Syntax error compiling at (pinkgorilla/handle_test.clj:1:1).",
    :data
    {:clojure.error/phase :compile-syntax-check,
     :clojure.error/line 1,
     :clojure.error/column 1,
     :clojure.error/source "pinkgorilla/handle_test.clj"},
    :at [clojure.lang.Compiler load "Compiler.java" 7648]}
   {:type java.lang.ExceptionInInitializerError,
    :at [java.lang.Class forName0 "Class.java" -2]}
   {:type java.lang.NullPointerException,
    :at [clojure.java.io$resource invokeStatic "io.clj" 451]}],
  :trace
  [[clojure.java.io$resource invokeStatic "io.clj" 451]
   [clojure.java.io$resource invokeStatic "io.clj" 450]
   [clojure.java.io$resource invoke "io.clj" 446]
   [cider.nrepl.inlined_deps.orchard.v0v5v3.orchard.java$fn__7549
    invokeStatic
    "java.clj"
    66]
   [cider.nrepl.inlined_deps.orchard.v0v5v3.orchard.java$fn__7549
    invoke
    "java.clj"
    66]
   [cider.nrepl.inlined_deps.orchard.v0v5v3.orchard.java__init
    load
    nil
    66]
   [cider.nrepl.inlined_deps.orchard.v0v5v3.orchard.java__init
    <clinit>
    nil
    -1]
   [java.lang.Class forName0 "Class.java" -2]
   [java.lang.Class forName "Class.java" 348]
   [clojure.lang.RT classForName "RT.java" 2211]
   [clojure.lang.RT classForName "RT.java" 2220]
   [clojure.lang.RT loadClassForName "RT.java" 2239]
   [clojure.lang.RT load "RT.java" 449]
   [clojure.lang.RT load "RT.java" 424]
   [clojure.core$load$fn__6839 invoke "core.clj" 6126]
   [clojure.core$load invokeStatic "core.clj" 6125]
   [clojure.core$load doInvoke "core.clj" 6109]
   [clojure.lang.RestFn invoke "RestFn.java" 408]
   [clojure.core$load_one invokeStatic "core.clj" 5908]
   [clojure.core$load_one invoke "core.clj" 5903]
   [clojure.core$load_lib$fn__6780 invoke "core.clj" 5948]
   [clojure.core$load_lib invokeStatic "core.clj" 5947]
   [clojure.core$load_lib doInvoke "core.clj" 5928]
   [clojure.lang.RestFn applyTo "RestFn.java" 142]
   [clojure.core$apply invokeStatic "core.clj" 667]
   [clojure.core$load_libs invokeStatic "core.clj" 5985]
   [clojure.core$load_libs doInvoke "core.clj" 5969]
   [clojure.lang.RestFn applyTo "RestFn.java" 137]
   [clojure.core$apply invokeStatic "core.clj" 667]
   [clojure.core$require invokeStatic "core.clj" 6007]
   [clojure.core$require doInvoke "core.clj" 6007]
   [clojure.lang.RestFn invoke "RestFn.java" 703]
   [cider.nrepl.inlined_deps.orchard.v0v5v3.orchard.info$loading__6721__auto____7168
    invoke
    "info.clj"
    1]
   [cider.nrepl.inlined_deps.orchard.v0v5v3.orchard.info__init
    load
    nil
    1]
   [cider.nrepl.inlined_deps.orchard.v0v5v3.orchard.info__init
    <clinit>
    nil
    -1]
   [java.lang.Class forName0 "Class.java" -2]
   [java.lang.Class forName "Class.java" 348]
   [clojure.lang.RT classForName "RT.java" 2211]
   [clojure.lang.RT classForName "RT.java" 2220]
   [clojure.lang.RT loadClassForName "RT.java" 2239]
   [clojure.lang.RT load "RT.java" 449]
   [clojure.lang.RT load "RT.java" 424]
   [clojure.core$load$fn__6839 invoke "core.clj" 6126]
   [clojure.core$load invokeStatic "core.clj" 6125]
   [clojure.core$load doInvoke "core.clj" 6109]
   [clojure.lang.RestFn invoke "RestFn.java" 408]
   [clojure.core$load_one invokeStatic "core.clj" 5908]
   [clojure.core$load_one invoke "core.clj" 5903]
   [clojure.core$load_lib$fn__6780 invoke "core.clj" 5948]
   [clojure.core$load_lib invokeStatic "core.clj" 5947]
   [clojure.core$load_lib doInvoke "core.clj" 5928]
   [clojure.lang.RestFn applyTo "RestFn.java" 142]
   [clojure.core$apply invokeStatic "core.clj" 667]
   [clojure.core$load_libs invokeStatic "core.clj" 5985]
   [clojure.core$load_libs doInvoke "core.clj" 5969]
   [clojure.lang.RestFn applyTo "RestFn.java" 137]
   [clojure.core$apply invokeStatic "core.clj" 667]
   [clojure.core$require invokeStatic "core.clj" 6007]
   [clojure.core$require doInvoke "core.clj" 6007]
   [clojure.lang.RestFn invoke "RestFn.java" 1096]
   [cider.nrepl.middleware.stacktrace$loading__6721__auto____7119
    invoke
    "stacktrace.clj"
    1]
   [cider.nrepl.middleware.stacktrace__init load nil 1]
   [cider.nrepl.middleware.stacktrace__init <clinit> nil -1]
   [java.lang.Class forName0 "Class.java" -2]
   [java.lang.Class forName "Class.java" 348]
   [clojure.lang.RT classForName "RT.java" 2211]
   [clojure.lang.RT classForName "RT.java" 2220]
   [clojure.lang.RT loadClassForName "RT.java" 2239]
   [clojure.lang.RT load "RT.java" 449]
   [clojure.lang.RT load "RT.java" 424]
   [clojure.core$load$fn__6839 invoke "core.clj" 6126]
   [clojure.core$load invokeStatic "core.clj" 6125]
   [clojure.core$load doInvoke "core.clj" 6109]
   [clojure.lang.RestFn invoke "RestFn.java" 408]
   [clojure.core$load_one invokeStatic "core.clj" 5908]
   [clojure.core$load_one invoke "core.clj" 5903]
   [clojure.core$load_lib$fn__6780 invoke "core.clj" 5948]
   [clojure.core$load_lib invokeStatic "core.clj" 5947]
   [clojure.core$load_lib doInvoke "core.clj" 5928]
   [clojure.lang.RestFn applyTo "RestFn.java" 142]
   [clojure.core$apply invokeStatic "core.clj" 667]
   [clojure.core$load_libs invokeStatic "core.clj" 5985]
   [clojure.core$load_libs doInvoke "core.clj" 5969]
   [clojure.lang.RestFn applyTo "RestFn.java" 137]
   [clojure.core$apply invokeStatic "core.clj" 667]
   [clojure.core$require invokeStatic "core.clj" 6007]
   [clojure.core$require doInvoke "core.clj" 6007]
   [clojure.lang.RestFn invoke "RestFn.java" 482]
   [pinkgorilla.middleware.cider$loading__6721__auto____6084
    invoke
    "cider.clj"
    1]
   [pinkgorilla.middleware.cider__init load nil 1]
   [pinkgorilla.middleware.cider__init <clinit> nil -1]
   [java.lang.Class forName0 "Class.java" -2]
   [java.lang.Class forName "Class.java" 348]
   [clojure.lang.RT classForName "RT.java" 2211]
   [clojure.lang.RT classForName "RT.java" 2220]
   [clojure.lang.RT loadClassForName "RT.java" 2239]
   [clojure.lang.RT load "RT.java" 449]
   [clojure.lang.RT load "RT.java" 424]
   [clojure.core$load$fn__6839 invoke "core.clj" 6126]
   [clojure.core$load invokeStatic "core.clj" 6125]
   [clojure.core$load doInvoke "core.clj" 6109]
   [clojure.lang.RestFn invoke "RestFn.java" 408]
   [clojure.core$load_one invokeStatic "core.clj" 5908]
   [clojure.core$load_one invoke "core.clj" 5903]
   [clojure.core$load_lib$fn__6780 invoke "core.clj" 5948]
   [clojure.core$load_lib invokeStatic "core.clj" 5947]
   [clojure.core$load_lib doInvoke "core.clj" 5928]
   [clojure.lang.RestFn applyTo "RestFn.java" 142]
   [clojure.core$apply invokeStatic "core.clj" 667]
   [clojure.core$load_libs invokeStatic "core.clj" 5985]
   [clojure.core$load_libs doInvoke "core.clj" 5969]
   [clojure.lang.RestFn applyTo "RestFn.java" 137]
   [clojure.core$apply invokeStatic "core.clj" 667]
   [clojure.core$require invokeStatic "core.clj" 6007]
   [clojure.core$require doInvoke "core.clj" 6007]
   [clojure.lang.RestFn invoke "RestFn.java" 805]
   [pinkgorilla.route$loading__6721__auto____9016 invoke "route.clj" 1]
   [pinkgorilla.route__init load nil 1]
   [pinkgorilla.route__init <clinit> nil -1]
   [java.lang.Class forName0 "Class.java" -2]
   [java.lang.Class forName "Class.java" 348]
   [clojure.lang.RT classForName "RT.java" 2211]
   [clojure.lang.RT classForName "RT.java" 2220]
   [clojure.lang.RT loadClassForName "RT.java" 2239]
   [clojure.lang.RT load "RT.java" 449]
   [clojure.lang.RT load "RT.java" 424]
   [clojure.core$load$fn__6839 invoke "core.clj" 6126]
   [clojure.core$load invokeStatic "core.clj" 6125]
   [clojure.core$load doInvoke "core.clj" 6109]
   [clojure.lang.RestFn invoke "RestFn.java" 408]
   [clojure.core$load_one invokeStatic "core.clj" 5908]
   [clojure.core$load_one invoke "core.clj" 5903]
   [clojure.core$load_lib$fn__6780 invoke "core.clj" 5948]
   [clojure.core$load_lib invokeStatic "core.clj" 5947]
   [clojure.core$load_lib doInvoke "core.clj" 5928]
   [clojure.lang.RestFn applyTo "RestFn.java" 142]
   [clojure.core$apply invokeStatic "core.clj" 667]
   [clojure.core$load_libs invokeStatic "core.clj" 5985]
   [clojure.core$load_libs doInvoke "core.clj" 5969]
   [clojure.lang.RestFn applyTo "RestFn.java" 137]
   [clojure.core$apply invokeStatic "core.clj" 667]
   [clojure.core$require invokeStatic "core.clj" 6007]
   [clojure.core$require doInvoke "core.clj" 6007]
   [clojure.lang.RestFn invoke "RestFn.java" 436]
   [pinkgorilla.handle_test$eval488$loading__6721__auto____489
    invoke
    "handle_test.clj"
    1]
   [pinkgorilla.handle_test$eval488 invokeStatic "handle_test.clj" 1]
   [pinkgorilla.handle_test$eval488 invoke "handle_test.clj" 1]
   [clojure.lang.Compiler eval "Compiler.java" 7177]
   [clojure.lang.Compiler eval "Compiler.java" 7166]
   [clojure.lang.Compiler load "Compiler.java" 7636]
   [clojure.lang.RT loadResourceScript "RT.java" 381]
   [clojure.lang.RT loadResourceScript "RT.java" 372]
   [clojure.lang.RT load "RT.java" 459]
   [clojure.lang.RT load "RT.java" 424]
   [clojure.core$load$fn__6839 invoke "core.clj" 6126]
   [clojure.core$load invokeStatic "core.clj" 6125]
   [clojure.core$load doInvoke "core.clj" 6109]
   [clojure.lang.RestFn invoke "RestFn.java" 408]
   [clojure.core$load_one invokeStatic "core.clj" 5908]
   [clojure.core$load_one invoke "core.clj" 5903]
   [clojure.core$load_lib$fn__6780 invoke "core.clj" 5948]
   [clojure.core$load_lib invokeStatic "core.clj" 5947]
   [clojure.core$load_lib doInvoke "core.clj" 5928]
   [clojure.lang.RestFn applyTo "RestFn.java" 142]
   [clojure.core$apply invokeStatic "core.clj" 667]
   [clojure.core$load_libs invokeStatic "core.clj" 5985]
   [clojure.core$load_libs doInvoke "core.clj" 5969]
   [clojure.lang.RestFn applyTo "RestFn.java" 137]
   [clojure.core$apply invokeStatic "core.clj" 667]
   [clojure.core$require invokeStatic "core.clj" 6007]
   [clojure.core$require doInvoke "core.clj" 6007]
   [clojure.lang.RestFn applyTo "RestFn.java" 137]
   [clojure.core$apply invokeStatic "core.clj" 667]
   [clojure.core$apply invoke "core.clj" 660]
   [user$eval334 invokeStatic "form-init2538780913966845374.clj" 1]
   [user$eval334 invoke "form-init2538780913966845374.clj" 1]
   [clojure.lang.Compiler eval "Compiler.java" 7177]
   [clojure.lang.Compiler eval "Compiler.java" 7167]
   [clojure.lang.Compiler load "Compiler.java" 7636]
   [clojure.lang.Compiler loadFile "Compiler.java" 7574]
   [clojure.main$load_script invokeStatic "main.clj" 475]
   [clojure.main$init_opt invokeStatic "main.clj" 477]
   [clojure.main$init_opt invoke "main.clj" 477]
   [clojure.main$initialize invokeStatic "main.clj" 508]
   [clojure.main$null_opt invokeStatic "main.clj" 542]
   [clojure.main$null_opt invoke "main.clj" 539]
   [clojure.main$main invokeStatic "main.clj" 664]
   [clojure.main$main doInvoke "main.clj" 616]
   [clojure.lang.RestFn applyTo "RestFn.java" 137]
   [clojure.lang.Var applyTo "Var.java" 705]
   [clojure.main main "main.java" 40]],
  :phase :compile-syntax-check}}

Expected behavior

I expected to be able to use gorilla notebook

Actual behavior

I get an error during compilation.

Steps to reproduce the problem

lein deps
lein test

Environment & Version information

gorilla-notebook version

3eaf0ed

Java version

java version "1.8.0_141"

Operating system

macos 10.14

deas commented

Was wondering about exactly the same thing. We surely may be missing something, but how come ci builds work? 🤔

@awb99 and me don't have Mac machines and have little experience with it. You don't have a Linux machine to try and build the thing?

I've build and used the jar using the commit version mentioned above in a debian docker container successfully. Trying to use the same jar on macos leads to the app starting but not evaluating cells.

So the problems seems limited to macos.

deas commented

Would of course love to see things playing on macos as well.

I am also seeing some really odd behavior around cider building on ctr.run.

#11 116.1 Syntax error macroexpanding at (dev_handle.clj:1:1).
#11 116.3 Execution error (NullPointerException) at cider.nrepl.inlined-deps.orchard.v0v5v3.orchard.java/fn (java.clj:66).

What wonders me even more is that the equivalent (from root folder)

docker build --rm -t pinkgorillawb/gorilla-notebook:builder .

on the same commit 2d8ff70d3b983b69246b8c667cc7fd0d5c0c4409 does not expose the issue.

deas commented

@keesterbrugge The issue you see on the mac appears very similar to what I see on ctr.run. Merged the fix to master. Please let me know if it works for you now. Feel free to reopen if it does not.