I've disabled mod_http2 from being packaged for now, not sure how to debug it further at present.
On 2016/01/14 18:58, Pedro de Oliveira wrote: > Hi there, > > Yesterday I was trying to play with the http2 module on Apache from > ports, as I saw it was added to the ports file list. The problem is > that the module isnt working correctly. > > If you try it on a http vhost, it simply returns the page via the > normal way (http). > And if you enable it on a https vhost, the vhost stops working (doesnt > serve anything). > > So I went to https://httpd.apache.org/dev/debugging.html , and saw the > instructions on how to debug Apache, and ran httpd2 on gdb with the -X > option. > > After a few requests, httpd2 segfaults, but only when using the > "mpm_prefork" module. With "mpm_event" or "mpm_worker" it doesnt > crash. > > # gdb --args httpd2 -X > (gdb) run > Starting program: /usr/local/sbin/httpd2 -X > AH00557: httpd2: apr_sockaddr_info_get() failed for web.my.domain > AH00558: httpd2: Could not reliably determine the server's fully > qualified domain name, using 127.0.0.1. Set the 'ServerName' directive > globally to suppress this message > > Program received signal SIGSEGV, Segmentation fault. > 0x000014a785962a1b in ap_mpm_pod_check () from /usr/local/sbin/httpd2 > (gdb) bt > #0 0x000014a785962a1b in ap_mpm_pod_check () from /usr/local/sbin/httpd2 > #1 0x000014aa29a81f9e in child_main () > from /usr/local/lib/apache2/mod_mpm_prefork.so > #2 0x000014aa29a82321 in make_child () > from /usr/local/lib/apache2/mod_mpm_prefork.so > #3 0x000014aa29a833cf in prefork_run () > from /usr/local/lib/apache2/mod_mpm_prefork.so > #4 0x000014a785937d12 in ap_run_mpm () from /usr/local/sbin/httpd2 > #5 0x000014a7859318b3 in main () from /usr/local/sbin/httpd2 > > And if you run httpd2 -X and try to access an SSL vhost it also crashes. > > Program received signal SIGPIPE, Broken pipe. > [Switching to thread 1003084] > 0x00001ff81dfaf1aa in writev () at <stdin>:2 > 2 <stdin>: No such file or directory. > in <stdin> > Current language: auto; currently asm > (gdb) bt > #0 0x00001ff81dfaf1aa in writev () at <stdin>:2 > #1 0x00001ff7a7eec2ed in writev (fd=19, iov=0x1ff7789a7780, iovcnt=1) > at /usr/src/lib/librthread/rthread_cancel.c:621 > #2 0x00001ff75d837311 in apr_socket_sendv () from > /usr/local/lib/libapr-1.so.5.0 > #3 0x00001ff53a44f3b8 in writev_nonblocking () from /usr/local/sbin/httpd2 > #4 0x00001ff53a44f6e3 in send_brigade_nonblocking () from > /usr/local/sbin/httpd2 > #5 0x00001ff53a44fbc9 in ap_core_output_filter () from /usr/local/sbin/httpd2 > #6 0x00001ff7e916011c in bio_filter_out_pass () from > /usr/local/lib/apache2/mod_ssl.so > #7 0x00001ff7e9161955 in bio_filter_out_ctrl () from > /usr/local/lib/apache2/mod_ssl.so > #8 0x00001ff7e9171d42 in modssl_smart_shutdown () from > /usr/local/lib/apache2/mod_ssl.so > #9 0x00001ff7e916059c in ssl_filter_io_shutdown () from > /usr/local/lib/apache2/mod_ssl.so > #10 0x00001ff7e9161dcf in ssl_io_filter_output () from > /usr/local/lib/apache2/mod_ssl.so > #11 0x00001ff7e9162498 in ssl_io_filter_coalesce () from > /usr/local/lib/apache2/mod_ssl.so > #12 0x00001ff53a45f72a in ap_shutdown_conn () from /usr/local/sbin/httpd2 > #13 0x00001ff53a45f798 in ap_start_lingering_close () from > /usr/local/sbin/httpd2 > #14 0x00001ff8185d03a4 in worker_thread () from > /usr/local/lib/apache2/mod_mpm_event.so > #15 0x00001ff7a7ee977e in _rthread_start (v=Variable "v" is not available. > ) at /usr/src/lib/librthread/rthread.c:145 > #16 0x00001ff81df9952b in __tfork_thread () at > /usr/src/lib/libc/arch/amd64/sys/tfork_thread.S:75 > #17 0x0000000000000000 in ?? () > > I dont know if this is expected on OpenBSD or already known, if it is, > please ignore this message. > > This is making debugging Apache to figure out why http2 isnt working > impossible. > > Regards. >
