error_get_my_stack: 9d e3 bf a0 save %sp, -0x60, %sp
error_get_my_stack+0x4: 40 00 00 02 call +0x8
<error_get_my_stack+0xc>
error_get_my_stack+0x8: 9e 10 00 0f mov %o7, %o7
error_get_my_stack+0xc: 39 00 02 95 sethi %hi(0xa5400), %i4
error_get_my_stack+0x10: 35 00 00 08 sethi %hi(0x2000), %i2
error_get_my_stack+0x14: b8 07 21 b0 add %i4, 0x1b0, %i4
error_get_my_stack+0x18: b0 1e a2 ac xor %i2, 0x2ac, %i0
error_get_my_stack+0x1c: 90 07 00 0f add %i4, %o7, %o0
error_get_my_stack+0x20: b8 02 00 18 add %o0, %i0, %i4
error_get_my_stack+0x24: ee 07 20 00 ld [%i4], %l7
error_get_my_stack+0x28: 80 a5 ff ff cmp %l7, -0x1
pid$target:libnss3:error_get_my_stack:4
{
printf("i4 at4 %x\n", uregs[R_I4]);
printf("i3 at4is %x\n", uregs[R_I3]);
printf("i1 at4is %x\n", uregs[R_I1]);
printf("i0 at4is %x\n", uregs[R_I0]);
printf("o7 at4is %x\n", uregs[R_O7]);
}
pid$target:libnss3:error_get_my_stack:8
{
printf("i4 at8 %x\n", uregs[R_I4]);
printf("i3 at8is %x\n", uregs[R_I3]);
printf("i1 at8is %x\n", uregs[R_I1]);
printf("i0 at8is %x\n", uregs[R_I0]);
printf("o7 at8is %x\n", uregs[R_O7]);
}
pid$target:libnss3:error_get_my_stack:c
{
printf("i4 atc %x\n", uregs[R_I4]);
printf("i3 atcis %x\n", uregs[R_I3]);
printf("i1 atcis %x\n", uregs[R_I1]);
printf("i0 atcis %x\n", uregs[R_I0]);
printf("o7 atcis %x\n", uregs[R_O7]);
}
pid$target:libnss3:error_get_my_stack:10
{
printf("i4 at10 %x\n", uregs[R_I4]);
printf("i3 at10 %x\n", uregs[R_I3]);
printf("i1 at10 %x\n", uregs[R_I1]);
printf("i0 at10 %x\n", uregs[R_I0]);
printf("o7 at10 %x\n", uregs[R_O7]);
}
pid$target:libnss3:error_get_my_stack:14
{
printf("i4 at14 %x\n", uregs[R_I4]);
printf("i3 at14is %x\n", uregs[R_I3]);
printf("i1 at14is %x\n", uregs[R_I1]);
printf("i0 at14is %x\n", uregs[R_I0]);
printf("o7 at14is %x\n", uregs[R_O7]);
}
pid$target:libnss3:error_get_my_stack:18
{
printf("i4 at18 %x\n", uregs[R_I4]);
printf("i3 at18 %x\n", uregs[R_I3]);
printf("i1 at18 %x\n", uregs[R_I1]);
printf("i0 at18 %x\n", uregs[R_I0]);
printf("o7 at18 %x\n", uregs[R_O7]);
}
pid$target:libnss3:error_get_my_stack:1c
{
printf("i4 at1c %x\n", uregs[R_I4]);
printf("i3 at1c %x\n", uregs[R_I3]);
printf("i3 at18 %x\n", uregs[R_I3]);
printf("i1 at18 %x\n", uregs[R_I1]);
printf("i0 at18 %x\n", uregs[R_I0]);
printf("o7 at18 %x\n", uregs[R_O7]);
}
pid$target:libnss3:error_get_my_stack:1c
{
printf("i4 at1c %x\n", uregs[R_I4]);
printf("i3 at1c %x\n", uregs[R_I3]);
printf("i1 at1c %x\n", uregs[R_I1]);
printf("i0 at1c %x\n", uregs[R_I0]);
printf("o7 at1c %x\n", uregs[R_O7]);
}
pid$target:libnss3:error_get_my_stack:20
{
printf("i4 at20 %x\n", uregs[R_I4]);
printf("i3 at20 %x\n", uregs[R_I3]);
printf("i1 at20 %x\n", uregs[R_I1]);
printf("i0 at20 %x\n", uregs[R_I0]);
printf("o7 at20 %x\n", uregs[R_O7]);
}
pid$target:libnss3:error_get_my_stack:24
{
printf("i4 at24 %x\n", uregs[R_I4]);
printf("i3 at24is %x\n", uregs[R_I3]);
printf("i1 at24is %x\n", uregs[R_I1]);
printf("i0 at24is %x\n", uregs[R_I0]);
printf("o7 at24is %x\n", uregs[R_O7]);
}
pid$target:libnss3:error_get_my_stack:28
{
printf("i4 is %x\n", uregs[R_I4]);
printf("i3 is %x\n", uregs[R_I3]);
printf("i1 is %x\n", uregs[R_I1]);
printf("i0 is %x\n", uregs[R_I0]);
printf("o7 is %x\n", uregs[R_O7]);
}
o/p:
CPU FUNCTION
3 | error_get_my_stack:4 i4 at4 0
i3 at4is fea13818
i1 at4is 0
i0 at4is 0
o7 at4is ff040a2c
3 | error_get_my_stack:4 i4 at4 0
i3 at4is fea13818
i1 at4is 0
i0 at4is 0
o7 at4is ff040a2c
3 | error_get_my_stack:8 i4 at8 0
i3 at8is fea13818
i1 at8is 0
i0 at8is 0
o7 at8is fe9fc684
3 | error_get_my_stack:c i4 atc 0
i3 atcis fea13818
i1 atcis 0
i0 atcis 0
o7 atcis fe9fc684
3 | error_get_my_stack:10 i4 at10 15400
i3 at10 fea13818
i1 at10 0
i0 at10 0
o7 at10 fe9fc684
3 | error_get_my_stack:14 i4 at14 15400
i3 at14is 6400
i1 at14is 0
i0 at14is 0
o7 at14is fe9fc684
3 | error_get_my_stack:18 i4 at18 15788
i3 at18 6400
i1 at18 0
i0 at18 0
o7 at18 fe9fc684
3 | error_get_my_stack:1c i4 at1c 15788
i3 at1c 6400
i1 at1c 67c4
i0 at1c 0
o7 at1c fe9fc684
3 | error_get_my_stack:28 i4 is fea185d0
i3 is 6400
i1 is 67c4
i0 is 0
o7 is fe9fc684
did it miss
pid$target:libnss3:error_get_my_stack:20
{
printf("i4 at20 %x\n", uregs[R_I4]);
printf("i3 at20 %x\n", uregs[R_I3]);
printf("i1 at20 %x\n", uregs[R_I1]);
printf("i0 at20 %x\n", uregs[R_I0]);
printf("o7 at20 %x\n", uregs[R_O7]);
}
pid$target:libnss3:error_get_my_stack:24
{
printf("i4 at24 %x\n", uregs[R_I4]);
printf("i3 at24is %x\n", uregs[R_I3]);
printf("i1 at24is %x\n", uregs[R_I1]);
printf("i0 at24is %x\n", uregs[R_I0]);
printf("o7 at24is %x\n", uregs[R_O7]);
}
--
This message posted from opensolaris.org
I like to trace the original instruction also is it possible? -- This message posted from opensolaris.org
> I like to trace the original instruction also is it possible?This isn''t possible. It was filed a long time ago as a low priority RFE: 5106439 pidprovider instrumentation obscures original instruction Adam -- Adam Leventhal, Fishworks http://blogs.sun.com/ahl
That''s an oddity. Do you have a reproducible test case? Adam On Oct 10, 2009, at 12:47 PM, tester wrote:> error_get_my_stack: 9d e3 bf a0 save %sp, -0x60, %sp > error_get_my_stack+0x4: 40 00 00 02 call +0x8 > <error_get_my_stack+0xc> > error_get_my_stack+0x8: 9e 10 00 0f mov %o7, %o7 > error_get_my_stack+0xc: 39 00 02 95 sethi %hi(0xa5400), %i4 > error_get_my_stack+0x10: 35 00 00 08 sethi %hi(0x2000), %i2 > error_get_my_stack+0x14: b8 07 21 b0 add %i4, 0x1b0, %i4 > error_get_my_stack+0x18: b0 1e a2 ac xor %i2, 0x2ac, %i0 > error_get_my_stack+0x1c: 90 07 00 0f add %i4, %o7, %o0 > error_get_my_stack+0x20: b8 02 00 18 add %o0, %i0, %i4 > error_get_my_stack+0x24: ee 07 20 00 ld [%i4], %l7 > error_get_my_stack+0x28: 80 a5 ff ff cmp %l7, -0x1 > > > pid$target:libnss3:error_get_my_stack:4 > > { > printf("i4 at4 %x\n", uregs[R_I4]); > printf("i3 at4is %x\n", uregs[R_I3]); > printf("i1 at4is %x\n", uregs[R_I1]); > printf("i0 at4is %x\n", uregs[R_I0]); > printf("o7 at4is %x\n", uregs[R_O7]); > > } > > pid$target:libnss3:error_get_my_stack:8 > > { > printf("i4 at8 %x\n", uregs[R_I4]); > printf("i3 at8is %x\n", uregs[R_I3]); > printf("i1 at8is %x\n", uregs[R_I1]); > printf("i0 at8is %x\n", uregs[R_I0]); > printf("o7 at8is %x\n", uregs[R_O7]); > > } > > pid$target:libnss3:error_get_my_stack:c > > { > printf("i4 atc %x\n", uregs[R_I4]); > printf("i3 atcis %x\n", uregs[R_I3]); > printf("i1 atcis %x\n", uregs[R_I1]); > printf("i0 atcis %x\n", uregs[R_I0]); > printf("o7 atcis %x\n", uregs[R_O7]); > > } > > pid$target:libnss3:error_get_my_stack:10 > > { > printf("i4 at10 %x\n", uregs[R_I4]); > printf("i3 at10 %x\n", uregs[R_I3]); > printf("i1 at10 %x\n", uregs[R_I1]); > printf("i0 at10 %x\n", uregs[R_I0]); > printf("o7 at10 %x\n", uregs[R_O7]); > > } > pid$target:libnss3:error_get_my_stack:14 > > { > printf("i4 at14 %x\n", uregs[R_I4]); > printf("i3 at14is %x\n", uregs[R_I3]); > printf("i1 at14is %x\n", uregs[R_I1]); > printf("i0 at14is %x\n", uregs[R_I0]); > printf("o7 at14is %x\n", uregs[R_O7]); > > } > pid$target:libnss3:error_get_my_stack:18 > > { > printf("i4 at18 %x\n", uregs[R_I4]); > printf("i3 at18 %x\n", uregs[R_I3]); > printf("i1 at18 %x\n", uregs[R_I1]); > printf("i0 at18 %x\n", uregs[R_I0]); > printf("o7 at18 %x\n", uregs[R_O7]); > > } > pid$target:libnss3:error_get_my_stack:1c > > { > printf("i4 at1c %x\n", uregs[R_I4]); > printf("i3 at1c %x\n", uregs[R_I3]); > printf("i3 at18 %x\n", uregs[R_I3]); > printf("i1 at18 %x\n", uregs[R_I1]); > printf("i0 at18 %x\n", uregs[R_I0]); > printf("o7 at18 %x\n", uregs[R_O7]); > > } > pid$target:libnss3:error_get_my_stack:1c > > { > printf("i4 at1c %x\n", uregs[R_I4]); > printf("i3 at1c %x\n", uregs[R_I3]); > printf("i1 at1c %x\n", uregs[R_I1]); > printf("i0 at1c %x\n", uregs[R_I0]); > printf("o7 at1c %x\n", uregs[R_O7]); > > } > pid$target:libnss3:error_get_my_stack:20 > > { > printf("i4 at20 %x\n", uregs[R_I4]); > printf("i3 at20 %x\n", uregs[R_I3]); > printf("i1 at20 %x\n", uregs[R_I1]); > printf("i0 at20 %x\n", uregs[R_I0]); > printf("o7 at20 %x\n", uregs[R_O7]); > > } > pid$target:libnss3:error_get_my_stack:24 > > { > printf("i4 at24 %x\n", uregs[R_I4]); > printf("i3 at24is %x\n", uregs[R_I3]); > printf("i1 at24is %x\n", uregs[R_I1]); > printf("i0 at24is %x\n", uregs[R_I0]); > printf("o7 at24is %x\n", uregs[R_O7]); > > } > pid$target:libnss3:error_get_my_stack:28 > > { > printf("i4 is %x\n", uregs[R_I4]); > printf("i3 is %x\n", uregs[R_I3]); > printf("i1 is %x\n", uregs[R_I1]); > printf("i0 is %x\n", uregs[R_I0]); > printf("o7 is %x\n", uregs[R_O7]); > > } > > > o/p: > > CPU FUNCTION > 3 | error_get_my_stack:4 i4 at4 0 > i3 at4is fea13818 > i1 at4is 0 > i0 at4is 0 > o7 at4is ff040a2c > > 3 | error_get_my_stack:4 i4 at4 0 > i3 at4is fea13818 > i1 at4is 0 > i0 at4is 0 > o7 at4is ff040a2c > > 3 | error_get_my_stack:8 i4 at8 0 > i3 at8is fea13818 > i1 at8is 0 > i0 at8is 0 > o7 at8is fe9fc684 > > 3 | error_get_my_stack:c i4 atc 0 > i3 atcis fea13818 > i1 atcis 0 > i0 atcis 0 > o7 atcis fe9fc684 > > 3 | error_get_my_stack:10 i4 at10 15400 > i3 at10 fea13818 > i1 at10 0 > i0 at10 0 > o7 at10 fe9fc684 > > 3 | error_get_my_stack:14 i4 at14 15400 > i3 at14is 6400 > i1 at14is 0 > i0 at14is 0 > o7 at14is fe9fc684 > > 3 | error_get_my_stack:18 i4 at18 15788 > i3 at18 6400 > i1 at18 0 > i0 at18 0 > o7 at18 fe9fc684 > > 3 | error_get_my_stack:1c i4 at1c 15788 > i3 at1c 6400 > i1 at1c 67c4 > i0 at1c 0 > o7 at1c fe9fc684 > > 3 | error_get_my_stack:28 i4 is fea185d0 > i3 is 6400 > i1 is 67c4 > i0 is 0 > o7 is fe9fc684 > > > did it miss > > pid$target:libnss3:error_get_my_stack:20 > > { > printf("i4 at20 %x\n", uregs[R_I4]); > printf("i3 at20 %x\n", uregs[R_I3]); > printf("i1 at20 %x\n", uregs[R_I1]); > printf("i0 at20 %x\n", uregs[R_I0]); > printf("o7 at20 %x\n", uregs[R_O7]); > > } > pid$target:libnss3:error_get_my_stack:24 > > { > printf("i4 at24 %x\n", uregs[R_I4]); > printf("i3 at24is %x\n", uregs[R_I3]); > printf("i1 at24is %x\n", uregs[R_I1]); > printf("i0 at24is %x\n", uregs[R_I0]); > printf("o7 at24is %x\n", uregs[R_O7]); > > } > -- > This message posted from opensolaris.org > _______________________________________________ > dtrace-discuss mailing list > dtrace-discuss at opensolaris.org-- Adam Leventhal, Fishworks http://blogs.sun.com/ahl