[dtrace-discuss] invalid address (0x0) in action #2 at DIF offset 52

Gonzalo Siero Gonzalo.Siero at Sun.COM
Fri Jan 19 05:01:45 PST 2007


Madhusudhan,

	you are using arg3 in "return" probe. If the function has a return 
value, it is stored in argument one. If a function does not
have a return value, argument one is not defined;

what's arg3?? if it's fourth input argument of SGetMsg:entry you must 
save it in a thread local var to print it afterwards. In return probe 
you can't be sure it contains that info.

Cheers,
Gonzalo.


Madhusudhan Reddy wrote:
> Hi,
>   Iam facing this strange problem when i execute the following dtrace script on on particular thread(tid ==1) where as it works perfectly with another thread(tid == 4).Can someone help me with this problem?
> pid$1::SGetMsg:return
> /tid == 1 && self->trace == 1/
> {
>         printf("SGetMsg Ptr=0x%p\n", arg3);
>         printf("Sget Reurn val %x Thread id %d 3 \n",*(int*)copyin(arg3,4),tid);
> }
> 
> The argument which iam trying to print is pointer to a pointer.
>  
>  
> This message posted from opensolaris.org
> _______________________________________________
> dtrace-discuss mailing list
> dtrace-discuss at opensolaris.org



More information about the dtrace-discuss mailing list