05:23:26 jeez... > 24 hours for opengrok to index illumos-gate, freebsd, and linux 07:37:40 jbk any data on how long took each? 16:53:33 [illumos-gate] 16258 telnet: parameter defaults to 'int' -- Toomas Soome 21:35:35 possibly dumb question, possibly asked at the wrong time: why don't we install ctfconvert and ctfmerge to /usr/bin ? 21:36:00 Mostly because I'm a bum. 21:37:18 (discovered yesterday that the python support in pstack requires python to be built with CTF to get argument counts, so I started opening that can of worms...) 22:07:23 pretty sure python is a can of snakes, not worms 22:21:39 fun: https://paste.ec/paste/EnAv6QjR#QTXYkO160jEbnqvZyULZuv8wY+KFALDgzO6+ze4R8qT 22:43:18 ah, next can of worms: oi python is built with feedback-directed optimization which splits code for function "foo" into "foo" and "foo.cold" (and the latter doesn't get ctf argument info...) 22:44:08 sommerfeld: Are you taking advantage of the ctfconvert at the end of the link? 22:44:44 uh, probably not? 22:44:53 Oh. 22:45:07 Let me say it differently, are you trying to use ctfmerge? 22:45:18 (I tweaked the python makefiles to insert ctfconvert / ctfmerge like the way we build illumos-gate) 22:45:33 Ah, so we added the ability to just do a single ctfconvert of the resulting binary. 22:45:39 In OmniOS we do a batch ctfconvert at the end, on DESTDIR 22:45:46 (don't know if that approach helps you) 22:45:47 You don't need to do the old merge path. 22:46:06 So mentioning that in case those symbols exist for some reason and have dwarf but aren't getting filled in. 22:46:51 had no idea that had any chance of working! 22:47:06 Oh, sorry. 22:47:12 I redid a bunch of this a while back. 22:47:23 The goal is you shouldn't need ctfmerge except for exceptions. 22:47:34 But I never went back and changed all the makefiles in gate. 22:48:52 so build with -g -gdwarf-2 -gstrict-dwarf -msave-args, then at the very end ctfconvert all the delivered executables and shared libraries? 22:49:24 Or -gdwarf-4 should work. 22:49:27 But yeah. 22:49:41 gate does gdwarf-2 still 22:49:42 However, if they don't have dwarf for the .cold variants not a ton I can do immediately. 22:49:45 I know. 22:49:52 Again, I'm a bum. 22:50:25 The tools and test suite generally work with gcc/clang and dwarf4. 22:50:38 But it shouldn't make much of a difference what you're doing at your end. 22:53:20 trying to get the pstack python support working again. multiple complications (not least of which is that they renamed some functions and juggled argument order within python that will require changes in both pstack and the python debug helper) 22:55:01 Yeah, I was following. 22:55:19 I just meant -gdwarf-2/dwarf-4 may or may not make a ton of difference is all. 23:00:45 okay, got something that looks like a python-annotated stack trace 23:01:55 (python 3.9, built without the .cold stuff, with a hacked up pstack and libpython3.9_db 23:02:15 but I think I can fix it "correctly" w/o too much effort. 23:04:30 https://gist.github.com/Bill-Sommerfeld/1e4f59ba66f7c974d10821bdcc5e296b 23:06:39 so (1) need CTF for python; (2) need a patch to libpython39_db.c to look for the correct libpython symbol, and (3) need pstack to pass argument 1 rather than argument 0 because that's where python puts its python frame now. 23:08:33 (3) is an interface change so I think I need to rename the helper function to signal which argument to pass.. 23:18:13 That's really nice! 23:58:26 I filed https://www.illumos.org/issues/16272 23:58:27 → BUG 16272: python support in pstack should work again (New)