After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 677527 - OS X: gthread/spawn-async selftest failure
OS X: gthread/spawn-async selftest failure
Status: RESOLVED FIXED
Product: glib
Classification: Platform
Component: gthread
2.32.x
Other Mac OS
: Normal normal
: ---
Assigned To: gtkdev
gtkdev
Depends on:
Blocks:
 
 
Reported: 2012-06-06 02:37 UTC by Daniel Macks
Modified: 2012-06-06 11:17 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Daniel Macks 2012-06-06 02:37:44 UTC
glib-2.32.3 on OS X 10.6 (xcode 4.2), building in 32-bit mode (passing "-arch i386" as a compiler flag)...

TEST: spawn-multithreaded... (pid=60913)
  /gthread/spawn-sync:                                                 OK
  /gthread/spawn-async:                                                **
ERROR:spawn-multithreaded.c:172:test_spawn_async_multithreaded_instance: assertion failed (error == NULL): Failed to create pipe for communicating with child process (Too many open files) (g-exec-error-quark, 19)
**
ERROR:spawn-multithreaded.c:172:test_spawn_async_multithreaded_instance: assertion failed (error == NULL): Failed to create pipe for communicating with child process (Too many open files) (g-exec-error-quark, 19)
**
ERROR:spawn-multithreaded.c:172:test_spawn_async_multithreaded_instance: assertion failed (error == NULL): Failed to create pipe for communicating with child process (Too many open files) (g-exec-error-quark, 19)
**
ERROR:spawn-multithreaded.c:172:test_spawn_async_multithreaded_instance: assertion failed (error == NULL): Failed to create pipe for communicating with child process (Too many open files) (g-exec-error-quark, 19)
FAIL
GTester: last random seed: R02S5ef047c73cf482f336ac14bc0236f455

I don't see any warnings during the compiling stage.
Comment 1 Colin Walters 2012-06-06 02:42:54 UTC
Yeah; nothing really to do here short of lowering

d51198ba gthread/tests/spawn-multithreaded.c (Colin Walters 2011-06-02 11:53:25 -0400  29) #define N_THREADS (100)

Dunno...we could probably go as low as 10 and have it still be a reasonable test.  Does that work for you?
Comment 2 Colin Walters 2012-06-06 02:43:33 UTC
Although it might be worth checking if OS X has the equivalent of Linux eventfd(2) so we can avoid having two file descriptors per main context.
Comment 3 Daniel Macks 2012-06-06 07:26:22 UTC
I only get it to fail "usually" with 100; knocking it down to 20 I ran it several dozen times and it did not fail for any of them. I don't know anything about signal-handlers myself, but I know darwin has kqueue/kevent that sounds like it's a similar idea or alternative to eventfd.