トップ «前の日(02-10) 最新 次の日(02-12)»

2020-02-11 (Tu)

_ 建国記念日

…は月曜に移動しないんだな。

_ またメールが届かない?

今朝目が覚めた時、メールを確認したら何も来てなくて、また?? と思った。

そこで gmail から自分宛にメール送ったら届いた。大丈夫っぽいので、そのまま放置。

1時間後くらいにいくつかメール届いた。

このメールサーバ、まだ不安だなぁ。

_ assignment in conditional expression

https://ja.stackoverflow.com/questions/1961/

kernel の device driver を書く時、I/O ポートを

volatile unsigned char *port;

とか定義して、

*port = 0x12;

とか書くと思うし、

#define PORT (*port)

とか書くこともあると思う。

こういう場合、

if ((PORT = func()) == 0x12)

PORT = func();
if (PORT == 0x12)

では意味が異なってくるんだよね。 前者は I/O ポートから読まないけど、後者は読む。 書いたものがそのまま読めるだけのポートなら遅くなるだけで済むけど、 そうでなかったら、全然違う結果になってしまう。

まぁ、そんなことを気にしなきゃいけない人は極少数だから、 「分けるべし!」に異論はないんだけど、 「ほとんどのコーディング規約で許可されない」ほどのものなのか。

私は好んで使ってるなぁ。 返り値を確認しなきゃいけないことはそりゃ頻繁にあるし、 そういう場合は一時的に分けてるんだけど。

話が C じゃなくなるけど、 rubocop の default 設定が私の感性と合わないらしく、 しょっちゅう怒られるんだよね… sweat_smile

_ scp のバグに遭遇

scp で巨大なファイルを手元にコピーしたい。よくある話。

時間がかかるので、nohup 付けて & も付けて background にした。

その後、端末が落ちてしまった。

そうすると、転送が止まってしまった。scp のプロセスは生きているのに。

という話。

https://blog.ingage.jp/entry/2020/02/10/114509

↑途中まで調べられるだけ調べたので、ブログ記事にした。というのが昨日。

今日は原因を更に追求してみて、解ったので書いてみる。

まずは zsh が SIGHUP を送っているのは確からしい。

で、データの流れを図にすると、↓こんな感じ。

scp -- (PIPE) -- ssh -- (TCP) -- sshd --...
↓
ファイル

scp が fork して ssh プロセスを作り、ssh が sshd に TCP で接続し、 おそらくその向こうにも scp がいて、ファイルをこっち側の scp に送り、 scp がファイルに落とす。という感じ。

で、

  1. nohup を付けてるので、scp は SIGHUP が SIG_IGN の状態で起動する
  2. scp が ssh を起動する。この時、SIGHUP は SIG_IGN。
  3. scp は SIGHUP を自前のハンドラに設定する。
  4. いろいろやった後、転送が始まる。
  5. 端末が落ちる。
  6. zsh が scp と ssh に SIGHUP を送る。
  7. scp では自前のハンドラが呼ばれる。ssh では無視される。
  8. scp の自前ハンドラでは子プロセス (=ssh) に SIGHUP を送る。
  9. ssh はこの SIGHUP も無視する。
  10. scp は ssh が終わるのをひたすら待つ。ssh が PIPE 経由でデータを送ってるのを無視して。
  11. ssh は scp がデータを受け取ってくれるのを待つ。

こんな状態で止まってるっぽい。

ssh は、SIGHUP ハンドラを設定する時に、既に SIG_IGN だったら設定しないようになっている。 だから SIG_IGN のまま変わらない。しかし、scp は必ず自前ハンドラに設定し、SIGHUP 時に 子プロセスの終了を待つようになっている。

これは scp のバグだと思うな。SIG_IGN の場合は、ハンドラを設定するのはともかくとして、 子プロセスの終了を待っちゃいかんと思う。SIG_IGN でなくても、ハンドラ内で待つなんて、 行儀が悪い。

バグレポートは… どうしようかと思ったんだけど、 こんな症状、今までに報告がなかったとは思えないんだよね… たぶん、報告はあったけど放置してる、って状態なんじゃないかな、と。

http://bugzilla.mindrot.org/show_bug.cgi?id=2091

↑これやね。最近になってログが添付されたりして、進みそうな気配。 私の調査結果をコメントしとこ。

たぶん、最近の流行としては、disown を使うんだろうな。 そうすれば、shell の job 管理から外れて、signal が飛ばなくなる? いや、tty から飛ぶことはありそうに思うけど。

https://qiita.com/aosho235/items/24bf88462811eccbdec8

↑UART ドライバから飛ぶらしい。じゃぁ ssh の場合は関係ないね。

つまり、serial tty からの login でない限りは、

command < /dev/null >& /dev/null &
disown

で大丈夫ってことかな。


2021-02-11 (Th)

_ ドライヤーを買い替えた

こういうのってなかなか買い換えないよな… 壊れないから…

でも壊れた。持ち手を折りたたむとパキッって音がするようになった。 よく見たらプラスチック筐体にヒビが入ってる。 そろそろ買い替え時か… と。

新しいドライヤーは性能的にはほとんど変わらんかな。 Turbo - Set - Cold - Off しかない。 マイナスイオンが出せるらしいけど、まぁ使わんし。

Turbo にしたらうるせー。キーンって高音が。 これで静音タイプなんだよな… そして風量は他のモデルに比べて少ない。

