-
Notifications
You must be signed in to change notification settings - Fork 29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
behavior of ap
with huge parallelism
#108
Comments
This one is caused by the
So, It would be great if the missionary's implementation check the checkable and just stop the processes and throw. At least the Even better making undefined behaviors from task/flow spec defined under the context of missionary processes. (#81 is caused by success continuation throw on the ground & stops the sleep loop). Still try to find which part of Ambiguous's handling of flow/tasks' UB is causing this issue. But for missionary/java/missionary/impl/Seed.java Line 42 in 45fcaac
|
The call chain is indeed wrong, the consumer process (
Running the (defn seed-async [xs]
(m/ap (try (m/?> (m/seed xs))
(finally (m/? (m/via m/cpu)))))) |
The following one throws with StackOverflowError (switch on huge input): (->> (m/ap (let [i (m/?< (m/seed (range 10000)))]
(try (m/? (m/sleep 10 i))
(catch Cancelled _ (m/amb)))))
(m/reduce conj)
(m/?)) |
Duplicating comment from #35 as it's likely a separate issue
It's from the Tasks & Flows Walkthrough. But with 100K inputs instead of 1K.
The text was updated successfully, but these errors were encountered: