fbt:kernel:breadn_flags:entry): invalid address (0x0) in action #7

Andreas Longwitz longwitz at incore.de
Tue May 23 20:25:43 UTC 2017


>
> Could you please supply the full script please? It might give some clue as to
> where the problem is.
>

I have found my mistake: "action #7" means line 7 in the probe and has 
nothing to do with the parameters of the probed function. So I could 
handle this NULL-problem and now my probe fires correct. This is the 
(corrected) probe:

fbt::breadn_flags:entry
/self->bread && args[6] == 0/
{
    this->bread_vnode = args[0];
    this->bread_blkno = (unsigned long)args[1];
    this->bread_inode = (struct inode *)(this->bread_vnode->v_data);
    this->bread_inum = this->bread_inode->i_number;
    this->bread_gj = this->bread_vnode->v_mount->mnt_gjprovider != NULL ?
        stringof(this->bread_vnode->v_mount->mnt_gjprovider) : "<NULL>";
    printf("        gj=%s, inum=%u, blkno=%lu\n", this->bread_gj,
                    this->bread_inum, this->bread_blkno );
}

and now it fires like this:
1  31371        breadn_flags:entry       gj=<NULL>, inum=0, blkno=320

Thaks for help!


More information about the freebsd-dtrace mailing list