[DTrace-devel] Dtrace on Linux Port

Nick Alcock nick.alcock at oracle.com
Tue Mar 6 03:47:14 PST 2018


On 5 Mar 2018, Paul Dagnelie told this:

> Hey Nick, I've attached the .config file so you can try to reproduce it.  I
> think it's unlikely that ZFS is related; I installed the zfs modules
> separately from source, they're not in the tree that dwarf2ctf is in.  I'll
> also add the debug flag to dwarf2ctf and rerun the build; once I have it
> compressed, if I have a convenient place to host it, I'll do that and let
> you know.

Thanks! Replicated.

This is a type table overflow. CTF has a limit of 2^15 types in parent
tables (for us, one: shared_ctf) and 2^15 in unshared tables. Until
yesterday I thought hitting this was a purely theoretical risk, but
yesterday I hit it in an allmodconfig build.

You've hit it too. I'm afraid the only workaround is to use a smaller
.config :/

The message it prints is a giveaway if you know what you're looking at:

../drivers/net/ethernet/qlogic/qed/qed_hsi.h:9245:iwarp: Internal error: Invalid type identifier shared_ctf:drivers/net/ethernet/qlogic/qed/qed.ko:0x2090ae0:32768 on member addition to ctf_file 0x2090ae0.

that 32768 there is the type ID. It's 2^15...

In a nice example of psychic development I'm working on a fix for this
already, in the shape of libdtrace-ctf changes that add a new file
format that bumps up the type ID sizes to 64 bits, which should be
enough for a while: I'll bump the priority up since I'm not the only
person it affects. I am always wary of saying when things will be ready
by, but I should have something for you soon unless something else gets
in my way at higher priority!

I'm sorry that something so fundamental has got in your way, but this
limitation *will* be lifted, and soon.



More information about the DTrace-devel mailing list