This repository was archived by the owner on Aug 12, 2026. It is now read-only.
Repository navigation
Commit f6cfe0d
committed
Host imports do not break 0014 D or E, and the last commit over-claimed
That commit said imports "break both of 0014's per-call decisions". Measured,
they break neither. A host callback that tries to call back into the instance
currently executing gets
wasm trap: cannot enter component instance
so the component model forbids the nesting independently, which means the
argument buffer 0014 E reuses cannot be clobbered by a nested call, and D's
throw is correct rather than a false positive. Predicted before running --
the Canonical ABI's may_enter flag exists for exactly this -- and confirmed.
What was genuinely wrong is the message, not the decision. One flag was doing
two jobs and reporting both as contention: "the store is already in use by
another call" sends the reader looking for a second thread that does not exist.
The flag now records the thread holding it, so nesting says nesting
(:cljwit/error :reentrant, naming the export that was running) and contention
names the thread. Throwing before wasmtime traps is worth keeping either way,
because a trap poisons the instance and every later call then fails with the
same message, hiding the cause.
The spike also learned to read wasmtime's error text, which is how "re-entrant
func_call failed" became the sentence above. That is the second time in two
commits that the message was the whole finding.
Claude-Session: https://claude.ai/code/session_01XF5Hfq4Ca2N2XYEzWQQuHt1 parent 2b04d43 commit f6cfe0d
4 files changed
Lines changed: 74 additions & 16 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
51 | | - | |
52 | | - | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
53 | 65 | | |
54 | 66 | | |
55 | 67 | | |
| |||
58 | 70 | | |
59 | 71 | | |
60 | 72 | | |
| 73 | + | |
| 74 | + | |
61 | 75 | | |
62 | 76 | | |
63 | 77 | | |
| |||
67 | 81 | | |
68 | 82 | | |
69 | 83 | | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
70 | 88 | | |
71 | 89 | | |
72 | 90 | | |
| |||
119 | 137 | | |
120 | 138 | | |
121 | 139 | | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
122 | 150 | | |
123 | 151 | | |
124 | 152 | | |
125 | 153 | | |
126 | 154 | | |
127 | 155 | | |
128 | | - | |
| 156 | + | |
| 157 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
79 | 79 | | |
80 | 80 | | |
81 | 81 | | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
82 | 92 | | |
83 | 93 | | |
84 | 94 | | |
| |||
98 | 108 | | |
99 | 109 | | |
100 | 110 | | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
101 | 115 | | |
102 | 116 | | |
103 | 117 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | | - | |
21 | | - | |
22 | | - | |
23 | | - | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
24 | 26 | | |
25 | 27 | | |
26 | 28 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | | - | |
| 20 | + | |
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| |||
579 | 579 | | |
580 | 580 | | |
581 | 581 | | |
582 | | - | |
| 582 | + | |
583 | 583 | | |
584 | 584 | | |
585 | 585 | | |
| |||
588 | 588 | | |
589 | 589 | | |
590 | 590 | | |
591 | | - | |
| 591 | + | |
592 | 592 | | |
593 | 593 | | |
594 | 594 | | |
| |||
663 | 663 | | |
664 | 664 | | |
665 | 665 | | |
666 | | - | |
| 666 | + | |
667 | 667 | | |
668 | 668 | | |
669 | 669 | | |
| |||
679 | 679 | | |
680 | 680 | | |
681 | 681 | | |
682 | | - | |
683 | | - | |
684 | | - | |
| 682 | + | |
| 683 | + | |
| 684 | + | |
| 685 | + | |
| 686 | + | |
| 687 | + | |
| 688 | + | |
| 689 | + | |
| 690 | + | |
| 691 | + | |
| 692 | + | |
| 693 | + | |
| 694 | + | |
| 695 | + | |
| 696 | + | |
| 697 | + | |
685 | 698 | | |
686 | 699 | | |
687 | 700 | | |
| |||
700 | 713 | | |
701 | 714 | | |
702 | 715 | | |
703 | | - | |
| 716 | + | |
704 | 717 | | |
705 | 718 | | |
706 | 719 | | |
| |||
719 | 732 | | |
720 | 733 | | |
721 | 734 | | |
722 | | - | |
| 735 | + | |
723 | 736 | | |
724 | 737 | | |
725 | 738 | | |
| |||
0 commit comments