{"generator":"GNU social 2.0.2-dev","title":"Conversation","totalItems":8,"items":[{"actor":{"id":"https:\/\/pleroma.marchera-pas.fr\/users\/gantua","displayName":"Gantua","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/309059-original-tmp20241224042327.webp","rel":"avatar","type":"image\/webp","width":150,"height":150},{"url":"https:\/\/gnusocial.jp\/avatar\/309059-96-20241230155247.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/309059-48-20250329160720.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/309059-24-20250329160823.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"309059"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/309059-96-20241230155247.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"Encore un n-i\u00e8me d\u00e9veloppeur.  \u00c0 toujours faim.","url":"https:\/\/pleroma.marchera-pas.fr\/users\/gantua","portablecontacts_net":{"preferredUsername":"gantua","displayName":"Gantua","note":"Encore un n-i\u00e8me d\u00e9veloppeur.  \u00c0 toujours faim."}},"content":"<a class=\"u-url mention\" href=\"https:\/\/hachyderm.io\/@dalias\">@dalias<\/a> <a class=\"u-url mention\" href=\"https:\/\/ublog.kimapr.net\/users\/kimapr\">@kimapr<\/a> This is C++. If your code is exception-safe, it is likely cancellation-safe for free.","generator":{"id":"tag:gnusocial.jp,2026-06-14:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/pleroma.marchera-pas.fr\/objects\/e1a0ee64-da53-471e-bb21-5cee75adc56e","object":{"id":"https:\/\/pleroma.marchera-pas.fr\/objects\/e1a0ee64-da53-471e-bb21-5cee75adc56e","objectType":"note","content":"<a class=\"u-url mention\" href=\"https:\/\/hachyderm.io\/@dalias\">@dalias<\/a> <a class=\"u-url mention\" href=\"https:\/\/ublog.kimapr.net\/users\/kimapr\">@kimapr<\/a> This is C++. If your code is exception-safe, it is likely cancellation-safe for free.","url":"https:\/\/pleroma.marchera-pas.fr\/objects\/e1a0ee64-da53-471e-bb21-5cee75adc56e","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/hachyderm.io\/users\/dalias\/statuses\/116417222839109853","url":"https:\/\/hachyderm.io\/@dalias\/116417222839109853"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/hachyderm.io\/users\/dalias"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/ublog.kimapr.net\/users\/kimapr"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-04-17:objectType=thread:nonce=a96ab6769573b37e","notice_info":{"local_id":"12463798","source":"ActivityPub"}},"published":"2026-04-17T10:39:25+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/pleroma.marchera-pas.fr\/objects\/e1a0ee64-da53-471e-bb21-5cee75adc56e"},{"actor":{"id":"https:\/\/hachyderm.io\/users\/dalias","displayName":"Rich Felker","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/40873-original-tmp20221202140938.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/40873-96-20221207231635.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/40873-48-20221207231635.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/40873-24-20221207231635.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"40873"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/40873-96-20221207231635.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"C librarian, purveyor of the language&#39;s eldritch horrors. Poppin&#39; shells \ud83e\uddaa","url":"https:\/\/hachyderm.io\/@dalias","portablecontacts_net":{"preferredUsername":"dalias","displayName":"Rich Felker","note":"C librarian, purveyor of the language&#39;s eldritch horrors. Poppin&#39; shells \ud83e\uddaa"}},"content":"<p><a href=\"https:\/\/pleroma.marchera-pas.fr\/users\/gantua\" class=\"u-url mention\">@gantua<\/a> <a href=\"https:\/\/ublog.kimapr.net\/users\/kimapr\" class=\"u-url mention\">@kimapr<\/a> Nope. The interaction between them is undefined. Making them the same is a glibcism.<\/p>","generator":{"id":"tag:gnusocial.jp,2026-06-14:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/hachyderm.io\/users\/dalias\/statuses\/116419615820746071","object":{"id":"https:\/\/hachyderm.io\/users\/dalias\/statuses\/116419615820746071","objectType":"note","content":"<p><a href=\"https:\/\/pleroma.marchera-pas.fr\/users\/gantua\" class=\"u-url mention\">@gantua<\/a> <a href=\"https:\/\/ublog.kimapr.net\/users\/kimapr\" class=\"u-url mention\">@kimapr<\/a> Nope. The interaction between them is undefined. Making them the same is a glibcism.<\/p>","url":"https:\/\/hachyderm.io\/@dalias\/116419615820746071","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/pleroma.marchera-pas.fr\/objects\/e1a0ee64-da53-471e-bb21-5cee75adc56e","url":"https:\/\/pleroma.marchera-pas.fr\/objects\/e1a0ee64-da53-471e-bb21-5cee75adc56e"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/ublog.kimapr.net\/users\/kimapr"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/pleroma.marchera-pas.fr\/users\/gantua"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-04-17:objectType=thread:nonce=a96ab6769573b37e","notice_info":{"local_id":"12463799","source":"ActivityPub"}},"published":"2026-04-17T10:39:22+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/hachyderm.io\/@dalias\/116419615820746071"},{"actor":{"id":"https:\/\/hachyderm.io\/users\/dalias","displayName":"Rich Felker","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/40873-original-tmp20221202140938.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/40873-96-20221207231635.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/40873-48-20221207231635.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/40873-24-20221207231635.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"40873"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/40873-96-20221207231635.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"C librarian, purveyor of the language&#39;s eldritch horrors. Poppin&#39; shells \ud83e\uddaa","url":"https:\/\/hachyderm.io\/@dalias","portablecontacts_net":{"preferredUsername":"dalias","displayName":"Rich Felker","note":"C librarian, purveyor of the language&#39;s eldritch horrors. Poppin&#39; shells \ud83e\uddaa"}},"content":"<p><a href=\"https:\/\/ublog.kimapr.net\/users\/kimapr\" class=\"u-url mention\">@kimapr<\/a> I'm going to assume if the code is this bad, they have no idea how to use pthread_cancel, which is highly unsafe unless you know how to use it. Safe use requires the thread that might be cancelled to be aware that it's a potential cancellation target, to disable\/enable cancellation at appropriate times, and to install cleanup handlers that restore a consistent state when cancellation is acted upon.<\/p>","generator":{"id":"tag:gnusocial.jp,2026-06-14:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/hachyderm.io\/users\/dalias\/statuses\/116417222839109853","object":{"id":"https:\/\/hachyderm.io\/users\/dalias\/statuses\/116417222839109853","objectType":"note","content":"<p><a href=\"https:\/\/ublog.kimapr.net\/users\/kimapr\" class=\"u-url mention\">@kimapr<\/a> I'm going to assume if the code is this bad, they have no idea how to use pthread_cancel, which is highly unsafe unless you know how to use it. Safe use requires the thread that might be cancelled to be aware that it's a potential cancellation target, to disable\/enable cancellation at appropriate times, and to install cleanup handlers that restore a consistent state when cancellation is acted upon.<\/p>","url":"https:\/\/hachyderm.io\/@dalias\/116417222839109853","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/ublog.kimapr.net\/objects\/3c9c9774-b56a-4204-92e1-0ecfec613730","url":"https:\/\/ublog.kimapr.net\/objects\/3c9c9774-b56a-4204-92e1-0ecfec613730"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/ublog.kimapr.net\/users\/kimapr"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-04-17:objectType=thread:nonce=a96ab6769573b37e","notice_info":{"local_id":"12463100","source":"ActivityPub"}},"published":"2026-04-17T06:32:14+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/hachyderm.io\/@dalias\/116417222839109853"},{"actor":{"id":"https:\/\/hachyderm.io\/users\/dalias","displayName":"Rich Felker","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/40873-original-tmp20221202140938.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/40873-96-20221207231635.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/40873-48-20221207231635.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/40873-24-20221207231635.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"40873"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/40873-96-20221207231635.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"C librarian, purveyor of the language&#39;s eldritch horrors. Poppin&#39; shells \ud83e\uddaa","url":"https:\/\/hachyderm.io\/@dalias","portablecontacts_net":{"preferredUsername":"dalias","displayName":"Rich Felker","note":"C librarian, purveyor of the language&#39;s eldritch horrors. Poppin&#39; shells \ud83e\uddaa"}},"content":"RT @dalias Im basically trying to debug an issue in btop where under heavy system load it can sometimes just hang (the stress test i\u2019m using is filling up RAM with garbage until the whole system gets severe levels of thrashing).  It\u2019s pretty annoying to reproduce and often instead of hanging it crashes instead (or maybe commit 6164470 always crashes while 1.4.6 hangs.  can\u2019t really tell for sure  nope 1.4.6 also crashes).  For the crashes, the backtraces seem to always be like this:(gdb) thread apply all bt<br \/> <br \/> Thread 2 (Thread 0x7fc967ed3780 (LWP 6988)):<br \/> #<span class=\"tag\"><a href=\"https:\/\/gnusocial.jp\/tag\/0\" rel=\"tag\">0<\/a><\/span>  0x00007fc967aaa4fe in __syscall_cancel_arch () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6<br \/> #<span class=\"tag\"><a href=\"https:\/\/gnusocial.jp\/tag\/1\" rel=\"tag\">1<\/a><\/span>  0x00007fc967a9f788 in __internal_syscall_cancel () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6<br \/> #<span class=\"tag\"><a href=\"https:\/\/gnusocial.jp\/tag\/2\" rel=\"tag\">2<\/a><\/span>  0x00007fc967a9fd9c in __futex_abstimed_wait_common () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6<br \/> #<span class=\"tag\"><a href=\"https:\/\/gnusocial.jp\/tag\/3\" rel=\"tag\">3<\/a><\/span>  0x00007fc967aa4504 in __pthread_clockjoin_ex () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6<br \/> #<span class=\"tag\"><a href=\"https:\/\/gnusocial.jp\/tag\/4\" rel=\"tag\">4<\/a><\/span>  0x000000000043ddb1 in Runner::run (box=..., no_update=no_update@entry=false, force_redraw=force_redraw@entry=false) at src\/btop.cpp:749<br \/> #<span class=\"tag\"><a href=\"https:\/\/gnusocial.jp\/tag\/5\" rel=\"tag\">5<\/a><\/span>  0x0000000000441069 in btop_main (args=...) at src\/btop.cpp:1166<br \/> #<span class=\"tag\"><a href=\"https:\/\/gnusocial.jp\/tag\/6\" rel=\"tag\">6<\/a><\/span>  0x00000000004378d2 in main (argc=&lt;optimized out&gt;, argv=&lt;optimized out&gt;) at src\/main.cpp:11<br \/> <br \/> Thread 1 (Thread 0x7fc9665fd6c0 (LWP 13929) (Exiting)):<br \/> #<span class=\"tag\"><a href=\"https:\/\/gnusocial.jp\/tag\/0\" rel=\"tag\">0<\/a><\/span>  0x00007fc967aa46dc in __pthread_kill_implementation () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6<br \/> #<span class=\"tag\"><a href=\"https:\/\/gnusocial.jp\/tag\/1\" rel=\"tag\">1<\/a><\/span>  0x00007fc967a51a02 in raise () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6<br \/> #<span class=\"tag\"><a href=\"https:\/\/gnusocial.jp\/tag\/2\" rel=\"tag\">2<\/a><\/span>  0x00007fc967a3aed1 in abort () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6<br \/> #<span class=\"tag\"><a href=\"https:\/\/gnusocial.jp\/tag\/3\" rel=\"tag\">3<\/a><\/span>  0x00007fc967caea64 in ?? () from \/gnu\/store\/xm7i1gvi0i9pyndlkv627r08rsw1ny96-gcc-15.2.0-lib\/lib\/libstdc++.so.6<br \/> #<span class=\"tag\"><a href=\"https:\/\/gnusocial.jp\/tag\/4\" rel=\"tag\">4<\/a><\/span>  0x00007fc967cc109a in ?? () from \/gnu\/store\/xm7i1gvi0i9pyndlkv627r08rsw1ny96-gcc-15.2.0-lib\/lib\/libstdc++.so.6<br \/> #<span class=\"tag\"><a href=\"https:\/\/gnusocial.jp\/tag\/5\" rel=\"tag\">5<\/a><\/span>  0x00007fc967cae5ee in std::terminate() () from \/gnu\/store\/xm7i1gvi0i9pyndlkv627r08rsw1ny96-gcc-15.2.0-lib\/lib\/libstdc++.so.6<br \/> #<span class=\"tag\"><a href=\"https:\/\/gnusocial.jp\/tag\/6\" rel=\"tag\">6<\/a><\/span>  0x00007fc967cae506 in ?? () from \/gnu\/store\/xm7i1gvi0i9pyndlkv627r08rsw1ny96-gcc-15.2.0-lib\/lib\/libstdc++.so.6<br \/> #<span class=\"tag\"><a href=\"https:\/\/gnusocial.jp\/tag\/7\" rel=\"tag\">7<\/a><\/span>  0x00007fc967ef9f52 in ?? () from \/gnu\/store\/xm7i1gvi0i9pyndlkv627r08rsw1ny96-gcc-15.2.0-lib\/lib\/libgcc_s.so.1<br \/> #<span class=\"tag\"><a href=\"https:\/\/gnusocial.jp\/tag\/8\" rel=\"tag\">8<\/a><\/span>  0x00007fc967efa67a in _Unwind_ForcedUnwind () from \/gnu\/store\/xm7i1gvi0i9pyndlkv627r08rsw1ny96-gcc-15.2.0-lib\/lib\/libgcc_s.so.1<br \/> #<span class=\"tag\"><a href=\"https:\/\/gnusocial.jp\/tag\/9\" rel=\"tag\">9<\/a><\/span>  0x00007fc967aaab80 in __pthread_unwind () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6<br \/> #<span class=\"tag\"><a href=\"https:\/\/gnusocial.jp\/tag\/10\" rel=\"tag\">10<\/a><\/span> 0x00007fc967a9f733 in __syscall_do_cancel () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6<br \/> #<span class=\"tag\"><a href=\"https:\/\/gnusocial.jp\/tag\/11\" rel=\"tag\">11<\/a><\/span> 0x00007fc967a9f788 in __internal_syscall_cancel () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6<br \/> #<span class=\"tag\"><a href=\"https:\/\/gnusocial.jp\/tag\/12\" rel=\"tag\">12<\/a><\/span> 0x00007fc967a9f7cd in __syscall_cancel () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6<br \/> #<span class=\"tag\"><a href=\"https:\/\/gnusocial.jp\/tag\/13\" rel=\"tag\">13<\/a><\/span> 0x00007fc967b1f124 in sendto () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6<br \/> #<span class=\"tag\"><a href=\"https:\/\/gnusocial.jp\/tag\/14\" rel=\"tag\">14<\/a><\/span> 0x00007fc967b2b274 in __netlink_request () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6<br \/> #<span class=\"tag\"><a href=\"https:\/\/gnusocial.jp\/tag\/15\" rel=\"tag\">15<\/a><\/span> 0x00007fc967b2b5b6 in getifaddrs_internal () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6<br \/> #<span class=\"tag\"><a href=\"https:\/\/gnusocial.jp\/tag\/16\" rel=\"tag\">16<\/a><\/span> 0x00007fc967b2c2e8 in getifaddrs () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6<br \/> #<span class=\"tag\"><a href=\"https:\/\/gnusocial.jp\/tag\/17\" rel=\"tag\">17<\/a><\/span> 0x000000000053c1ca in Net::IfAddrsPtr::IfAddrsPtr (this=0x7fc9665fc8b0) at src\/linux\/..\/btop_shared.hpp:335<br \/> #<span class=\"tag\"><a href=\"https:\/\/gnusocial.jp\/tag\/18\" rel=\"tag\">18<\/a><\/span> Net::collect (no_update=&lt;optimized out&gt;) at src\/linux\/btop_collect.cpp:2611<br \/> #<span class=\"tag\"><a href=\"https:\/\/gnusocial.jp\/tag\/19\" rel=\"tag\">19<\/a><\/span> 0x000000000044412e in Runner::_runner () at src\/btop.cpp:619<br \/> #<span class=\"tag\"><a href=\"https:\/\/gnusocial.jp\/tag\/20\" rel=\"tag\">20<\/a><\/span> 0x00007fc967aa2aed in start_thread () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6<br \/> #<span class=\"tag\"><a href=\"https:\/\/gnusocial.jp\/tag\/21\" rel=\"tag\">21<\/a><\/span> 0x00007fc967b1d768 in __clone3 () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6","generator":{"id":"tag:gnusocial.jp,2026-06-14:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/hachyderm.io\/users\/dalias\/statuses\/116417215367819463\/activity","object":{"id":"https:\/\/ublog.kimapr.net\/objects\/9b501f17-2bea-4d49-8562-4c7fbe467516","objectType":"note","content":"<p>Oh my god btop++ code is horrible.   No wonder it fucking dies whenever you look at it wrong.<\/p>","url":"https:\/\/ublog.kimapr.net\/objects\/9b501f17-2bea-4d49-8562-4c7fbe467516","status_net":{"notice_id":null}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-04-17:objectType=thread:nonce=a96ab6769573b37e","notice_info":{"local_id":"12462284","source":"ActivityPub","repeat_of":"12461757"}},"published":"2026-04-17T03:40:55+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"title":"dalias repeated a notice by kimapr","verb":"share","url":"https:\/\/hachyderm.io\/users\/dalias\/statuses\/116417215367819463\/activity"},{"actor":{"id":"https:\/\/hachyderm.io\/users\/dalias","displayName":"Rich Felker","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/40873-original-tmp20221202140938.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/40873-96-20221207231635.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/40873-48-20221207231635.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/40873-24-20221207231635.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"40873"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/40873-96-20221207231635.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"C librarian, purveyor of the language&#39;s eldritch horrors. Poppin&#39; shells \ud83e\uddaa","url":"https:\/\/hachyderm.io\/@dalias","portablecontacts_net":{"preferredUsername":"dalias","displayName":"Rich Felker","note":"C librarian, purveyor of the language&#39;s eldritch horrors. Poppin&#39; shells \ud83e\uddaa"}},"content":"RT @dalias Notice how there are two threads.  Why does a task manager program even have two threads?  For a really bad reason.  What the main thread does here is fire up a \u201csecondary\u201d thread that seems to be doing all the work.  It waits 5 seconds for it to complete, and then if it still haven\u2019t, calls pthread_cancel on it and tries to start it over.  There\u2019s a loop reading an atomic variable over and over with a 1ms sleep in between which is how the 5 second wait is implemented.  OkayI assume there\u2019s tons of bugs in the code that cause random hangs to happen, and this is how the dev decided to tackle the issue.","generator":{"id":"tag:gnusocial.jp,2026-06-14:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/hachyderm.io\/users\/dalias\/statuses\/116417215706214100\/activity","object":{"id":"https:\/\/ublog.kimapr.net\/objects\/74eadabd-fce7-48f6-81ee-d9a7ec2f415a","objectType":"note","content":"<p>Im basically trying to debug an issue in btop where under heavy system load it can sometimes just hang (the stress test i\u2019m using is filling up RAM with garbage until the whole system gets severe levels of thrashing).  It\u2019s pretty annoying to reproduce and often instead of hanging it crashes instead (or maybe commit 6164470 always crashes while 1.4.6 hangs.  can\u2019t really tell for sure  nope 1.4.6 also crashes).  For the crashes, the backtraces seem to always be like this:<\/p>(gdb) thread apply all bt\n\nThread 2 (Thread 0x7fc967ed3780 (LWP 6988)):\n#0  0x00007fc967aaa4fe in __syscall_cancel_arch () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6\n#1  0x00007fc967a9f788 in __internal_syscall_cancel () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6\n#2  0x00007fc967a9fd9c in __futex_abstimed_wait_common () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6\n#3  0x00007fc967aa4504 in __pthread_clockjoin_ex () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6\n#4  0x000000000043ddb1 in Runner::run (box=..., no_update=no_update@entry=false, force_redraw=force_redraw@entry=false) at src\/btop.cpp:749\n#5  0x0000000000441069 in btop_main (args=...) at src\/btop.cpp:1166\n#6  0x00000000004378d2 in main (argc=&lt;optimized out&gt;, argv=&lt;optimized out&gt;) at src\/main.cpp:11\n\nThread 1 (Thread 0x7fc9665fd6c0 (LWP 13929) (Exiting)):\n#0  0x00007fc967aa46dc in __pthread_kill_implementation () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6\n#1  0x00007fc967a51a02 in raise () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6\n#2  0x00007fc967a3aed1 in abort () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6\n#3  0x00007fc967caea64 in ?? () from \/gnu\/store\/xm7i1gvi0i9pyndlkv627r08rsw1ny96-gcc-15.2.0-lib\/lib\/libstdc++.so.6\n#4  0x00007fc967cc109a in ?? () from \/gnu\/store\/xm7i1gvi0i9pyndlkv627r08rsw1ny96-gcc-15.2.0-lib\/lib\/libstdc++.so.6\n#5  0x00007fc967cae5ee in std::terminate() () from \/gnu\/store\/xm7i1gvi0i9pyndlkv627r08rsw1ny96-gcc-15.2.0-lib\/lib\/libstdc++.so.6\n#6  0x00007fc967cae506 in ?? () from \/gnu\/store\/xm7i1gvi0i9pyndlkv627r08rsw1ny96-gcc-15.2.0-lib\/lib\/libstdc++.so.6\n#7  0x00007fc967ef9f52 in ?? () from \/gnu\/store\/xm7i1gvi0i9pyndlkv627r08rsw1ny96-gcc-15.2.0-lib\/lib\/libgcc_s.so.1\n#8  0x00007fc967efa67a in _Unwind_ForcedUnwind () from \/gnu\/store\/xm7i1gvi0i9pyndlkv627r08rsw1ny96-gcc-15.2.0-lib\/lib\/libgcc_s.so.1\n#9  0x00007fc967aaab80 in __pthread_unwind () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6\n#10 0x00007fc967a9f733 in __syscall_do_cancel () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6\n#11 0x00007fc967a9f788 in __internal_syscall_cancel () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6\n#12 0x00007fc967a9f7cd in __syscall_cancel () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6\n#13 0x00007fc967b1f124 in sendto () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6\n#14 0x00007fc967b2b274 in __netlink_request () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6\n#15 0x00007fc967b2b5b6 in getifaddrs_internal () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6\n#16 0x00007fc967b2c2e8 in getifaddrs () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6\n#17 0x000000000053c1ca in Net::IfAddrsPtr::IfAddrsPtr (this=0x7fc9665fc8b0) at src\/linux\/..\/btop_shared.hpp:335\n#18 Net::collect (no_update=&lt;optimized out&gt;) at src\/linux\/btop_collect.cpp:2611\n#19 0x000000000044412e in Runner::_runner () at src\/btop.cpp:619\n#20 0x00007fc967aa2aed in start_thread () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6\n#21 0x00007fc967b1d768 in __clone3 () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6","url":"https:\/\/ublog.kimapr.net\/objects\/74eadabd-fce7-48f6-81ee-d9a7ec2f415a","status_net":{"notice_id":null}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-04-17:objectType=thread:nonce=a96ab6769573b37e","notice_info":{"local_id":"12461975","source":"ActivityPub","repeat_of":"12461972"}},"published":"2026-04-17T02:10:41+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"title":"dalias repeated a notice by kimapr","verb":"share","url":"https:\/\/hachyderm.io\/users\/dalias\/statuses\/116417215706214100\/activity"},{"actor":{"id":"https:\/\/ublog.kimapr.net\/users\/kimapr","displayName":"kimapr","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/285564-original-tmp20241004190124.webp","rel":"avatar","type":"image\/webp","width":90,"height":90},{"url":"https:\/\/gnusocial.jp\/avatar\/285564-96-20241004190139.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/285564-48-20241004190139.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/285564-24-20241004190139.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"285564"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/285564-96-20241004190139.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"computer enthusiast. very shy.meow !!!","url":"https:\/\/ublog.kimapr.net\/users\/kimapr","portablecontacts_net":{"preferredUsername":"kimapr","displayName":"kimapr","note":"computer enthusiast. very shy.meow !!!"}},"content":"<p>Im basically trying to debug an issue in btop where under heavy system load it can sometimes just hang (the stress test i\u2019m using is filling up RAM with garbage until the whole system gets severe levels of thrashing).  It\u2019s pretty annoying to reproduce and often instead of hanging it crashes instead (or maybe commit 6164470 always crashes while 1.4.6 hangs.  can\u2019t really tell for sure  nope 1.4.6 also crashes).  For the crashes, the backtraces seem to always be like this:<\/p>(gdb) thread apply all bt  Thread 2 (Thread 0x7fc967ed3780 (LWP 6988)): #0  0x00007fc967aaa4fe in __syscall_cancel_arch () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6 #1  0x00007fc967a9f788 in __internal_syscall_cancel () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6 #2  0x00007fc967a9fd9c in __futex_abstimed_wait_common () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6 #3  0x00007fc967aa4504 in __pthread_clockjoin_ex () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6 #4  0x000000000043ddb1 in Runner::run (box=..., no_update=no_update@entry=false, force_redraw=force_redraw@entry=false) at src\/btop.cpp:749 #5  0x0000000000441069 in btop_main (args=...) at src\/btop.cpp:1166 #6  0x00000000004378d2 in main (argc=&lt;optimized out&gt;, argv=&lt;optimized out&gt;) at src\/main.cpp:11  Thread 1 (Thread 0x7fc9665fd6c0 (LWP 13929) (Exiting)): #0  0x00007fc967aa46dc in __pthread_kill_implementation () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6 #1  0x00007fc967a51a02 in raise () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6 #2  0x00007fc967a3aed1 in abort () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6 #3  0x00007fc967caea64 in ?? () from \/gnu\/store\/xm7i1gvi0i9pyndlkv627r08rsw1ny96-gcc-15.2.0-lib\/lib\/libstdc++.so.6 #4  0x00007fc967cc109a in ?? () from \/gnu\/store\/xm7i1gvi0i9pyndlkv627r08rsw1ny96-gcc-15.2.0-lib\/lib\/libstdc++.so.6 #5  0x00007fc967cae5ee in std::terminate() () from \/gnu\/store\/xm7i1gvi0i9pyndlkv627r08rsw1ny96-gcc-15.2.0-lib\/lib\/libstdc++.so.6 #6  0x00007fc967cae506 in ?? () from \/gnu\/store\/xm7i1gvi0i9pyndlkv627r08rsw1ny96-gcc-15.2.0-lib\/lib\/libstdc++.so.6 #7  0x00007fc967ef9f52 in ?? () from \/gnu\/store\/xm7i1gvi0i9pyndlkv627r08rsw1ny96-gcc-15.2.0-lib\/lib\/libgcc_s.so.1 #8  0x00007fc967efa67a in _Unwind_ForcedUnwind () from \/gnu\/store\/xm7i1gvi0i9pyndlkv627r08rsw1ny96-gcc-15.2.0-lib\/lib\/libgcc_s.so.1 #9  0x00007fc967aaab80 in __pthread_unwind () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6 #10 0x00007fc967a9f733 in __syscall_do_cancel () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6 #11 0x00007fc967a9f788 in __internal_syscall_cancel () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6 #12 0x00007fc967a9f7cd in __syscall_cancel () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6 #13 0x00007fc967b1f124 in sendto () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6 #14 0x00007fc967b2b274 in __netlink_request () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6 #15 0x00007fc967b2b5b6 in getifaddrs_internal () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6 #16 0x00007fc967b2c2e8 in getifaddrs () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6 #17 0x000000000053c1ca in Net::IfAddrsPtr::IfAddrsPtr (this=0x7fc9665fc8b0) at src\/linux\/..\/btop_shared.hpp:335 #18 Net::collect (no_update=&lt;optimized out&gt;) at src\/linux\/btop_collect.cpp:2611 #19 0x000000000044412e in Runner::_runner () at src\/btop.cpp:619 #20 0x00007fc967aa2aed in start_thread () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6 #21 0x00007fc967b1d768 in __clone3 () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6","generator":{"id":"tag:gnusocial.jp,2026-06-14:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/ublog.kimapr.net\/objects\/74eadabd-fce7-48f6-81ee-d9a7ec2f415a","object":{"id":"https:\/\/ublog.kimapr.net\/objects\/74eadabd-fce7-48f6-81ee-d9a7ec2f415a","objectType":"note","content":"<p>Im basically trying to debug an issue in btop where under heavy system load it can sometimes just hang (the stress test i\u2019m using is filling up RAM with garbage until the whole system gets severe levels of thrashing).  It\u2019s pretty annoying to reproduce and often instead of hanging it crashes instead (or maybe commit 6164470 always crashes while 1.4.6 hangs.  can\u2019t really tell for sure  nope 1.4.6 also crashes).  For the crashes, the backtraces seem to always be like this:<\/p>(gdb) thread apply all bt\n\nThread 2 (Thread 0x7fc967ed3780 (LWP 6988)):\n#0  0x00007fc967aaa4fe in __syscall_cancel_arch () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6\n#1  0x00007fc967a9f788 in __internal_syscall_cancel () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6\n#2  0x00007fc967a9fd9c in __futex_abstimed_wait_common () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6\n#3  0x00007fc967aa4504 in __pthread_clockjoin_ex () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6\n#4  0x000000000043ddb1 in Runner::run (box=..., no_update=no_update@entry=false, force_redraw=force_redraw@entry=false) at src\/btop.cpp:749\n#5  0x0000000000441069 in btop_main (args=...) at src\/btop.cpp:1166\n#6  0x00000000004378d2 in main (argc=&lt;optimized out&gt;, argv=&lt;optimized out&gt;) at src\/main.cpp:11\n\nThread 1 (Thread 0x7fc9665fd6c0 (LWP 13929) (Exiting)):\n#0  0x00007fc967aa46dc in __pthread_kill_implementation () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6\n#1  0x00007fc967a51a02 in raise () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6\n#2  0x00007fc967a3aed1 in abort () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6\n#3  0x00007fc967caea64 in ?? () from \/gnu\/store\/xm7i1gvi0i9pyndlkv627r08rsw1ny96-gcc-15.2.0-lib\/lib\/libstdc++.so.6\n#4  0x00007fc967cc109a in ?? () from \/gnu\/store\/xm7i1gvi0i9pyndlkv627r08rsw1ny96-gcc-15.2.0-lib\/lib\/libstdc++.so.6\n#5  0x00007fc967cae5ee in std::terminate() () from \/gnu\/store\/xm7i1gvi0i9pyndlkv627r08rsw1ny96-gcc-15.2.0-lib\/lib\/libstdc++.so.6\n#6  0x00007fc967cae506 in ?? () from \/gnu\/store\/xm7i1gvi0i9pyndlkv627r08rsw1ny96-gcc-15.2.0-lib\/lib\/libstdc++.so.6\n#7  0x00007fc967ef9f52 in ?? () from \/gnu\/store\/xm7i1gvi0i9pyndlkv627r08rsw1ny96-gcc-15.2.0-lib\/lib\/libgcc_s.so.1\n#8  0x00007fc967efa67a in _Unwind_ForcedUnwind () from \/gnu\/store\/xm7i1gvi0i9pyndlkv627r08rsw1ny96-gcc-15.2.0-lib\/lib\/libgcc_s.so.1\n#9  0x00007fc967aaab80 in __pthread_unwind () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6\n#10 0x00007fc967a9f733 in __syscall_do_cancel () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6\n#11 0x00007fc967a9f788 in __internal_syscall_cancel () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6\n#12 0x00007fc967a9f7cd in __syscall_cancel () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6\n#13 0x00007fc967b1f124 in sendto () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6\n#14 0x00007fc967b2b274 in __netlink_request () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6\n#15 0x00007fc967b2b5b6 in getifaddrs_internal () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6\n#16 0x00007fc967b2c2e8 in getifaddrs () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6\n#17 0x000000000053c1ca in Net::IfAddrsPtr::IfAddrsPtr (this=0x7fc9665fc8b0) at src\/linux\/..\/btop_shared.hpp:335\n#18 Net::collect (no_update=&lt;optimized out&gt;) at src\/linux\/btop_collect.cpp:2611\n#19 0x000000000044412e in Runner::_runner () at src\/btop.cpp:619\n#20 0x00007fc967aa2aed in start_thread () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6\n#21 0x00007fc967b1d768 in __clone3 () from \/gnu\/store\/yj053cys0724p7vs9kir808x7fivz17m-glibc-2.41\/lib\/libc.so.6","url":"https:\/\/ublog.kimapr.net\/objects\/74eadabd-fce7-48f6-81ee-d9a7ec2f415a","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/ublog.kimapr.net\/objects\/9b501f17-2bea-4d49-8562-4c7fbe467516","url":"https:\/\/ublog.kimapr.net\/objects\/9b501f17-2bea-4d49-8562-4c7fbe467516"},"tags":[{"objectType":"http:\/\/activityschema.org\/object\/hashtag","displayName":"0"},{"objectType":"http:\/\/activityschema.org\/object\/hashtag","displayName":"1"},{"objectType":"http:\/\/activityschema.org\/object\/hashtag","displayName":"10"},{"objectType":"http:\/\/activityschema.org\/object\/hashtag","displayName":"11"},{"objectType":"http:\/\/activityschema.org\/object\/hashtag","displayName":"12"},{"objectType":"http:\/\/activityschema.org\/object\/hashtag","displayName":"13"},{"objectType":"http:\/\/activityschema.org\/object\/hashtag","displayName":"14"},{"objectType":"http:\/\/activityschema.org\/object\/hashtag","displayName":"15"},{"objectType":"http:\/\/activityschema.org\/object\/hashtag","displayName":"16"},{"objectType":"http:\/\/activityschema.org\/object\/hashtag","displayName":"17"},{"objectType":"http:\/\/activityschema.org\/object\/hashtag","displayName":"18"},{"objectType":"http:\/\/activityschema.org\/object\/hashtag","displayName":"19"},{"objectType":"http:\/\/activityschema.org\/object\/hashtag","displayName":"2"},{"objectType":"http:\/\/activityschema.org\/object\/hashtag","displayName":"20"},{"objectType":"http:\/\/activityschema.org\/object\/hashtag","displayName":"21"},{"objectType":"http:\/\/activityschema.org\/object\/hashtag","displayName":"3"},{"objectType":"http:\/\/activityschema.org\/object\/hashtag","displayName":"4"},{"objectType":"http:\/\/activityschema.org\/object\/hashtag","displayName":"5"},{"objectType":"http:\/\/activityschema.org\/object\/hashtag","displayName":"6"},{"objectType":"http:\/\/activityschema.org\/object\/hashtag","displayName":"7"},{"objectType":"http:\/\/activityschema.org\/object\/hashtag","displayName":"8"},{"objectType":"http:\/\/activityschema.org\/object\/hashtag","displayName":"9"}]},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/ublog.kimapr.net\/users\/kimapr"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-04-17:objectType=thread:nonce=a96ab6769573b37e","notice_info":{"local_id":"12461972","source":"ActivityPub"}},"published":"2026-04-17T02:10:19+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/ublog.kimapr.net\/objects\/74eadabd-fce7-48f6-81ee-d9a7ec2f415a"},{"actor":{"id":"https:\/\/ublog.kimapr.net\/users\/kimapr","displayName":"kimapr","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/285564-original-tmp20241004190124.webp","rel":"avatar","type":"image\/webp","width":90,"height":90},{"url":"https:\/\/gnusocial.jp\/avatar\/285564-96-20241004190139.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/285564-48-20241004190139.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/285564-24-20241004190139.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"285564"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/285564-96-20241004190139.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"computer enthusiast. very shy.meow !!!","url":"https:\/\/ublog.kimapr.net\/users\/kimapr","portablecontacts_net":{"preferredUsername":"kimapr","displayName":"kimapr","note":"computer enthusiast. very shy.meow !!!"}},"content":"<p>Notice how there are two threads.  Why does a task manager program even have two threads?  For a really bad reason.  What the main thread does here is fire up a \u201csecondary\u201d thread that seems to be doing all the work.  It waits 5 seconds for it to complete, and then if it still haven\u2019t, calls pthread_cancel on it and tries to start it over.  There\u2019s a loop reading an atomic variable over and over with a 1ms sleep in between which is how the 5 second wait is implemented.  Okay<\/p><p>I assume there\u2019s tons of bugs in the code that cause random hangs to happen, and this is how the dev decided to tackle the issue.<\/p>","generator":{"id":"tag:gnusocial.jp,2026-06-14:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/ublog.kimapr.net\/objects\/3c9c9774-b56a-4204-92e1-0ecfec613730","object":{"id":"https:\/\/ublog.kimapr.net\/objects\/3c9c9774-b56a-4204-92e1-0ecfec613730","objectType":"note","content":"<p>Notice how there are two threads.  Why does a task manager program even have two threads?  For a really bad reason.  What the main thread does here is fire up a \u201csecondary\u201d thread that seems to be doing all the work.  It waits 5 seconds for it to complete, and then if it still haven\u2019t, calls pthread_cancel on it and tries to start it over.  There\u2019s a loop reading an atomic variable over and over with a 1ms sleep in between which is how the 5 second wait is implemented.  Okay<\/p><p>I assume there\u2019s tons of bugs in the code that cause random hangs to happen, and this is how the dev decided to tackle the issue.<\/p>","url":"https:\/\/ublog.kimapr.net\/objects\/3c9c9774-b56a-4204-92e1-0ecfec613730","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/ublog.kimapr.net\/objects\/74eadabd-fce7-48f6-81ee-d9a7ec2f415a","url":"https:\/\/ublog.kimapr.net\/objects\/74eadabd-fce7-48f6-81ee-d9a7ec2f415a"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/ublog.kimapr.net\/users\/kimapr"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-04-17:objectType=thread:nonce=a96ab6769573b37e","notice_info":{"local_id":"12461973","source":"ActivityPub"}},"published":"2026-04-17T02:10:17+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/ublog.kimapr.net\/objects\/3c9c9774-b56a-4204-92e1-0ecfec613730"},{"actor":{"id":"https:\/\/ublog.kimapr.net\/users\/kimapr","displayName":"kimapr","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/285564-original-tmp20241004190124.webp","rel":"avatar","type":"image\/webp","width":90,"height":90},{"url":"https:\/\/gnusocial.jp\/avatar\/285564-96-20241004190139.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/285564-48-20241004190139.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/285564-24-20241004190139.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"285564"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/285564-96-20241004190139.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"computer enthusiast. very shy.meow !!!","url":"https:\/\/ublog.kimapr.net\/users\/kimapr","portablecontacts_net":{"preferredUsername":"kimapr","displayName":"kimapr","note":"computer enthusiast. very shy.meow !!!"}},"content":"<p>Oh my god btop++ code is horrible.   No wonder it fucking dies whenever you look at it wrong.<\/p>","generator":{"id":"tag:gnusocial.jp,2026-06-14:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/ublog.kimapr.net\/objects\/9b501f17-2bea-4d49-8562-4c7fbe467516","object":{"id":"https:\/\/ublog.kimapr.net\/objects\/9b501f17-2bea-4d49-8562-4c7fbe467516","objectType":"note","content":"<p>Oh my god btop++ code is horrible.   No wonder it fucking dies whenever you look at it wrong.<\/p>","url":"https:\/\/ublog.kimapr.net\/objects\/9b501f17-2bea-4d49-8562-4c7fbe467516","status_net":{"notice_id":null}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-04-17:objectType=thread:nonce=a96ab6769573b37e","notice_info":{"local_id":"12461757","source":"ActivityPub"}},"published":"2026-04-17T00:33:03+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/ublog.kimapr.net\/objects\/9b501f17-2bea-4d49-8562-4c7fbe467516"}],"links":[{"url":"https:\/\/gnusocial.jp\/conversation\/6327372","rel":"alternate","type":"text\/html"}]}