¥2,000 弱しかしなかった安物だし、そんなもんかもなw


2022-02-11 (Fr)

_ KDE Night Color を調整する

いや、調整するっつったて、 「現在地の日の入りから日の出まで」 にしておけば、それだけでいいはずなんだけど…

うまくいかなかった。 3時くらいに Night Color が始まって 15時くらいに終わる設定になってしまう。

Latitude も Longitude も 0 になってる。イギリスの南の方かー。 そんなところにはいねーわ.. ていうかなんで 0?

で、設定をあちこち見回して、接続がないことに気づいた。 OS の設定でつながってるから無視してたけど、 まさかこれ?

ってなわけで設定しようとしてみたけど、WiFi パスワード入力しても なんかエラーが出て設定できず。 もう一度やってエラー内容を確認。 えーっと、あれだ、NetworkManager が動いてないんだな。 今、iwd でやってるから。

そこで、iwd 止めて NetworkManager を起動して、 もう一度 WiFi 設定を作ったら今度はつながった。

そして Night Color の設定を見たら、Latitude も Longitude も反映された。 開始終了時間も良さげ。

めんどい… なんで KDE 上で設定する必要があるわけ? なんなら iwd に対応して欲しいわ。

で、反映されたはいいけど、まだその時間じゃないのに night mode になってる。 OS reboot したり Night Color 設定をごちゃごちゃいじったり してるうちに治ったけど、なんなんだろうなぁ。 時間になっても起動しないかもしれん…

あと、WiFi 管理に systemd も使ってたんだな。そっちも止めた。 IPv4 アドレスが2つ付いてたw

_ screen locker

ロック画面がまったく味気ないものだったので、設定。

しばらく探し回って、ぐぐって、「ワークスペースの挙動」に「スクリーンロック」を発見。

おぉ、スライドショーができる。しかも短周期で。素晴らしい!

_ drag lock

おぉ、これいい!

…と思って有効にしてたんだけど、外そう。

ロックが timeout するまでが長過ぎて使いにくい… そして設定できない…

_ バッテリメータ要るなぁ

なんだろ、plugin かなんかあるのかな。

あ、Shown when relevant になってた。 Always shown にしたら表示されるようになった。

_ KDE だいたい設定できたけど

resize がうまく設定できんなぁ... 枠を掴まずに resize できるようにならんかな..

マウスなら alt+右ボタン でもいいんだろうけど、 タッチパッドじゃ無理だしな。。

全体的に設定が奥まったところにあるのは、 項目が多くて階層化しまくってるせいだろうなぁ。 それでも多いけど。すごいな… GNOME はとにかく切り捨てていって add-on でなんとかしてる印象。

にしても、何だろうな、この、よくできたものを使ってる気がする安心感。 Wayfire の時もちゃんと設定してたつもりだったんだけど、 それでも KDE の方がしっかりしてる見た目。 タスクバーのタスクが立体的に見えるせいかもしれない。 それはただテーマがそうなってるだけだろうけど。


2023-02-11 (Sa)

_ 映画「すずめの戸締まり」を観てきた

姉と見に行った。

映画館がらがら。赤字なんじゃ? と心配するぐらい。

前半の迫力(主に低音)に圧倒されたり。

最後は泣けたり。と思ったら、姉は別に泣けなかったらしい。 私は涙流しながら観てたんだけど!?w やっぱり私は涙もろくなってるのかな。

バレンタインにミルフィーユをもらったので、 帰って落ち着いて一つ食べてみた。 うま〜〜。ミルフィーユ大好き人間にこれは…


2024-02-11 (Su)

_ 原神 - ガチャ禁

さて困った。申鶴までのガチャ禁が揺らいでる。 申鶴のダメバフ欲しいんだけど、ナヒ2凸も欲しい。 今を逃すと、次はきっと来年。でもそれはどちらも同じこと。

https://gamewith.jp/genshin/article/show/308836

↑ダメバフ +15% か…。今 61.6% だから、ここに +15% すると 76.6%。 x1.616 → x1.766。約 1.1倍。スキル一発 40,000 が 44,000 になる感じ? あーいや、爆発でさらにバフを強化できるってことか。

この申鶴のスキル短押し、何粒作れるのだろう… そっちが気になる。

西風長槍と絶縁剣闘士かな。西風は今は香菱に持たせてて使ってないので 申鶴に持たせて大丈夫だな。

まー申鶴まで待つか… ナヒーダは草付着+滅浄三業でしか使ってないし。

_ 面白いメール来た

私のブラウザ履歴や webcam へのアクセス権を手に入れたらしい。へー

To: が旧メールアドレスなんだよね。で、それはほとんどのサービスには 拡張アドレスを登録してある。にも関わらず、この迷惑メールは ベースアドレスに届いてる。

さー、どこから漏れたのやら… haveibeenpwned に聞いてみたが知らないみたい。


2025-02-11 (Tu)

_ 原神

事前ダウンロード済み。

_ 鳴潮

こっちも事前ダウンロード。

レイトレーシング、どのくらい負荷かかるだろう… 今既に 90% くらい負荷かかってるから、 これにレイトレーシングの負荷をかけると、 60fps 出ないんじゃないかなぁ...

_ PC

ThinkBook シーシェル色、妙に物欲というか所有欲をそそられるなぁ...

もうちょっと安くならないかな…

買ってしまいたいが、深夜は判断が鈍るので、また明日。


追記 パスワード変更