Hey Remek, It may take a little while to show up on bugs.opensolaris.org, but the bug has been filed, and I'll try to get a fix in place in a month or two.
Adam On Wed, Oct 22, 2008 at 02:26:02PM +0200, P. Remek wrote: > 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 > >> dtrace-discuss@opensolaris.org > > > > -- > > Adam Leventhal, Fishworks http://blogs.sun.com/ahl > > -- Adam Leventhal, Fishworks http://blogs.sun.com/ahl _______________________________________________ dtrace-discuss mailing list dtrace-discuss@opensolaris.org