While playing with the perl bindings, I was rebuilding zeromq-2.1.1. In fact, I rebuilt it several times :)
On occasion, make check will fail. It will always fail only on the test_shutdown_stress test. I tried this on two separate boxes: one is a VMware virtual machine (vk-dev below) and the other is a traditional hardware machine. The major difference is the former is running FreeBSD 8.2 and the other 8.1. I don't believe that to be of significance here. I also fired up a CentOS 5 vm and it never fails the shutdown stress test program. My experience encountering non-determinism in threaded/parallel code leads me to think there is some race condition being exposed here by the difference in threading between linux and FreeBSD. Running the test on FreeBSD 8.2/i386 in VMWare. It works about half the time it seems. [vk-dev]% cd tests/ [vk-dev]% ./test_shutdown_stress Assertion failed: nbytes == sizeof (command_t) (mailbox.cpp:193) Abort [vk-dev]% ./test_shutdown_stress [vk-dev]% ./test_shutdown_stress Assertion failed: nbytes == sizeof (command_t) (mailbox.cpp:193) Abort [vk-dev]% ./test_shutdown_stress Assertion failed: nbytes == sizeof (command_t) (mailbox.cpp:193) Invalid argument Invalid argument rc == 0 (mailbox.cpp:177) Abort [vk-dev]% ./test_shutdown_stress [vk-dev]% ./test_shutdown_stress [vk-dev]% ./test_shutdown_stress [vk-dev]% ./test_shutdown_stress Assertion failed: nbytes == sizeof (command_t) (mailbox.cpp:193) Invalid argument Abort [vk-dev]% And on FreeBSD 8.1/i386: [mmstaging]% ./test_shutdown_stress [mmstaging]% ./test_shutdown_stress Assertion failed: nbytes == sizeof (command_t) (mailbox.cpp:193) Abort [mmstaging]% ./test_shutdown_stress [mmstaging]% ./test_shutdown_stress Assertion failed: nbytes == sizeof (command_t) (mailbox.cpp:193) Abort [mmstaging]% ./test_shutdown_stress Assertion failed: nbytes == sizeof (command_t) (mailbox.cpp:193) Abort [mmstaging]% ./test_shutdown_stress Assertion failed: nbytes == sizeof (command_t) (mailbox.cpp:193) Abort [mmstaging]% ./test_shutdown_stress Assertion failed: nbytes == sizeof (command_t) (mailbox.cpp:193) Abort [mmstaging]% ./test_shutdown_stress Broken pipe [mmstaging]% ./test_shutdown_stress Assertion failed: nbytes == sizeof (command_t) (mailbox.cpp:193) Resource temporarily unavailable nbytes != -1 (mailbox.cpp:189) Abort [mmstaging]% _______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
