[Bug 276828] ctfmerge excessive recursion / segfault

From: <bugzilla-noreply_at_freebsd.org>
Date: Mon, 05 Feb 2024 02:51:50 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=276828

            Bug ID: 276828
           Summary: ctfmerge excessive recursion / segfault
           Product: Base System
           Version: CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: misc
          Assignee: bugs@FreeBSD.org
          Reporter: emaste@freebsd.org

While attempting to build drm-kmod from the 6.6 WIP branch ctfmerge segfaulted
> pid 76087 (ctfmerge), jid 0, uid 1001: exited on signal 11 (core dumped)

end of backtrace looks like:
    frame #34341: 0x00003f63b00e48d5
ctfmerge.full`equiv_node(ctdp=0x00004f7182f7e900, mtdp=0x00004f717be76000,
ed=0x00003f6bd4253740) at merge.c:384:11
    frame #34342: 0x00003f63b00e3c17 ctfmerge.full`equiv_su(stdp=<unavailable>,
ttdp=<unavailable>, ed=0x00003f6bd4253740) at merge.c:291:8
    frame #34343: 0x00003f63b00e48d5
ctfmerge.full`equiv_node(ctdp=0x00004f7182f71780, mtdp=0x00004f717747c100,
ed=0x00003f6bd4253740) at merge.c:384:11
    frame #34344: 0x00003f63b00e3c17 ctfmerge.full`equiv_su(stdp=<unavailable>,
ttdp=<unavailable>, ed=0x00003f6bd4253740) at merge.c:291:8
    frame #34345: 0x00003f63b00e48d5
ctfmerge.full`equiv_node(ctdp=0x00004f7178f52e00, mtdp=0x00004f7177278600,
ed=0x00003f6bd4253740) at merge.c:384:11
    frame #34346: 0x00003f63b00e48d5
ctfmerge.full`equiv_node(ctdp=0x00004f717a4bed40, mtdp=0x00004f717ef1d4c0,
ed=0x00003f6bd4253740) at merge.c:384:11
    frame #34347: 0x00003f63b00e3c17 ctfmerge.full`equiv_su(stdp=<unavailable>,
ttdp=<unavailable>, ed=0x00003f6bd4253740) at merge.c:291:8
    frame #34348: 0x00003f63b00e48d5
ctfmerge.full`equiv_node(ctdp=0x00004f717a512d00, mtdp=0x00004f7178f78b00,
ed=0x00003f6bd4253740) at merge.c:384:11
    frame #34349: 0x00003f63b00e48d5
ctfmerge.full`equiv_node(ctdp=0x00004f717a512d40, mtdp=0x00004f7178f78ac0,
ed=0x00003f6bd4253740) at merge.c:384:11
    frame #34350: 0x00003f63b00e3c17 ctfmerge.full`equiv_su(stdp=<unavailable>,
ttdp=<unavailable>, ed=0x00003f6bd4253740) at merge.c:291:8
    frame #34351: 0x00003f63b00e48d5
ctfmerge.full`equiv_node(ctdp=0x00004f7178fa7040, mtdp=0x00004f717741e680,
ed=0x00003f6bd4253740) at merge.c:384:11
    frame #34352: 0x00003f63b00e48d5
ctfmerge.full`equiv_node(ctdp=0x00004f717a48a100, mtdp=0x00004f717ef356c0,
ed=0x00003f6bd4253740) at merge.c:384:11
    frame #34353: 0x00003f63b00e3c17 ctfmerge.full`equiv_su(stdp=<unavailable>,
ttdp=<unavailable>, ed=0x00003f6bd4253740) at merge.c:291:8
    frame #34354: 0x00003f63b00e48d5
ctfmerge.full`equiv_node(ctdp=0x00004f7182f71e00, mtdp=0x00004f7178f78b00,
ed=0x00003f6bd4253740) at merge.c:384:11
    frame #34355: 0x00003f63b00e48d5
ctfmerge.full`equiv_node(ctdp=0x00004f7182f71dc0, mtdp=0x00004f7178f78ac0,
ed=0x00003f6bd4253740) at merge.c:384:11
    frame #34356: 0x00003f63b00e3c17 ctfmerge.full`equiv_su(stdp=<unavailable>,
ttdp=<unavailable>, ed=0x00003f6bd4253740) at merge.c:291:8
    frame #34357: 0x00003f63b00e48d5
