Gossip Gloomers: test harness crashing in 5b

Hi everyone!

Currently attempting the Gossip Gloomers challenges. Solved 5a successfully, moved on to 5b. Implemented the new version of the code (using lin-kv instead of in-memory storage), but now the test harness is crashing:

INFO [2025-08-29 10:56:28,672] jepsen test runner - jepsen.core Run complete, writing
INFO [2025-08-29 10:56:28,744] jepsen node n0 - maelstrom.db Tearing down n0
INFO [2025-08-29 10:56:30,623] jepsen node n0 - maelstrom.net Shutting down Maelstrom network
INFO [2025-08-29 10:56:30,624] jepsen test runner - jepsen.core Analyzing...
WARN [2025-08-29 10:56:30,735] clojure-agent-send-off-pool-9 - jepsen.checker Error while checking history:
java.util.concurrent.ExecutionException: java.lang.IndexOutOfBoundsException
        at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:124)
        at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:193)
        at clojure.core$deref_future.invokeStatic(core.clj:2317)
        at clojure.core$future_call$reify__8544.deref(core.clj:7041)
        at clojure.core$deref.invokeStatic(core.clj:2337)
        at clojure.core$deref.invoke(core.clj:2323)
        at jepsen.tests.kafka$analysis.invokeStatic(kafka.clj:1939)
        at jepsen.tests.kafka$analysis.invoke(kafka.clj:1879)
        at jepsen.tests.kafka$checker$reify__19270.check(kafka.clj:2055)
        at jepsen.checker$check_safe.invokeStatic(checker.clj:86)
        at jepsen.checker$check_safe.invoke(checker.clj:79)
        at jepsen.checker$compose$reify__11881$fn__11883.invoke(checker.clj:102)
        at clojure.core$pmap$fn__8552$fn__8553.invoke(core.clj:7089)
        at clojure.core$binding_conveyor_fn$fn__5823.invoke(core.clj:2047)
        at clojure.lang.AFn.call(AFn.java:18)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:328)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1095)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:619)
        at java.base/java.lang.Thread.run(Thread.java:1447)
Caused by: java.lang.IndexOutOfBoundsException: null
        at clojure.lang.PersistentVector.arrayFor(PersistentVector.java:158)
        at clojure.lang.PersistentVector.nth(PersistentVector.java:162)
        at clojure.lang.RT.nth(RT.java:896)
        at jepsen.tests.kafka$lost_write_cases$fn__18503.invoke(kafka.clj:958)
        at clojure.core$map$fn__5935.invoke(core.clj:2772)
        at clojure.lang.LazySeq.sval(LazySeq.java:42)
        at clojure.lang.LazySeq.seq(LazySeq.java:51)
        at clojure.lang.Cons.next(Cons.java:39)
        at clojure.lang.RT.next(RT.java:713)
        at clojure.core$next__5451.invokeStatic(core.clj:64)
        at clojure.core$concat$cat__5560$fn__5561.invoke(core.clj:744)
        at clojure.lang.LazySeq.sval(LazySeq.java:42)
        at clojure.lang.LazySeq.seq(LazySeq.java:58)
        at clojure.lang.RT.seq(RT.java:535)
        at clojure.core$seq__5467.invokeStatic(core.clj:139)
        at clojure.core$seq__5467.invoke(core.clj:139)
        at jepsen.tests.kafka$lost_write_cases.invokeStatic(kafka.clj:925)
        at jepsen.tests.kafka$lost_write_cases.invoke(kafka.clj:896)
        at jepsen.tests.kafka$analysis$fn__19241.invoke(kafka.clj:1914)
        ... 6 common frames omitted
INFO [2025-08-29 10:56:31,203] jepsen test runner - jepsen.core Analysis complete

This happens with any test run parameters (including the 5a ones).

I’m sure this is somehow cause by my changes, but I have no idea where to begin to investigate.

Any hints? Please avoid sharing the full solution.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.