You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Jumping on the inkcpp bandwagon to leverage the opportunity to publish my stories for the eenk platform.
Not having much luck so far.
Some errors I'm having:
The simplest to describe: Running the "Storylet" example from Inky Source: Storylets.ink.zip Error: No 'done' point recorded before finishing choice output
This one is trickier, it only happens after the first choice Source: PaniqueAMandonez.zip
Error Case 1: To reproduce: choose "Commencer" (1) and then "Observer le village" (choice 1) ErrorOutput should be empty after getline!
Error Case 2: To reproduce: choose "Commencer"(1) and then "Descendre" (choice 2) Errorsomething looking like it's going on an infinite loop, cpu at 100% but no output
All these run fine in inky, inklecate, and inkjs/web.
This was a fun chase. I found many edge cases we did not encounter yet. Would you mind checking out PR #173 and validating that it solves your problems?
But I've hit a new bumps in the road after a handful of turns :
To reproduce, using the PaniqueAMandonez project :
echo "11111433232214" | fold -w1 | inkcpp_cl/inkcpp_cl -p PaniqueAMandonez.ink
gives Unhandled ink runtime exception: Trying to access output stream prior to save point!
echo "1232322142" | fold -w1 | inkcpp_cl/inkcpp_cl -p PaniqueAMandonez.ink
gives Unhandled ink runtime exception: Cannot insert data before last save point.
🤔 They look like twin errors.
(tbh, this very much look like errors I had when I made tinta and I had to resort to comparing listing of bytecodes executed between the reference implem and the new one and it took ages, and if I knew C++ I'd offer my help 🙇🏼♂️ )
Ok, back in the tranches it goes. Thanks for providing the examples and an direction to check ^^
This looks funny;
If I execute it under UNIX I can reproduce your error But if I execute it under Windows, I get: So yeah seems like undefined behavior echo "x" | folud -w1 under windows results in
I updated #173 now your examples run. There was an error in the rollback.
Until now, inkcpp was not allowed to access data before a rollback point if not for printing, but tags and string values use the same mechanism, so they need to be allowed too to access data before a rollback point.
So I hope you can verify that it is fixed, and I'm thrilled if you find the next input sequence to break inkcpp.
You're going to hate me :
add a "2" at the end of the first sequence (111114332322142) and you get the Cannot insert data before last save point. error again.
But, I've found that:
with inklecate at that point, you get
while, with inkcpp, you get
Notice the coma?
Are all my problems coming from my usage of tags ? If that's just so, we can call it a day and I can totally live without them for the forseeable future!
Activity
JBenda commentedon Sep 13, 2026
Thanks for opening the issues.
I can reproduce the first issue (different error, but still an error, so I will start there investigating)
The second one I cannot reproduce since I think there are files missing in the
.zip(there is just one .ink file)I will update if I find a trace.
smwhr commentedon Sep 13, 2026
My bad, here is the complete ink project PaniqueAMandonez.zip
And thank you for looking into it !
JBenda commentedon Sep 17, 2026
This was a fun chase. I found many edge cases we did not encounter yet. Would you mind checking out PR #173 and validating that it solves your problems?
fixup! fix(runtime): crashes and hangs from choice/thread scoping bugs …
smwhr commentedon Sep 17, 2026
I've not been so eager to test a PR in ages!
smwhr commentedon Sep 17, 2026
To reproduce, using the
PaniqueAMandonezproject :echo "11111433232214" | fold -w1 | inkcpp_cl/inkcpp_cl -p PaniqueAMandonez.inkgives
Unhandled ink runtime exception: Trying to access output stream prior to save point!echo "1232322142" | fold -w1 | inkcpp_cl/inkcpp_cl -p PaniqueAMandonez.inkgives
Unhandled ink runtime exception: Cannot insert data before last save point.🤔 They look like twin errors.
(tbh, this very much look like errors I had when I made tinta and I had to resort to comparing listing of bytecodes executed between the reference implem and the new one and it took ages, and if I knew C++ I'd offer my help 🙇🏼♂️ )
JBenda commentedon Sep 17, 2026
Ok, back in the tranches it goes. Thanks for providing the examples and an direction to check ^^
This looks funny;
If I execute it under UNIX I can reproduce your error
But if I execute it under Windows, I get: So yeah seems like undefined behaviorecho "x" | folud -w1under windows results in:(
JBenda commentedon Sep 17, 2026
I updated #173 now your examples run. There was an error in the rollback.
Until now, inkcpp was not allowed to access data before a rollback point if not for printing, but tags and string values use the same mechanism, so they need to be allowed too to access data before a rollback point.
So I hope you can verify that it is fixed, and I'm thrilled if you find the next input sequence to break inkcpp.
smwhr commentedon Sep 17, 2026
You're going to hate me :
add a "2" at the end of the first sequence (
111114332322142) and you get theCannot insert data before last save point.error again.But, I've found that:

with inklecate at that point, you get
while, with inkcpp, you get

Notice the coma?
Are all my problems coming from my usage of tags ? If that's just so, we can call it a day and I can totally live without them for the forseeable future!
smwhr commentedon Sep 17, 2026
Annnnd 🥹 I also stumbled upon a
Unhandled ink runtime exception: _ref_stack and _stack should be in frame sync!with that minimal code.JBenda commentedon Sep 18, 2026
Currently I'm still thankful for the rigorous testing
I think I fixed your current bugs, so it's time for round 4. ^^
(see #173 for the new commit)
smwhr commentedon Sep 19, 2026
I've managed to finish the game ! 🎉
fix(runtime): crashes and hangs from choice/thread scoping bugs #170 (#…
JBenda commentedon Sep 20, 2026
Fixed in #173
t0mg commentedon Sep 21, 2026
(I can confirm the Storylets example now works in the e-ink simulator of eenky IDE at https://github.com/t0mg/eenky/releases/tag/eenky-nightly-20260920-54)
smwhr commentedon Sep 23, 2026
Just ran some more exotic tests and everything is running smoothly!
Thank you for your hard work!