After monkeying with fibers for 5-10 minutes, I get the error:
In fibers.scm:
WARNING: (guile-user)(guile-user) 113:22 5 :
:
In fibers/scheduler.scm:
imported mm 105:14 4 (make-scheduler #:parallelism _ #:prompt-tag _)
oduu
In fibers/epoll.scm:
le (fibers) oo 94:31 3 (epoll-create #:close-on-exec? _ #:maxevents _)
verrides 53:14 2 (make-wake-pipe)
cc
In unknown file:
1 (pipe)
ore binn
In ice-9/boot-9.scm:
ding `sleep'' 1669:16 0 (raise-exception _ #:continuable? _)
ice-9/boot-9.scm:1669:16: In procedure raise-exception:
In procedure pipe: Too many open files
I've gotten this several times now, each time after a clean restart. This is using git clone of today's git.
I do not have any simple test case to reproduce this: my fibers code is very simple, but it's working within a large & complex framework of other code. (specifically, inside of https://github.com/opencog/learn/) (you won't find fibers code in there, because I'm still experimenting with it.)
(I'm trying to see if I can use fibers to parallelize a work-farm (a local async proceedure call): I've got a subroutine that is slow but is called many times. I cannot use par-for-each, because that subroutine is called from several different places under quite different circumstances. So fibers seemed ideal for this. Of course I could just create a thread-pool, too.)