Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 23 May 2017 22:25:30 +0200
From:      Andreas Longwitz <longwitz@incore.de>
To:        Domagoj Stolfa <domagoj.stolfa@gmail.com>,  freebsd-dtrace@freebsd.org
Subject:   Re: fbt:kernel:breadn_flags:entry): invalid address (0x0) in action #7
Message-ID:  <59249ABA.4020404@incore.de>
In-Reply-To: <20170522120326.GA45031@vulture.cbsd.home>
References:  <591E01F5.8080208@incore.de> <6A020677-BC76-41E1-8372-10B7962F4EDE@apple.com> <20170518204534.GA37126@wraith> <20170518235207.GB37643@wkstn-mjohnston.west.isilon.com> <5921F56F.7090509@incore.de> <20170521210051.GA43039@vulture.cbsd.home> <5922CEFC.8020306@incore.de> <20170522120326.GA45031@vulture.cbsd.home>

next in thread | previous in thread | raw e-mail | index | archive | help
>
> 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!



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?59249ABA.4020404>