On Mon, Jul 12, 2021 at 10:13 AM Stefan Eissing <[email protected]> wrote: > > Is this the "worker->cp" being NULL?
Is there a discussion about this already Stefan? It's indeed worker->cp == NULL, I can reproduce on 2.4.x + apr-trunk with: $ while t/TEST t/modules/proxy_balancer.t; do :; done ... (gdb) bt #0 0x00007f4eaa06716c in ap_proxy_acquire_connection (proxy_function=0x7f4eaa03e015 "http", conn=0x7f4e31ffaa90, worker=0x55ee904554a0, s=0x55ee90649260) at proxy_util.c:2417 #1 0x00007f4eaa03d28d in proxy_http_handler (r=0x7f4e14002c10, worker=0x55ee904554a0, conf=0x55ee90421aa0, url=0x7f4e14007538 "http://localhost:8529/", proxyname=0x0, proxyport=0) at mod_proxy_http.c:1878 #2 0x00007f4eaa0606fc in proxy_run_scheme_handler (r=0x7f4e14002c10, worker=0x55ee904554a0, conf=0x55ee90421aa0, url=0x7f4e14007538 "http://localhost:8529/", proxyhost=0x0, proxyport=0) at mod_proxy.c:3183 #3 0x00007f4eaa05a65b in proxy_handler (r=0x7f4e14002c10) at mod_proxy.c:1262 #4 0x000055ee8f18a2e5 in ap_run_handler (r=0x7f4e14002c10) at config.c:169 #5 0x000055ee8f18ae1f in ap_invoke_handler (r=0x7f4e14002c10) at config.c:443 #6 0x000055ee8f1a8bea in ap_process_async_request (r=0x7f4e14002c10) at http_request.c:452 #7 0x000055ee8f1a4bf8 in ap_process_http_async_connection (c=0x7f4e10000f98) at http_core.c:155 #8 0x000055ee8f1a4df5 in ap_process_http_connection (c=0x7f4e10000f98) at http_core.c:246 #9 0x000055ee8f19865a in ap_run_process_connection (c=0x7f4e10000f98) at connection.c:42 #10 0x00007f4eaa6f5dde in process_socket (thd=0x7f4e84020eb8, p=0x7f4e10000c68, sock=0x7f4e10000cf0, cs=0x7f4e10000ef0, my_child_num=0, my_thread_num=22) at event.c:1038 #11 0x00007f4eaa6f7f93 in worker_thread (thd=0x7f4e84020eb8, dummy=0x7f4e84031cf0) at event.c:2070 #12 0x00007f4eaa770662 in dummy_worker (opaque=0x7f4e84020eb8) at threadproc/unix/thread.c:148 #13 0x00007f4eaa6cdea7 in start_thread (arg=<optimized out>) at pthread_create.c:477 #14 0x00007f4eaa5fddef in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 (gdb) l 2412 proxy_function, worker->s->hostname_ex); 2413 return HTTP_SERVICE_UNAVAILABLE; 2414 } 2415 } 2416 2417 if (worker->s->hmax && worker->cp->res) { 2418 rv = apr_reslist_acquire(worker->cp->res, (void **)conn); 2419 } 2420 else { 2421 /* create the new connection if the previous was destroyed */ (gdb) p *worker $5 = {hash = {def = 917659709, fnv = 2489242135}, local_status = 1970041715, cp = 0x0, s = 0x7f4ea99dd020, balancer = 0x55ee90422128, tmutex = 0x0, context = 0x0, section_config = 0x55ee90455490}