ctfmerge.full`equiv_node(ctdp=0x00004f7172602800, mtdp=0x00004f7171bb7f40,
ed=0x00003f6bd4253740) at merge.c:384:11
    frame #34358: 0x00003f63b00e48d5
ctfmerge.full`equiv_node(ctdp=0x00004f717a4b2480, mtdp=0x00004f717ef04c80,
ed=0x00003f6bd4253740) at merge.c:384:11
    frame #34359: 0x00003f63b00e3a59
ctfmerge.full`equiv_function(stdp=<unavailable>, ttdp=<unavailable>,
ed=0x00003f6bd4253740) at merge.c:260:8
    frame #34360: 0x00003f63b00e48d5
ctfmerge.full`equiv_node(ctdp=0x00004f7172aea500, mtdp=0x00004f7177369500,
ed=0x00003f6bd4253740) at merge.c:384:11
    frame #34361: 0x00003f63b00e48d5
ctfmerge.full`equiv_node(ctdp=0x00004f717f2f3640, mtdp=0x00004f7171b7f080,
ed=0x00003f6bd4253740) at merge.c:384:11
    frame #34362: 0x00003f63b00e3c17 ctfmerge.full`equiv_su(stdp=<unavailable>,
ttdp=<unavailable>, ed=0x00003f6bd4253740) at merge.c:291:8
    frame #34363: 0x00003f63b00e48d5
ctfmerge.full`equiv_node(ctdp=0x00004f7172b02080, mtdp=0x00004f7179121980,
ed=0x00003f6bd4253740) at merge.c:384:11
    frame #34364: 0x00003f63b00e48d5
ctfmerge.full`equiv_node(ctdp=0x00004f7172b02040, mtdp=0x00004f7179121940,
ed=0x00003f6bd4253740) at merge.c:384:11
    frame #34365: 0x00003f63b00e48d5
ctfmerge.full`equiv_node(ctdp=0x00004f717f2f3200, mtdp=0x00004f7171b7dc40,
ed=0x00003f6bd4253740) at merge.c:384:11
    frame #34366: 0x00003f63b00e3c17 ctfmerge.full`equiv_su(stdp=<unavailable>,
ttdp=<unavailable>, ed=0x00003f6bd4253740) at merge.c:291:8
    frame #34367: 0x00003f63b00e48d5
ctfmerge.full`equiv_node(ctdp=0x00004f7172afab00, mtdp=0x00004f7179102340,
ed=0x00003f6bd4253740) at merge.c:384:11
    frame #34368: 0x00003f63b00e48d5
ctfmerge.full`equiv_node(ctdp=0x00004f7172afaac0, mtdp=0x00004f7179102300,
ed=0x00003f6bd4253740) at merge.c:384:11
    frame #34369: 0x00003f63b00e3a59
ctfmerge.full`equiv_function(stdp=<unavailable>, ttdp=<unavailable>,
ed=0x00003f6bd4253740) at merge.c:260:8
    frame #34370: 0x00003f63b00e48d5
ctfmerge.full`equiv_node(ctdp=0x00004f7172b2b140, mtdp=0x00004f717bd4f8c0,
ed=0x00003f6bd4253740) at merge.c:384:11
    frame #34371: 0x00003f63b00e48d5
ctfmerge.full`equiv_node(ctdp=0x00004f717f2f3100, mtdp=0x00004f7171b7db40,
ed=0x00003f6bd4253740) at merge.c:384:11
    frame #34372: 0x00003f63b00e3c17 ctfmerge.full`equiv_su(stdp=<unavailable>,
ttdp=<unavailable>, ed=0x00003f6bd4253740) at merge.c:291:8
    frame #34373: 0x00003f63b00e48d5
ctfmerge.full`equiv_node(ctdp=0x00004f71778d1b80, mtdp=0x00004f717bf693c0,
ed=0x00003f6bd4253740) at merge.c:384:11
    frame #34374: 0x00003f63b00e48d5
ctfmerge.full`equiv_node(ctdp=0x00004f71778d1b40, mtdp=0x00004f717bf69380,
ed=0x00003f6bd4253740) at merge.c:384:11
    frame #34375: 0x00003f63b00e48d5
ctfmerge.full`equiv_node(ctdp=0x00004f717f2d7f80, mtdp=0x00004f7171b7d9c0,
ed=0x00003f6bd4253740) at merge.c:384:11
    frame #34376: 0x00003f63b00e3c17 ctfmerge.full`equiv_su(stdp=<unavailable>,
ttdp=<unavailable>, ed=0x00003f6bd4253740) at merge.c:291:8
    frame #34377: 0x00003f63b00e48d5
