Search code examples
macosapacheapache2mod-jkosx-mavericks

Apache2 mod_jk segfaults with OS X Mavericks


I upgraded to Mavericks just yesterday, and had to reinstall mod_jk for my development environment. Compiling it from source was a bit of a pain. I found this page on a previously-asked question about mod_jk on OS X, but there were a couple extra hoops I had to jump through. For some reason, apxs thinks that gcc lives at:

/Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.9.xctoolchain/usr/bin/cc

But that exact folder doesn't exist; I had to symlink the existing XcodeDefault.xctoolchain directory:

sudo ln -s XcodeDefault.xctoolchain/ OSX10.9.xctoolchain

Then I tried running configure:

./configure CFLAGS='-arch x86_64' APXSLDFLAGS='-arch x86_64' --with-apxs=/usr/sbin/apxs

However, configure failed because it couldn't find <stdio.h>, so I symlinked the OS X 10.9 toolchain as so:

sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/ /usr/include

I was able to then compile and install the module by running sudo make install -f Makefile.apxs in the apache-2.0 subdirectory. However, when I started up Apache via sudo apachectl start, it immediately crashes with a segfault:

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib              0x00007fff875fb866 __pthread_kill + 10
1   libsystem_pthread.dylib             0x00007fff8b8a435c pthread_kill + 92
2   libsystem_c.dylib                   0x00007fff92480bba abort + 125
3   libsystem_c.dylib                   0x00007fff92480d31 abort_report_np + 181
4   libsystem_c.dylib                   0x00007fff924a48c5 __chk_fail + 48
5   libsystem_c.dylib                   0x00007fff924a48d5 __chk_fail_overlap + 16
6   libsystem_c.dylib                   0x00007fff924a4906 __chk_overlap + 49
7   libsystem_c.dylib                   0x00007fff924a4ad1 __strcpy_chk + 64
8   mod_jk.so                           0x0000000105a0c631 jk_map_get_int + 225
9   mod_jk.so                           0x0000000105a1f7f1 jk_get_worker_maintain_time + 33
10  mod_jk.so                           0x0000000105a17683 wc_open + 755
11  mod_jk.so                           0x0000000105a2f13f init_jk + 1151
12  mod_jk.so                           0x0000000105a28b7e jk_post_config + 1566
13  httpd                               0x000000010568b7d5 ap_run_post_config + 133
14  httpd                               0x00000001056947c7 main + 2567
15  libdyld.dylib                       0x00007fff9176e5fd start + 1

Has anyone had success compiling/running mod_jk with Mavericks yet? Is there something I'm missing or not doing quite right?


Solution

  • The aforementioned bug reported against Tomcat has a proposed patch which is likely to be applied soon. Feel free to use any of the patches described in that bug -- they will all work.