kiranshila / Doplarr

An *arr request bot for Discord
MIT License
406 stars 30 forks source link

Exception in thread "async-dispatch-8" java.lang.NullPointerException: Cannot invoke "clojure.lang.Named.getName()" because "x" is null #83

Open datapush3r opened 2 years ago

datapush3r commented 2 years ago

Describe the bug Everything seems to be working up to the point where I try to run a command via the Discord bot.

Screenshots

image

Logs

$ docker-compose logs doplarr
Attaching to doplarr
doplarr             | 2022-05-23T10:08:41.925Z da29eb64cfb0 INFO [doplarr.config:64] - Configuration is valid
doplarr             | 2022-05-23T10:08:42.914Z da29eb64cfb0 INFO [discljord.messaging.impl:?] - Starting messaging process
doplarr             | 2022-05-23T10:08:42.966Z da29eb64cfb0 INFO [discljord.connections.impl:?] - Connecting shard 0
doplarr             | 2022-05-23 10:08:43.030:INFO::async-dispatch-4: Logging initialized @6199ms to org.eclipse.jetty.util.log.StdErrLog
doplarr             | 2022-05-23T10:08:44.205Z da29eb64cfb0 INFO [doplarr.core:38] - Discord connection successful
doplarr             | 2022-05-23T10:08:44.278Z da29eb64cfb0 INFO [doplarr.core:43] - Connected to guild
doplarr             | Exception in thread "async-dispatch-8" java.lang.NullPointerException: Cannot invoke "clojure.lang.Named.getName()" because "x" is null
doplarr             |   at clojure.core$name.invokeStatic(core.clj:1610)
doplarr             |   at clojure.core$name.invoke(core.clj:1604)
doplarr             |   at doplarr.interaction_state_machine$start_interaction_BANG_$fn__23858$state_machine__5615__auto____23861$fn__23864$fn__23877.invoke(interaction_state_machine.clj:28)
doplarr             |   at clojure.lang.Delay.deref(Delay.java:42)
doplarr             |   at clojure.core$deref.invokeStatic(core.clj:2337)
doplarr             |   at clojure.core$deref.invoke(core.clj:2323)
doplarr             |   at taoensso.timbre$_log_BANG_.invokeStatic(timbre.cljc:548)
doplarr             |   at taoensso.timbre$_log_BANG_.invoke(timbre.cljc:540)
doplarr             |   at doplarr.interaction_state_machine$start_interaction_BANG_$fn__23858$state_machine__5615__auto____23861$fn__23864.invoke(interaction_state_machine.clj:28)
doplarr             |   at doplarr.interaction_state_machine$start_interaction_BANG_$fn__23858$state_machine__5615__auto____23861.invoke(interaction_state_machine.clj:16)
doplarr             |   at clojure.core.async.impl.ioc_macros$run_state_machine.invokeStatic(ioc_macros.clj:978)
doplarr             |   at clojure.core.async.impl.ioc_macros$run_state_machine.invoke(ioc_macros.clj:977)
doplarr             |   at clojure.core.async.impl.ioc_macros$run_state_machine_wrapped.invokeStatic(ioc_macros.clj:982)
doplarr             |   at clojure.core.async.impl.ioc_macros$run_state_machine_wrapped.invoke(ioc_macros.clj:980)
doplarr             |   at doplarr.interaction_state_machine$start_interaction_BANG_$fn__23858.invoke(interaction_state_machine.clj:16)
doplarr             |   at clojure.lang.AFn.run(AFn.java:22)
doplarr             |   at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
doplarr             |   at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
doplarr             |   at clojure.core.async.impl.concurrent$counted_thread_factory$reify__359$fn__360.invoke(concurrent.clj:29)
doplarr             |   at clojure.lang.AFn.run(AFn.java:22)
doplarr             |   at java.base/java.lang.Thread.run(Unknown Source)

Additional context I'm using docker-compose on a Synology NAS. I've tried both the LSIO image and the ghcr.io/kiranshila/doplarr image.

datapush3r@nas:~/docker$ docker --version
Docker version 20.10.3, build b455053
datapush3r@nas:~/docker$ docker-compose --version
docker-compose version 1.28.5, build 324b023a
  doplarr:
    container_name: doplarr
    image: linuxserver/doplarr:latest
    environment:
      - PUID=$PID
      - PGID=$GID
      - TZ=$TZ
      - SONARR__URL=http://192.168.1.5:8989
      - RADARR__URL=http://192.168.1.5:7878
      - SONARR__API=REDACTED
      - RADARR__API=REDACTED
      - DISCORD__TOKEN=REDACTED
    restart: unless-stopped
kiranshila commented 2 years ago

I'm a little confused as to the first screenshot - doplarr does not have either the ping or help commands.

datapush3r commented 2 years ago

Sorry about that... maybe I need to recreate the application / bot.

image

Here is an example of a doplarr command:

image image
doplarr             | 2022-05-24T04:59:54.480Z 2f6d12e305c4 INFO [doplarr.interaction-state-machine:28] - Performing search for movie-tmdb nil
doplarr             | 2022-05-24T04:59:54.482Z 2f6d12e305c4 FATAL [doplarr.interaction-state-machine:?] - Exception from search
doplarr             |                                                             java.lang.Thread.run                    Thread.java:  831
doplarr             | Exception in thread "async-dispatch-11" java.lang.NullPointerException: Cannot invoke "clojure.lang.Named.getName()" because "x" is null
doplarr             |   at clojure.core$name.invokeStatic(core.clj:1610)
doplarr             |   at clojure.core$name.invoke(core.clj:1604)
doplarr             | 2022-05-24T05:00:38.279Z 2f6d12e305c4 INFO [doplarr.interaction-state-machine:28] - Performing search for movie-tmdb nil
doplarr             | 2022-05-24T05:00:38.280Z 2f6d12e305c4 FATAL [doplarr.interaction-state-machine:?] - Exception from search
doplarr             |                                                             java.lang.Thread.run                    Thread.java:  831
doplarr             | Exception in thread "async-dispatch-9" java.lang.NullPointerException: Cannot invoke "clojure.lang.Named.getName()" because "x" is null
doplarr             |   at clojure.core$name.invokeStatic(core.clj:1610)
kiranshila commented 2 years ago

Yeah that's very strange - I'm really not sure where those endpoints are coming from. I'd delete the whole app from the discord developer panel and start over there.

kiranshila commented 2 years ago

My guess is this was the same discord bot account as an old version (although I don't remember if I ever had a ping endpoint) and maybe I used to set global guild commands, implying they persisted across updates. The teardown should fix that.