ctfmerge.full`equiv_node(ctdp=0x00004f7172af4a00, mtdp=0x00004f7178f78b00,
ed=0x00003f6bd4253740) at merge.c:384:11
    frame #34378: 0x00003f63b00e48d5
ctfmerge.full`equiv_node(ctdp=0x00004f7172af49c0, mtdp=0x00004f7178f78ac0,
ed=0x00003f6bd4253740) at merge.c:384:11
    frame #34379: 0x00003f63b00e3c17 ctfmerge.full`equiv_su(stdp=<unavailable>,
ttdp=<unavailable>, ed=0x00003f6bd4253740) at merge.c:291:8
    frame #34380: 0x00003f63b00e48d5
ctfmerge.full`equiv_node(ctdp=0x00004f7172aec7c0, mtdp=0x00004f717741e680,
ed=0x00003f6bd4253740) at merge.c:384:11
    frame #34381: 0x00003f63b00e48d5
ctfmerge.full`equiv_node(ctdp=0x00004f7172aec780, mtdp=0x00004f717ef356c0,
ed=0x00003f6bd4253740) at merge.c:384:11
    frame #34382: 0x00003f63b00e3c17 ctfmerge.full`equiv_su(stdp=<unavailable>,
ttdp=<unavailable>, ed=0x00003f6bd4253740) at merge.c:291:8
    frame #34383: 0x00003f63b00e48d5
ctfmerge.full`equiv_node(ctdp=0x00004f7172af4900, mtdp=0x00004f7178f78800,
ed=0x00003f6bd4253740) at merge.c:384:11
    frame #34384: 0x00003f63b00e48d5
ctfmerge.full`equiv_node(ctdp=0x00004f7172af48c0, mtdp=0x00004f7178f787c0,
ed=0x00003f6bd4253740) at merge.c:384:11
    frame #34385: 0x00003f63b00e3a59
ctfmerge.full`equiv_function(stdp=<unavailable>, ttdp=<unavailable>,
ed=0x00003f6bd4253740) at merge.c:260:8
    frame #34386: 0x00003f63b00e48d5
ctfmerge.full`equiv_node(ctdp=0x00004f7172b0af80, mtdp=0x00004f717bcd0bc0,
ed=0x00003f6bd4253740) at merge.c:384:11
    frame #34387: 0x00003f63b00e48d5
ctfmerge.full`equiv_node(ctdp=0x00004f7179367900, mtdp=0x00004f717bde7f00,
ed=0x00003f6bd4253740) at merge.c:384:11
    frame #34388: 0x00003f63b00e4709
ctfmerge.full`equiv_cb(bucket=0x00004f717bde7f00, arg=0x00003f6bd4253740) at
merge.c:411:6
    frame #34389: 0x00003f63b00e3044
ctfmerge.full`list_iter(list=<unavailable>,
func=(ctfmerge.full`hash_find_list_cb at hash.c:154),
private=0x00003f6bd42536d8) at list.c:127:15
    frame #34390: 0x00003f63b00e1c9a
ctfmerge.full`hash_find_iter(hash=0x00004f717595cf20, key=0x00004f7179367900,
fun=(ctfmerge.full`equiv_cb at merge.c:403), private=0x00003f6bd4253740) at
hash.c:180:10
    frame #34391: 0x00003f63b00e49ab
ctfmerge.full`map_td_tree_post(ctdp=0x00004f7179367900, ctdpp=<unavailable>,
private=0x00003f6bd4253ec0) at merge.c:449:6
    frame #34392: 0x00003f63b00e6fed
ctfmerge.full`tdtraverse(this=0x00004f7179367900, thisp=0x00004f7182b8d130,
tdtd=0x00003f6bd4253d88) at traverse.c:180:13
    frame #34393: 0x00003f63b00e7310
ctfmerge.full`tdtrav_su(this=<unavailable>, tdtd=0x00003f6bd4253d88) at
traverse.c:98:13
    frame #34394: 0x00003f63b00e6fc9
ctfmerge.full`tdtraverse(this=0x00004f7172af0cc0, thisp=0x00004f7172af0ca8,
tdtd=0x00003f6bd4253d88) at traverse.c:176:13
    frame #34395: 0x00003f63b00e6fc9
ctfmerge.full`tdtraverse(this=0x00004f7172af0c80, thisp=0x00004f71793677e8,
tdtd=0x00003f6bd4253d88) at traverse.c:176:13
    frame #34396: 0x00003f63b00e6fc9
ctfmerge.full`tdtraverse(this=0x00004f71793677c0, thisp=0x00004f7182b4c630,
tdtd=0x00003f6bd4253d88) at traverse.c:176:13
    frame #34397: 0x00003f63b00e7310
