https://bz.apache.org/bugzilla/show_bug.cgi?id=64452

--- Comment #27 from Yann Ylavic <ylavic....@gmail.com> ---
Thanks Michael, unfortunately there are multiple threads being scheduled in
your gdb trace, like here:
>504                     apr_bucket_read(e, &data, &bytes_read, APR_BLOCK_READ);
>(gdb) next
>[Switching to Thread 0x7fffb2794700 (LWP 125295)]
>
>Breakpoint 3, file_cleanup (file=0x7fffe81112b8, is_child=0) at 
>file_io/unix/open.c:31
So the rest does not correspond.


If you are using the gdb procedure from attachment 37252, at this point where
the spool_reqbody_cl breakpoint is hit:
>Thread 5 "httpd" hit Breakpoint 1, spool_reqbody_cl (req=0x7fffe00044d0, 
>bytes_spooled=0x7ffff59d9910) at mod_proxy_http.c:432
>432        apr_pool_t *p = req->p;

instead of:
>(gdb) break apr_file_mktemp
>Breakpoint 2 at 0x7ffff7ea1a7f: file file_io/unix/mktemp.c, line 182.
>(gdb) break file_cleanup
>Breakpoint 3 at 0x7ffff7ea1b8a: file file_io/unix/open.c, line 31.

please do this:
(gdb) delete 1 # no need for spool_reqbody_cl breakpoint anymore
(gdb) set scheduler-locking on
(gdb) break apr_file_mktemp thread 5
Breakpoint 2 at ...
(gdb) break file_cleanup thread 5
Breakpoint 3 ...

Note that "thread 5" here corresponds to "Thread 5" hit above at
spool_reqbody_cl, it may be a different number in your case.
Now apr_file_mktemp and file_cleanup breakpoints will be hit only for this
thread, no more "[Switching to Thread]".

Then you can:
(gdb) continue

Once you hit the apr_file_mktemp breakpoint (for "/tmp/modproxy.tmp.XXXXXX")
you don't need to "step" in since the previous trace shows it already, you can
simply "continue", but if the file_cleanup breakpoint is not hit (like it
happens for Bernhard) it could be interesting to restart the procedure and do
"next" from here until the end of the request (note that it can be a lot of
"next", but the last command in gdb can be repeated by simply hitting enter, so
you don't need to type "next" more than once, then just enter..).


Thanks!

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscr...@httpd.apache.org
For additional commands, e-mail: bugs-h...@httpd.apache.org

Reply via email to