[PATCHv4] print stack trace after each syscall

Masatake YAMATO yamato at redhat.com
Wed Sep 18 09:47:39 UTC 2013


On Tue, 17 Sep 2013 23:47:03 -0700, Luca Clementi <luca.clementi at gmail.com> wrote:
> On Tue, Sep 17, 2013 at 5:12 AM, Masatake YAMATO <yamato at redhat.com> wrote:
>>> In the patch `delete_mmap_cache' is used as a trigger for updating
>>> proc/maps info cache.  It is called as expected when mmap and friends
>>> are traced.  However, if the tracing is disabled with -e option, strae
>>> misses the chance to updating the info cache.
>>
>> Could you review this patch for the bug I reported and merge if appreciated.
>>
>> `REQUIRED_BY_STACKTRACE' is introduced to trigger the `delete_mmap_cache'.
>>
> 
> It works for me.
> 
> Acked-by: Luca Clementi <luca.clementi at gmail.com>
> 
> Thanks for the fix,
> Luca

Thank you for testing and reviewing.
I'll revise the patch for merging.

For revising I have a question about the original patch:

    int
    sys_waitid(struct tcb *tcp)
    {
	    if (entering(tcp)) {
		    printxval(waitid_types, tcp->u_arg[0], "P_???");
		    tprintf(", %ld, ", tcp->u_arg[1]);
	    }
	    else {
    #ifdef USE_LIBUNWIND
		    if (stack_trace_enabled)
			    delete_mmap_cache(tcp);
    #endif

Why delete_mmap_cache invocation is needed after wait related system calls?

Regards,
Masatake YAMATO




More information about the Strace-devel mailing list