ctfmerge.full`tdtrav_su(this=<unavailable>, tdtd=0x00003f6bd4253d88) at
traverse.c:98:13
    frame #34398: 0x00003f63b00e6fc9
ctfmerge.full`tdtraverse(this=0x00004f7172aef880, thisp=0x00004f7182c76570,
tdtd=0x00003f6bd4253d88) at traverse.c:176:13
    frame #34399: 0x00003f63b00e7310
ctfmerge.full`tdtrav_su(this=<unavailable>, tdtd=0x00003f6bd4253d88) at
traverse.c:98:13
    frame #34400: 0x00003f63b00e6fc9
ctfmerge.full`tdtraverse(this=0x00004f7172af4900, thisp=0x00004f7172af48e8,
tdtd=0x00003f6bd4253d88) at traverse.c:176:13
    frame #34401: 0x00003f63b00e6fc9
ctfmerge.full`tdtraverse(this=0x00004f7172af48c0, thisp=0x00004f717f3fc850,
tdtd=0x00003f6bd4253d88) at traverse.c:176:13
    frame #34402: 0x00003f63b00e7310
ctfmerge.full`tdtrav_su(this=<unavailable>, tdtd=0x00003f6bd4253d88) at
traverse.c:98:13
    frame #34403: 0x00003f63b00e6fc9
ctfmerge.full`tdtraverse(this=0x00004f7172aef540, thisp=0x00004f7172aef528,
tdtd=0x00003f6bd4253d88) at traverse.c:176:13
    frame #34404: 0x00003f63b00e6fc9
ctfmerge.full`tdtraverse(this=0x00004f7172aef500, thisp=0x00004f7179303f48,
tdtd=0x00003f6bd4253d88) at traverse.c:176:13
    frame #34405: 0x00003f63b00e72b3
ctfmerge.full`tdtrav_func(this=<unavailable>, tdtd=0x00003f6bd4253d88) at
traverse.c:70:13
    frame #34406: 0x00003f63b00e6fc9
ctfmerge.full`tdtraverse(this=0x00004f7172aba800, thisp=0x00004f7177905768,
tdtd=0x00003f6bd4253d88) at traverse.c:176:13
    frame #34407: 0x00003f63b00e6fc9
ctfmerge.full`tdtraverse(this=0x00004f7177905740, thisp=0x00004f717f2f1db0,
tdtd=0x00003f6bd4253d88) at traverse.c:176:13
    frame #34408: 0x00003f63b00e7310
ctfmerge.full`tdtrav_su(this=<unavailable>, tdtd=0x00003f6bd4253d88) at
traverse.c:98:13
    frame #34409: 0x00003f63b00e6fc9
ctfmerge.full`tdtraverse(this=0x00004f7172aeacc0, thisp=0x00004f7172aeaca8,
tdtd=0x00003f6bd4253d88) at traverse.c:176:13
    frame #34410: 0x00003f63b00e6fc9
ctfmerge.full`tdtraverse(this=0x00004f7172aeac80, thisp=0x00004f7172ab32a0,
tdtd=0x00003f6bd4253d88) at traverse.c:176:13
    frame #34411: 0x00003f63b00e7280
ctfmerge.full`tdtrav_func(this=<unavailable>, tdtd=0x00003f6bd4253d88) at
traverse.c:66:12
    frame #34412: 0x00003f63b00e6fc9
ctfmerge.full`tdtraverse(this=0x00004f717f2f5280, thisp=0x00004f7177905728,
tdtd=0x00003f6bd4253d88) at traverse.c:176:13
    frame #34413: 0x00003f63b00e6fc9
ctfmerge.full`tdtraverse(this=0x00004f7177905700, thisp=0x00004f717dfaecb0,
tdtd=0x00003f6bd4253d88) at traverse.c:176:13
    frame #34414: 0x00003f63b00e7310
ctfmerge.full`tdtrav_su(this=<unavailable>, tdtd=0x00003f6bd4253d88) at
traverse.c:98:13
    frame #34415: 0x00003f63b00e6fc9
ctfmerge.full`tdtraverse(this=0x00004f7182d13bc0, thisp=0x00004f7182d13ba8,
tdtd=0x00003f6bd4253d88) at traverse.c:176:13
    frame #34416: 0x00003f63b00e6fc9
ctfmerge.full`tdtraverse(this=0x00004f7182d13b80, thisp=0x00004f7182c75930,
tdtd=0x00003f6bd4253d88) at traverse.c:176:13
    frame #34417: 0x00003f63b00e7310
