what is the backtrace? (attach with debugger)
Funny... I didn't notice it before, my apr_shm_create causes a segfault (when I remove the file that actually gets created the run before). A trace...
open("/var/lib/mod_straw/mod_straw.shm", O_WRONLY|O_CREAT|O_EXCL, 0666) = 35 stat64("/var/lib/mod_straw/mod_straw.shm", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0 shmget(17008977, 20800, IPC_CREAT|IPC_EXCL|0600) = 4030469 shmat(4030469, 0, 0) = 0x411e4000 shmctl(4030469, IPC_64|IPC_STAT, 0xbffff9d0) = 0 getuid32() = 0 getgid32() = 0 shmctl(4030469, IPC_64|IPC_SET, 0xbffff9d0) = 0 write(35, "@Q\0\0", 4) = 4 close(35) = 0 --- SIGSEGV (Segmentation fault) @ 0 (0) ---
I took a gander at the APR SHM stuff, the only thing happening after the file is closed is:
apr_pool_cleanup_register(new_m->pool, new_m, shm_cleanup_owner, apr_pool_cleanup_null); *m = new_m; return APR_SUCCESS;
If all it is doing is registering a cleanup handler, what could possibly cause it to segfault?
Thanks again,
Jeff Walter