mstdn.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
A general-purpose Mastodon server with a 500 character limit. All languages are welcome.

Administered by:

Server stats:

16K
active users

#dtrace

0 posts0 participants0 posts today
Claudius Link<p><span class="h-card" translate="no"><a href="https://mastodon.social/@mhoye" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>mhoye</span></a></span> <br><a href="https://infosec.exchange/tags/SystemTap" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SystemTap</span></a> or <a href="https://infosec.exchange/tags/DTrace" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>DTrace</span></a> might offer what you are looking for<br><a href="https://sourceware.org/systemtap/wiki" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">sourceware.org/systemtap/wiki</span><span class="invisible"></span></a><br><a href="https://www.brendangregg.com/dtrace.html" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="">brendangregg.com/dtrace.html</span><span class="invisible"></span></a></p>
Antranig Vartanian<p><strong>Enabling DTrace in Python on FreeBSD (again)</strong></p><p><a href="https://antranigv.am/posts/2025/02/dtrace-python-freebsd-again/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">antranigv.am/posts/2025/02/dtr</span><span class="invisible">ace-python-freebsd-again/</span></a></p><p>Last night I was running our usual Greybeard AMA on <a href="https://wiki.freebsd.org/Discord/DiscordServer" rel="nofollow noopener noreferrer" target="_blank">FreeBSD’s Discord server</a>, when someone asked “I’ve been using Linux for years, but I also like FreeBSD. what can I do for FreeBSD, and what can FreeBSD do for me, as a Python Full Stack Developer?”</p><p>I started talking about FreeBSD Jails, ZFS, Boot Environments and more, but I also wanted to focus on DTrace. The ability to dynamically trace on production still sounds like magic to me. I know it isn’t, I’ve read the code and the papers, but the fact that I can ask the operating system questions on the fly, without recompiling, is amazing.</p><p>So when I was demoing DTrace, I also wanted to show the DTrace integrations with Python. Little did I know that the Python package on FreeBSD was not compiled with the <code>--with-dtrace</code> option.</p><p>As a sane person, I setup a Jail (using <a href="https://jailer.dev/" rel="nofollow noopener noreferrer" target="_blank">Jailer</a>, of course), cloned the FreeBSD ports tree and added the <code>--with-dtrace</code> option back. It did not compile.</p><p>The first issue that we encountered was the following:</p><pre>--- Include/pydtrace_probes.h ---dtrace: option requires an argument -- s</pre><p>ah yes, looking over the Makefile we see the following</p><pre>Include/pydtrace_probes.h: $(srcdir)/Include/pydtrace.d $(MKDIR_P) Include $(DTRACE) $(DFLAGS) -o $@ -h -s $&lt; : sed in-place edit with POSIX-only tools sed 's/PYTHON_/PyDTrace_/' $@ &gt; $@.tmp mv $@.tmp $@</pre><p>(you can also view the source <a href="https://github.com/python/cpython/blob/v3.11.11/Makefile.pre.in#L1454C1-L1459C99" rel="nofollow noopener noreferrer" target="_blank">here</a>)</p><p>As far as I can tell, the <code>$&lt;</code> thingie does not work with BSD Make, so how about if we try using <code>gmake</code> instead?</p><p>I did the following changes to the <code>Makefile</code> in the FreeBSD Ports tree. Basically adding <code>gmake</code> into <code>USES=</code>.</p><pre> USES= compiler:c11 cpe ncurses pathfix pkgconfig \- python:${PYTHON_DISTVERSION:R},env readline shebangfix ssl tar:xz+ python:${PYTHON_DISTVERSION:R},env readline shebangfix ssl tar:xz gmake</pre><p>Now let’s try compiling again.</p><p>We get the following errors now:</p><pre>ld: error: undefined symbol: __dtraceenabled_python___function__entry</pre><p>Ah yes, linking issues.</p><p>After an hour of digging we learned that the <code>DTRACE_OBJS=</code> variable is set to… nothing. But it needs to be set to <code>Python/pydtrace.o</code>. I was not able to fix this issue properly (in <code>configure</code>, <code>configure.ac</code>, or whatever madness that GNU Autotools use), so I just changed the line manually in the <code>Makefile</code>.</p><p>Now let’s try compiling again.</p><p>We get the following error:</p><pre>./Python/sysmodule.c:223:24: warning: passing 'const char *' to parameter of type 'char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]</pre><p>Someone in the Discord chat recommended that I disable the LTO (Link-Time Optimization) option.</p><p>I did <code>make clean</code>, I patched that line again, and here we go, one more time.</p><p>It’s compiling, it’s compiling, it’s compiling… aaaaand we’re done! Let’s do <code>make install</code></p><pre>===&gt; Installing for python311-3.11.11===&gt; Checking if python311 is already installed===&gt; Registering installation for python311-3.11.11[python.srv0.hackerspace.am] Installing python311-3.11.11...</pre><p>good! now let’s try DTrace with Python!</p><p>In one terminal, I ran Python, and in another one I got the following</p><pre># dtrace -l -n 'python*:::' ID PROVIDER MODULE FUNCTION NAME85302 python8737 libpython3.11.so.1.0 sys_audit audit85303 python8737 libpython3.11.so.1.0 sys_audit_tstate audit85304 python8737 libpython3.11.so.1.0 _PyEval_EvalFrameDefault function-entry85305 python8737 libpython3.11.so.1.0 dtrace_function_return function-return85306 python8737 libpython3.11.so.1.0 _PyEval_EvalFrameDefault function-return85307 python8737 libpython3.11.so.1.0 gc_collect_main gc-done85308 python8737 libpython3.11.so.1.0 gc_collect_main gc-start85309 python8737 libpython3.11.so.1.0 PyImport_ImportModuleLevelObject import-find-load-done85310 python8737 libpython3.11.so.1.0 PyImport_ImportModuleLevelObject import-find-load-start85311 python8737 libpython3.11.so.1.0 _PyEval_EvalFrameDefault line</pre><p>Woohoo! Now I’m happy!</p><p>Okay, so what did we learn?</p><ul><li>There’s a little bit of GNUMake-ism in Python’s Makefile. Either we have to use <code>gmake</code> in FreeBSD when building Python or we need to submit an alternative to the upstream</li><li>Die GNU Autotools… I mean…&nbsp;<em>the</em> GNU Autotools usage in Python has an issue, where the generated Makefile does not set the <code>DTRACE_OBJS</code> correctly. Can anyone help with this? As a Pascal guy, reading GNU configure files makes me wanna die.</li><li>LTO is problematic. Solutions?</li></ul><p>The real question is, how can we enable DTrace by default in FreeBSD packages for Python. DTrace is one of our market advantages and we should find a way to enable it everywhere we can.</p><p>This was a fun Greybeard AMA, where we touched multiple parts of the system. Looking forward for next week!</p><p><em>That’s all folks…</em></p><p>Reply via email.</p><p><a rel="nofollow noopener noreferrer" class="hashtag u-tag u-category" href="https://antranigv.am/tags/debugging/" target="_blank">#debugging</a> <a rel="nofollow noopener noreferrer" class="hashtag u-tag u-category" href="https://antranigv.am/tags/dtrace/" target="_blank">#DTrace</a> <a rel="nofollow noopener noreferrer" class="hashtag u-tag u-category" href="https://antranigv.am/tags/freebsd/" target="_blank">#FreeBSD</a> <a rel="nofollow noopener noreferrer" class="hashtag u-tag u-category" href="https://antranigv.am/tags/gnu/" target="_blank">#GNU</a> <a rel="nofollow noopener noreferrer" class="hashtag u-tag u-category" href="https://antranigv.am/tags/python/" target="_blank">#Python</a></p>
Solaris Diaspora<p>Hard to believe it’s been 20 years since the first publication of <a href="https://techhub.social/tags/OpenSolaris" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>OpenSolaris</span></a> source code with the <a href="https://techhub.social/tags/DTrace" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>DTrace</span></a> source release: </p><p><a href="https://web.archive.org/web/20050208015516/http://www.sun.com/smi/Press/sunflash/2005-01/sunflash.20050125.1.html" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">web.archive.org/web/2005020801</span><span class="invisible">5516/http://www.sun.com/smi/Press/sunflash/2005-01/sunflash.20050125.1.html</span></a></p>
Jonathan Perkin<p>It arrived! Huge thanks to <span class="h-card" translate="no"><a href="https://hostux.social/@danmcd" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>danmcd</span></a></span> for arranging shipping to the UK.</p><p><a href="https://federate.me.uk/tags/dtrace" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dtrace</span></a> <a href="https://federate.me.uk/tags/dtraceconf24" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dtraceconf24</span></a></p>
Antranig Vartanian :freebsd:<p>Star Wars reference at dtrace.conf? It's like my two favorite things merging into the same universe.</p><p><a href="https://sigin.fo/tags/DTrace" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>DTrace</span></a> <a href="https://sigin.fo/tags/StarWars" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>StarWars</span></a></p>
Mike Zeller :aim_logo:<p>Messing around with the new 3D printer and decided to do some coasters before dtrace.conf tomorrow! <a href="https://hachyderm.io/tags/illumos" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>illumos</span></a> <a href="https://hachyderm.io/tags/dtrace" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dtrace</span></a></p>
ran mak<p>sip is a denial of functionality attack </p><p><a href="https://hachyderm.io/tags/dtrace" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dtrace</span></a> <a href="https://hachyderm.io/tags/apps" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>apps</span></a> <a href="https://hachyderm.io/tags/sip" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>sip</span></a></p>
ran mak<p>speaking of sip... system integrity "protection", which actually only protects apple's time from researching bug reports submitted with this feature disabled, the common thinking is that by allowing unauthorized code or configurations, you're protecting yourself </p><p>another vector you can protect yourself from these types of threats is installing apps. so if you *really* want to keep your devices safe, don't use any apps</p><p><a href="https://hachyderm.io/tags/dtrace" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dtrace</span></a> <a href="https://hachyderm.io/tags/apps" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>apps</span></a> <a href="https://hachyderm.io/tags/sip" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>sip</span></a></p>
OSTechNix<p>DTrace 2.0, the powerful dynamic tracing tool, is now available on Gentoo <a href="https://floss.social/tags/Dtrace" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Dtrace</span></a> <a href="https://floss.social/tags/Gentoo" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Gentoo</span></a> <a href="https://floss.social/tags/Linux" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Linux</span></a> <br><a href="https://ostechnix.com/dtrace-2-0-arrives-on-gentoo-linux/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">ostechnix.com/dtrace-2-0-arriv</span><span class="invisible">es-on-gentoo-linux/</span></a></p>
Pierre Zemb<p><a href="https://fosstodon.org/tags/DTrace" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>DTrace</span></a> 2.0 for <a href="https://fosstodon.org/tags/Gentoo" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Gentoo</span></a> – Gentoo Linux <a href="https://www.gentoo.org/news/2024/10/23/DTrace-for-Gentoo.html" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">gentoo.org/news/2024/10/23/DTr</span><span class="invisible">ace-for-Gentoo.html</span></a></p>
Maciej Barć<p><a href="https://functional.cafe/tags/Gentoo" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Gentoo</span></a> news</p><p><a href="https://functional.cafe/tags/DTrace" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>DTrace</span></a> available for Gentoo</p><p><a href="https://www.gentoo.org/news/2024/10/23/DTrace-for-Gentoo.html" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">gentoo.org/news/2024/10/23/DTr</span><span class="invisible">ace-for-Gentoo.html</span></a></p>
jan Anja can't choose a display name<p>This announcement lmao</p><p><a href="https://www.gentoo.org/news/2024/10/23/DTrace-for-Gentoo.html" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">gentoo.org/news/2024/10/23/DTr</span><span class="invisible">ace-for-Gentoo.html</span></a></p><p><a href="https://wetdry.world/tags/Gentoo" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Gentoo</span></a> <a href="https://wetdry.world/tags/DTrace" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>DTrace</span></a></p>
Antranig Vartanian<p><strong>dtrace.conf is back as dtrace.conf(24)</strong></p><p>Woke up middle of the night to grab a cup of water, decided to check Mastodon, and what do I see?</p><p><a href="https://www.eventbrite.com/e/dtraceconf24-tickets-1044402936297?aff=oddtdtcreator" rel="nofollow noopener noreferrer" target="_blank"><code>dtrace.conf(24)</code> Tickets, Wed, Dec 11, 2024 at 9:00 AM</a></p><p>This makes me very happy! I love seeing DTrace in the wild, and having more DTrace content out there is beneficial to everyone in the DTrace community.</p><p>Obviously, being a Syrian with passport issues, I will not be able to attend, but hopefully everything will be recorded and published online. I’ll try to make it to <code>dtrace.conf(28)</code>.</p><p>Have fun everyone!</p><p>Reply via email.</p><p><a href="https://antranigv.am/posts/2024/10/dtrace-conf-24/" class="" rel="nofollow noopener noreferrer" target="_blank">https://antranigv.am/posts/2024/10/dtrace-conf-24/</a></p><p><a rel="nofollow noopener noreferrer" class="hashtag u-tag u-category" href="https://antranigv.am/tags/debugging/" target="_blank">#debugging</a> <a rel="nofollow noopener noreferrer" class="hashtag u-tag u-category" href="https://antranigv.am/tags/dtrace/" target="_blank">#DTrace</a> <a rel="nofollow noopener noreferrer" class="hashtag u-tag u-category" href="https://antranigv.am/tags/dtrace-conf/" target="_blank">#dtraceConf</a> <a rel="nofollow noopener noreferrer" class="hashtag u-tag u-category" href="https://antranigv.am/tags/freebsd/" target="_blank">#FreeBSD</a> <a rel="nofollow noopener noreferrer" class="hashtag u-tag u-category" href="https://antranigv.am/tags/illumos/" target="_blank">#illumos</a> <a rel="nofollow noopener noreferrer" class="hashtag u-tag u-category" href="https://antranigv.am/tags/oxide-computer-company/" target="_blank">#OxideComputerCompany</a></p>
🦀 RustLab Conference<p>🎤 We’re excited to have Adam Leventhal, one of the original authors of DTrace, at <a href="https://mastodon.uno/tags/RustLab2024" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>RustLab2024</span></a>! 🌟<br>Join the talk "DTrace for Rust... and Everything Else Too!" <br>👉 <a href="https://rustlab.it/speakers/adam-leventhal" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">rustlab.it/speakers/adam-leven</span><span class="invisible">thal</span></a><br><a href="https://mastodon.uno/tags/RustLang" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>RustLang</span></a> <a href="https://mastodon.uno/tags/DTrace" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>DTrace</span></a> <span class="h-card" translate="no"><a href="https://mastodon.social/@ahl" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>ahl</span></a></span></p>
David Chisnall (*Now with 50% more sarcasm!*)<p>I wanted to be able to use FUSE for simple read-only filesystems in the <a href="https://infosec.exchange/tags/FreeBSD" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FreeBSD</span></a> base system, so I wrote a <a href="https://github.com/davidchisnall/qemufwcfg/blob/main/qemufwcfg-fuse/tinyfuse.hh" rel="nofollow noopener noreferrer" target="_blank">header-only minimal FUSE implementation</a>.</p><p>This was slightly tricky because the FUSE protocol documentation is almost nonexistent (even the Linux man page just lists a bunch of the messages that all filesystems must support as 'for future work'). <a href="https://infosec.exchange/tags/DTrace" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>DTrace</span></a> was very helpful for figuring out why a bunch of things were not working.</p>
Jonathan Perkin<p>Today I am hugely thankful that <a href="https://federate.me.uk/tags/NetBSD" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>NetBSD</span></a> has <a href="https://federate.me.uk/tags/DTrace" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>DTrace</span></a>. It is making debugging this <a href="https://federate.me.uk/tags/bhyve" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>bhyve</span></a> UART issue significantly easier when I can see things clearly from the guest side.</p><p>That said, it's a little frustrating that I can't trace bus_space_*() as they are implemented in assembly without DTrace hooks, and the functions that call them are inlined away.</p>
Shawn Webb<p>Microsoft's port of <a href="https://bsd.network/tags/DTrace" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>DTrace</span></a> for Windows came from the <a href="https://bsd.network/tags/FreeBSD" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>FreeBSD</span></a> implementation!</p><p>Presentation from Microsoft Ignite, way back in 2018, here: <a href="https://youtu.be/tG8R5SQGPck" rel="nofollow noopener noreferrer" target="_blank"><span class="invisible">https://</span><span class="">youtu.be/tG8R5SQGPck</span><span class="invisible"></span></a></p>
Colin Gordon<p>This is crazy, one of the first conversations I had at Microsoft when I joined in 2009 was one where I was talking to someone who worked on Windows eventing framework for a long time. I asked if it was similar to <a href="https://discuss.systems/tags/DTrace" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>DTrace</span></a> on Solaris and he had no clue what I was talking about. No clue other related (much more general) systems existed. This is awesome.<br><a href="https://fosstodon.org/@sxa/112440017074663449" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">fosstodon.org/@sxa/11244001707</span><span class="invisible">4663449</span></a></p>
Stewart X Addison<p>Interesting ... <a href="https://fosstodon.org/tags/dtrace" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dtrace</span></a> (originally developed by Sun for <a href="https://fosstodon.org/tags/Solaris" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Solaris</span></a>) has now made it to <a href="https://fosstodon.org/tags/Windows" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Windows</span></a> Server 2025!<br><a href="https://learn.microsoft.com/en-us/windows-hardware/drivers/devtest/dtrace" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">learn.microsoft.com/en-us/wind</span><span class="invisible">ows-hardware/drivers/devtest/dtrace</span></a> <br><a href="https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/dtrace" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">learn.microsoft.com/en-us/wind</span><span class="invisible">ows-server/administration/windows-commands/dtrace</span></a></p>
Jonathan Perkin<p>Seeing a _very_ strange issue since upgrading to <a href="https://federate.me.uk/tags/macOS" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>macOS</span></a> Sonoma.</p><p>I mentioned the other day that the check-portability script was taking too much CPU time.</p><p>Well, it fails every single time inside a bulk build, but only in lang/rust. The cputime soft limit is being set to 3600, but the process is always killed after only a few seconds.</p><p>I'm even running <a href="https://federate.me.uk/tags/dtrace" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>dtrace</span></a> to confirm that setrlimit is only ever being called with rlim_cur=3600.</p><p>No source code, so can't trace what's happening in the kernel :(</p>