Bpftrace warning when use sarg

WARNING: Using an address offset with the sargX built-in canlead to unexpected behavior

uprobe:/home/yunxing.cyx/ob2.obs0/bin/observer:0x7849f90 { 
    if (@call_3[tid] == 1) {
       @call_3[tid] = 0;
	   printf(" trans_service.start_trans : %d -> %s \n", tid, ustack(3));
       $trans_desc = sarg1;
       $a = ($trans_desc + xxx);
       printf(" trans_service : %d -> snapshot_version=%ld -> %s \n", tid, (*$a), ustack(3));
    }
}

Right, it’s warning you b/c you’re attaching a uprobe to an absolute address (0x7849f90) and reading an argument from the stack. If the absolute address isn’t at the start of the function, the contents of the stack could be anything.

It’s just a warning. If you know what you’re doing, you can ignore it.