We recently merged 2.4.17 and saw some bus errors on hp/ia64 and solaris/sparc64. Selectively backing things out, it appears that the SO_REUSEPORT patch causes the worker_score to no longer (necessarily) be double-word aligned.
I'm able to hit the same thing with the httpd-2.4.x branch. I have a particular config that I can start with: /bin/apachectl -f conf/testcase.conf -k start -c "ServerLimit 1" -DNO_DETACH or /bin/apachectl -f conf/testcase.conf -k start -c "ServerLimit 2" -DNO_DETACH And the former will get a bus error and the latter will not. (stuff from my draft email below is not vanilla httpd-2.4.x) t@1 (l@1) program terminated by signal BUS (Bus Error) Current function is update_child_status_internal 479 ws->last_used = apr_time_now(); (dbx) where current thread: t@1 =>[1] update_child_status_internal(child_num = 0, thread_num = 0, status = 0, c = (nil), r = (nil)), line 479 in "scoreboard.c" [2] ap_update_child_status_from_indexes(child_num = 0, thread_num = 0, status = 0, r = (nil)), line 529 in "scoreboard.c" [3] server_main_loop(remaining_children_to_start = 0, num_buckets = 1), line 1879 in "worker.c" [4] worker_run(_pconf = 0x100205f68, plog = 0x100234158, s = 0x10020e340), line 2056 in "worker.c" [5] ap_run_mpm(0x100205f68, 0x100234158, 0x10020e340, 0x5, 0x0, 0x0), at 0x10005a8a4 [6] main(argc = 7, argv = 0xffffffff7ffff7f8), line 878 in "main.c" (dbx) (dbx) print ws ws = 0xffffffff7bb00044 (dbx) print &(ws->last_used) &ws->last_used = 0xffffffff7bb00094 (both of these are unaligned, when I log their values w/o the SO_REUSEPORT they're always aligned) Experimentation is SLOW on my sparc system, so I thought I'd throw up a flare for help sooner rather than later in case anyone has a clue. I hope to be able to try to back out some more things on the vanilla httpd-2.4.x -- Eric Covener cove...@gmail.com