ctfmerge.full`tdtrav_su(this=<unavailable>, tdtd=0x00003f6bd4253d88) at
traverse.c:98:13
    frame #34418: 0x00003f63b00e6fc9
ctfmerge.full`tdtraverse(this=0x00004f7172af4880, thisp=0x00004f7172af4868,
tdtd=0x00003f6bd4253d88) at traverse.c:176:13
    frame #34419: 0x00003f63b00e6fc9
ctfmerge.full`tdtraverse(this=0x00004f7172af4840, thisp=0x00004f717f2d66a0,
tdtd=0x00003f6bd4253d88) at traverse.c:176:13
    frame #34420: 0x00003f63b00e72b3
ctfmerge.full`tdtrav_func(this=<unavailable>, tdtd=0x00003f6bd4253d88) at
traverse.c:70:13
    frame #34421: 0x00003f63b00e6fc9
ctfmerge.full`tdtraverse(this=0x00004f7172aba7c0, thisp=0x00004f71779056e8,
tdtd=0x00003f6bd4253d88) at traverse.c:176:13
    frame #34422: 0x00003f63b00e6fc9
ctfmerge.full`tdtraverse(this=0x00004f71779056c0, thisp=0x00004f717a415490,
tdtd=0x00003f6bd4253d88) at traverse.c:176:13
    frame #34423: 0x00003f63b00e7310
ctfmerge.full`tdtrav_su(this=<unavailable>, tdtd=0x00003f6bd4253d88) at
traverse.c:98:13
    frame #34424: 0x00003f63b00e6fc9
ctfmerge.full`tdtraverse(this=0x00004f7182c6f880, thisp=0x00004f7182c6f868,
tdtd=0x00003f6bd4253d88) at traverse.c:176:13
    frame #34425: 0x00003f63b00e6fc9
ctfmerge.full`tdtraverse(this=0x00004f7182c6f840, thisp=0x00004f717a161a90,
tdtd=0x00003f6bd4253d88) at traverse.c:176:13
    frame #34426: 0x00003f63b00e7100 ctfmerge.full`iitraverse [inlined]
iitraverse_td(arg1=0x00004f717a161a80, arg2=0x00003f6bd4253d88) at
traverse.c:194:12
    frame #34427: 0x00003f63b00e70ef
ctfmerge.full`iitraverse(ii=0x00004f717a161a80, vgenp=<unavailable>,
firstops=<unavailable>, preops=<unavailable>, postops=<unavailable>,
private=<unavailable>) at traverse.c:214:10
    frame #34428: 0x00003f63b00e3f82
ctfmerge.full`merge_type_cb(data=<unavailable>, arg=0x00003f6bd4253ec0) at
merge.c:656:9
    frame #34429: 0x00003f63b00e3044
ctfmerge.full`list_iter(list=<unavailable>, func=(ctfmerge.full`merge_type_cb
at merge.c:647), private=0x00003f6bd4253ec0) at list.c:127:15
    frame #34430: 0x00003f63b00e1b23
ctfmerge.full`hash_iter(hash=0x00004f717a63f7c0,
fun=(ctfmerge.full`merge_type_cb at merge.c:647), private=0x00003f6bd4253ec0)
at hash.c:223:16
    frame #34431: 0x00003f63b00e3564 ctfmerge.full`merge_into_master [inlined]
merge_types(src=0x00004f717a63f7c0, mcd=0x00003f6bd4253ec0) at merge.c:1044:9
    frame #34432: 0x00003f63b00e350f
ctfmerge.full`merge_into_master(cur=0x00004f717387bf60,
mstr=0x00004f71721b6ec0, tgt=0x0000000000000000, selfuniquify=<unavailable>) at
merge.c:1101:2
    frame #34433: 0x00003f63b00e168f ctfmerge.full`worker_thread [inlined]
worker_runphase2(wq=0x00003f63b00eb0b0) at ctfmerge.c:489:3
    frame #34434: 0x00003f63b00e151c
ctfmerge.full`worker_thread(wq=0x00003f63b00eb0b0) at ctfmerge.c:542:2
    frame #34435: 0x00003f6bd1a73aeb
libthr.so.3`thread_start(curthread=0x00004f7170c12e00) at thr_create.c:292:16

-- 
You are receiving this mail because:
You are the assignee for the bug.