Hi Adam,

I've searched for issue number 6762246 but I can't see it.
Anyway, if you would need anything else like bugfix verification
or something, let me know.

Remek

On Wed, Oct 22, 2008 at 5:00 AM, Adam Leventhal <[EMAIL PROTECTED]> wrote:
> Hey Remek,
>
> Thanks for working me offline to gather the data I needed to understand
> this issue. You're hitting a rather interesting issue in that this function
> (log_vwrite) contains both a jump table (something that puts the pid
> provider's return site detection code into a very conservative mode) and
> tail-calls (relatively rare in 32-bit x86. In particular, check out this
> sequence:
>
>  _Z10log_vwriteiPKcPc+0xb2:      popl   %ebx
>  _Z10log_vwriteiPKcPc+0xb3:      popl   %esi
>  _Z10log_vwriteiPKcPc+0xb4:      popl   %edi
>  _Z10log_vwriteiPKcPc+0xb5:      leave
>  _Z10log_vwriteiPKcPc+0xb6:      jmp    -0xef06  <fatal>
>
> Normally, we'd detect this as a return site, but the presence of the jump
> table elswhere in the function has put us into a case where we don't detect
> that specific instruction sequence. We should add that code sequence to our
> short list.
>
> I've filed the following bug for you:
>
>  6762246 when jump tables fight tail-calls no one wins
>
> Adam
>
>
> On Mon, Oct 20, 2008 at 05:33:03PM +0200, P. Remek wrote:
>> Hi,
>>
>> I am using pid provider and I have noticed that return probe is not fired 
>> when
>> leaving function with variable number of arguments using va_start and 
>> va_stop.
>> Having such code:
>>
>> log() {
>>       va_start(ap, fmt);
>>       log_vwrite(l, fmt, ap);
>>       va_end(ap);
>> }
>>
>> I get such output from dtrace:
>>
>> -> log
>>   -> log_vwrite
>>   <- log
>>
>>
>> Is this a dtrace problem or is there some general problem why it can't work
>> when using variable argument lists?
>>
>> Thanks,
>> Remek
>> _______________________________________________
>> dtrace-discuss mailing list
>> [email protected]
>
> --
> Adam Leventhal, Fishworks                     http://blogs.sun.com/ahl
>
_______________________________________________
dtrace-discuss mailing list
[email protected]

Reply via email to