cljdoc

Ray Stubbs 2024-08-25T17:12:34.382079Z

Anyone have any ideas on why the analysis might be timing out for my library? https://app.circleci.com/pipelines/github/cljdoc/builder/54119/workflows/00dbf534-86ab-47eb-8d8d-b683727f4464/jobs/70494

lread 2024-08-25T19:12:03.256569Z

Happy to take a look sometime soon...

Ray Stubbs 2024-08-25T19:27:07.445679Z

Awesome, I'd appreciate that 🙏

lread 2024-08-25T20:14:30.780399Z

Ok... so something is not exiting after zero.core is loaded. Without cljdoc, let's run a sanity first:

$ clj -Sdeps '{:deps {me.raystubbs/zero {:mvn/version "0.1.19"}}}' -M -e "(+ 1 2 3)"
6
And now, let's require zero.core
$ clj -Sdeps '{:deps {me.raystubbs/zero {:mvn/version "0.1.19"}}}' -M -e "(require '[zero.core])"
This does not return for me, I have to hit ctrl-c to quit.

lread 2024-08-25T20:25:48.388129Z

Does that help @stubbs.ray? Cljdoc-analyzer is timing out because of this.

lread 2024-08-25T20:58:07.245859Z

Ya... if I change your Timer to a daemon thread in your base.cljc via (Timer. true), I see my little test above exiting. I don't know what the requirements of your lib are, so this may not be appropriate.

Ray Stubbs 2024-08-25T23:32:41.152479Z

Aah, okay didn't realize it actually loaded the code. Figured the analysis was static. That's very helpful, thanks a bunch.

Ray Stubbs 2024-08-25T23:34:22.891669Z

Any chance I can ask how you spotted the Timer so quickly? Any neat tooling? Or sheer skill? 😅

lread 2024-08-26T01:05:01.589089Z

Ha! No, I ran my example above and used visualvm to look at threads, saw a timer thread and searched your code for timers. And 🎉

Ray Stubbs 2024-08-26T03:35:52.537139Z

Nice, thanks man

👍 1