たとえ未使用であってもスッポン(ラバーカップ)振り回している人には近づけません…
OpenBSD(uaa@), Ham(JG1UAA), Ingress(Lv14, RES), Japanese(Sagamihara-city, Kanagawa)
Another side: https://social.tchncs.de/@uaa
npub1rarr265r9f9j6ewp960hcm7cvz9zskc7l2ykwul57e7xa60r8css7uf890
Messages from this Mastodon account can read via mostr.pub with npub1j3un8843rpuk4rvwnd7plaknf2lce58yl6qmpkqrwt3tr5k60vfqxmlq0w
たとえ未使用であってもスッポン(ラバーカップ)振り回している人には近づけません…
仮想メモリだってfault拾ってswap-inするんだし、何かの意図があってメモリ保護効かせている領域にsignal発生させるような「何か」をすることがあるんだろうなーって、ほけーっと考えてた。とはいえ、いきなりsignalの種別変えるのはどうなん?って気はする。
ドライバ屋さんな視点だと、ハードウェアいじってデバイスのIRQ番号を変えたに等しい、そんな感じの所業。
このアカウントは、notestockで公開設定になっていません。
レバーレスコントローラ、格ゲーはしないけどちょっと気になる。キーボードやマウスのちょっとした代替品として使えないかな?(だったらキーボード寄りのブツの方が良いような…?自作キーボードの世界もあることだし)
嬉しいねえ、こんな拙いレポートのために…ESFMuな人達、もう動いてくれてる。感謝しか無いよ。
OpenBSD/i386上でDOSBox-Xのビルドが通らないぞ💢、とお叱りのメールを受け取ってしまいちょっとしょげてます。
ESFMuの問題で、何故かclang-13ではビルドが通る(clang-14~16ではダメって)ことは分かってるので、その旨issue立ててお返事待つとしましょうか。
どうも/etc/rc.localから呼び出したコード、何故かSIGHUPを食らうというのがNetBSD/OpenBSD共通の挙動みたいね。FreeBSD/DragonFlyBSDの動作も見てみたいんだけど、syslogの扱いが分からないので調べられていない。
こんな感じのしょーもないコードを書いてたんだけど。 https://github.com/jg1uaa/signal_check
FreeBSD(たぶんDragonFlyBSDも)のsyslogって高機能すぎて扱えないんですけど…条件に応じた振り分けとか、とりあえずsyslogに吐けばいーじゃーんって思想とは相反してますよね。
rc.confにlocal_enable="YES"って書かないと/etc/rc.local見てくれないんですかDragonFlyBSD。
slackwareのclangでは問題ないの確認してるんだけどな
このアカウントは、notestockで公開設定になっていません。
uaa@framboise:~/ESFMu$ clang -m32 -march=pentium3 -c esfm.c -o esfm.o
esfm.c:1849:5: error: inline assembly requires more registers than available
"movzbl %b[wave], %%eax \n\t"
^
esfm.c:1849:5: error: inline assembly requires more registers than available
2 errors generated.
uaa@framboise:~/ESFMu$
何故?
SIGHUPって必ずしも再起動目的って訳じゃないのか(Apache httpdでの使い方が染みついちゃってるので)。
SIGHUPでプロセスを殺すケースも無くは無いと…
(某ページを見て)厳しく監視していく、というのは結構だけど…科学的な批判よりもむしろイデオロギーのニオイの方が、強いと感じた。大体、所属するメンバーがどういうバックグラウンド(所属)なのかということを何故記述しない?
まあ弁の立つ人が多そうだから、下手に噛みつこうものならこちらが食われるのでこれ以上はお口にチャックだけど。
NetBSD派生なんだよね、OpenBSDって。なのでFreeBSD/NetBSDは「直系なんだよなー」って目で見てしまいます。
派生つながりということで、DragonflyBSDとは仲良くしたい…(個人的願望)
このアカウントは、notestockで公開設定になっていません。
rc.localから起動するとSIGHUP食らってmrefdが終了する、ってのはsystemdベースなOSじゃ起こらない(しそもそもmrefdはsystemdベースのOSにしか対応せんとわざわざ言ってる)んだけど、流石にシグナルハンドラをテキトーに突っ込んどいた挙句に謎のSIGHUPくらって落ちるっていう問題に対しては何らかの改善を期待しても罰は当たらない…よね?
rc.localで起動するプログラム、どうもpause()で待ってるとSIGHUPを食らって落ちるということまでは分かった。
どうやらstd::signal()でシグナルハンドラを定義するとそれを拾ってpause()から抜けるという作りなのか。そりゃまあ死ぬわなと。
Debian-12でもclang-16を使えるので、これを入れてOpenDHTのビルドを試みたけどusleep()周りでこける以外はtools/の生成は問題なし。
…ってことは、OpenBSD特有の問題なのかな。-fvisibility=hiddenの話。
Fonts66コンプリートパック/109書体
3/14まで特売やってます。\2980。
https://pcshop.vector.co.jp/promo/catalogue/fonts66/
幾度か特売をやってることがあり、その度にチャンスを逃していたんですが…とうとう掴めました。
このアカウントは、notestockで公開設定になっていません。
良すぎる
免許取るならオートマでいいよ - 菱田すみ | 少年ジャンプ+ [ https://shonenjumpplus.com/episode/9324103625676410700 ]
欲しいものがあってもとんでもなく高価になるとか、お金積めば動いてくれる人のアテがないとか、とにかくなんかツラいですこの世の中って…(自分の努力て手に入るもので我慢しな、なんでしょうかね…それで満足すれば苦労はしない)。
このアカウントは、notestockで公開設定になっていません。
あらら、Debian-12のclangはclang-14なのか。16辺りを使ってるdistro探さないとダメなんだろか。
Arch Linuxで、OpenDHTをgcc-13.2.1/clang-17.0.6でびるどしてはみたけど…-fvisibility=hiddenに関する問題は全くなし。clangだとdhtcnode.cのusleep()がエラーになってしまう(gccはwarningで済む)けど、dhtnode.cppやdhtchat.cppは問題なくビルドが通る。
ふーん、void linuxもArch linuxもclang-17.0.6か。
ん-む、8GBほどのファイルを用意してswapとして追加したけど、起動時にmrefdが動いたはずなのにどっか行っちゃう現象は改善せず。ということは、メモリ不足という訳ではないってことか。
OpenBSD tips and tricks - adding swap on the fly (2009/Aug/7) http://parvinderbhasin.blogspot.com/2009/08/openbsd-tips-and-tricks-adding-swap-on.html
ああ、OpenBSDでも区画じゃなくファイルへのswapできますか。とりあえずこれで問題をしのげるならそれで良いか…
Archだったら新し目のclang入ってるだろうし、これでビルドできるかどうかを判断材料にすれば良いんだろうか?
-fvisibility=defaultもしくはprotectedならOpenDHTのtoolsのビルドは通る。もともとhiddenだった場合、default/protectedのどちらへ置き換えるのが適切なんだろう。見えないシンボルに上書きしようが何しようが問題は無いけど、見えてしまっているシンボルに上書きして意図しない動作を起こされるくらいなら、上書きを禁止してライブラリの動作を守る側に振っておく方が良いのかなという気はする。
ConoHaはOpenBSD使えるのか。とはいえGMO系は避けたいんだよな…他の選択肢を探そう。
#define OPENDHT_IMPORT __attribute__ ((visibility ("default"), type_visibility ("default")))
#define OPENDHT_EXPORT __attribute__ ((visibility ("default"), type_visibility ("default")))
#define OPENDHT_HIDDEN __attribute__ ((visibility ("hidden"), type_visibility("hidden")))
こいつを仕込んだところで改善しないか…それにCではtype_visibility使うなって怒られるし。
attributeのtype_visibilityは今のところclang専用。https://libcxx.llvm.org/DesignDocs/VisibilityMacros.html
問題がこれがいつごろから生えてきたかってことになるんだが…
clang-13.0には無い https://releases.llvm.org/13.0.0/tools/clang/docs/AttributeReference.html
clang-14.0にも無い
https://releases.llvm.org/14.0.0/tools/clang/docs/AttributeReference.html
clang-15.0には有る
https://releases.llvm.org/15.0.0/tools/clang/docs/AttributeReference.html
ってことはclang-13.0と16.0だとビルドによる結果が変わる可能性はあるのかもしれない。
あれなんなんでしょうかね、何もしてないのにYouTubeが再生速度2倍になってるの。リロードとかすると治るんだけど…いきなりアレを食らうとちょっと焦る。
Symbol Visibility in OpenEXR https://openexr.com/en/latest/SymbolVisibility.html
ん?この表??
Slackware-15.0はclang-13, OpenBSD-current(7.5beta)はclang-16。
どっちも-fvisibility=hiddenは効いていて、Slackwareならopendht/toolsのビルドは通る。
特にこのオプション/attribute絡みのバグって無い気がするんだけど…なんかあるのかなあ。
(でもSlackware-15.0/i686上ではclangでも問題なくビルドできてたような)
OpenBSD-ports化したOpenDHT、付属toolsのビルドだけでなくmrefdのビルドでもリンクがうまくいかない(no referenceだかなんだかのエラーが出る)という問題で頭抱えてるんだけど…
openbsd-current-vm# diff configure.ac~ configure.ac
22c22
< [CXXFLAGS="${CXXFLAGS} -O3 -Wno-deprecated -pedantic-errors -fvisibility=hidden"])
---
> [CXXFLAGS="${CXXFLAGS} -O3 -Wno-deprecated -pedantic-errors -fvisibility=default"])
openbsd-current-vm#
この修正でtoolsのビルドが通ってる。fvisibilityの指定、Linuxでも特に変わらないはずだったよな…?
RAM2~4G、ストレージ100GB、CPUコア2~4個、OpenBSDを載せられる\1k以下/月の国内VPSなんてそうそう無いよねえ…
VPSのメモリを増やすのは簡単じゃないけど、swap増やすのはもっと簡単じゃないかも。多分起動時にあれこれ動くのでmrefd殺されてる気がする。OpenBSDもカーネルのリンクし直しが最初に走るし…
^[0-9]?[A-Z]{1,2}[0-9]{1,2}[A-Z]{1,4}(()|(/[A-Z0-9]{1,3}|-[A-Z0-9]))(()|([ ]*[A-Z]))$
^[0-9]?[A-Z]{1,2}[0-9]{1,2}[A-Z]{1,4}(($)|(/[A-Z0-9]{1,3}$|-[A-Z0-9]$)|([ ]*[A-Z]$)|((/[A-Z0-9]{1,3}|-[A-Z0-9])[ ]*[A-Z]$))
…これでいいのかなあ?
分解するとこうなるのか。
^[0-9]?[A-Z]{1,2}[0-9]{1,2}[A-Z]{1,4}
(()|(/[A-Z0-9]{1,3}|-[A-Z0-9]))
(()|([ ]*[A-Z]))
$
で、()の部分が嫌なんだって、POSIX regex。流石にこれは4通りのパターンに展開しないとダメ?
clientRegEx = std::regex("^[0-9]?[A-Z]{1,2}[0-9]{1,2}[A-Z]{1,4}(()|(/[A-Z0-9]{1,3}|-[A-Z0-9]))(()|([ ]*[A-Z]))$", std::regex::extended);
こいつが
libc++abi: terminating with uncaught exception of type std::__1::regex_error: An empty regex is not allowed in the POSIX grammar.
で引っかかるんだけどどう直したもんか…