<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>トラブルシュート on オブライエンの日誌</title><link>https://america.github.io/categories/%E3%83%88%E3%83%A9%E3%83%96%E3%83%AB%E3%82%B7%E3%83%A5%E3%83%BC%E3%83%88/</link><description>Recent content in トラブルシュート on オブライエンの日誌</description><generator>Hugo</generator><language>ja-JP</language><lastBuildDate>Sun, 30 Aug 2026 11:30:00 +0900</lastBuildDate><atom:link href="https://america.github.io/categories/%E3%83%88%E3%83%A9%E3%83%96%E3%83%AB%E3%82%B7%E3%83%A5%E3%83%BC%E3%83%88/index.xml" rel="self" type="application/rss+xml"/><item><title>nvim-treesitter の master→main 移行で踏んだ treesitter エラー3連発（Neovim 0.12）</title><link>https://america.github.io/post/2026-08-30-nvim-treesitter-master-to-main-migration-errors/</link><pubDate>Sun, 30 Aug 2026 11:30:00 +0900</pubDate><guid>https://america.github.io/post/2026-08-30-nvim-treesitter-master-to-main-migration-errors/</guid><description>Neovim 0.12 で nvim-treesitter を EOL の master ブランチから main へ移行したときに連続で踏んだ3つのエラー ― Markdown が gotmpl parser で落ちる、コードフェンスのハイライトが死ぬ、.txt ファイルで Parser could not be created ― の原因と対処のメモ。</description></item><item><title>swayfxのscratchpadクラッシュを追う: git blameで見つけたupstreamとの噛み合わせ問題</title><link>https://america.github.io/post/2026-08-09-swayfx-scratchpad-null-crash/</link><pubDate>Sun, 09 Aug 2026 17:00:00 +0900</pubDate><guid>https://america.github.io/post/2026-08-09-swayfx-scratchpad-null-crash/</guid><description>&lt;h2 id="事象"&gt;事象&lt;/h2&gt;
&lt;p&gt;普段使っているswayfx上で、scratchpadに入れたウィンドウを表示している状態からもう一度&lt;code&gt;scratchpad show&lt;/code&gt;を叩くと、コンポジタごと丸ごと落ちる現象に遭遇した。SDDMのログイン画面まで戻される、なかなか派手なクラッシュ。&lt;/p&gt;
&lt;p&gt;環境:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;項目&lt;/th&gt;
&lt;th&gt;値&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;swayfx&lt;/td&gt;
&lt;td&gt;0.5.3-4(sway 1.11.0ベース、Arch Linuxパッケージ)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;wlroots&lt;/td&gt;
&lt;td&gt;0.19.3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GPU&lt;/td&gt;
&lt;td&gt;AMD Radeon RX 6600 XT(amdgpu)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;bindsymはこう組んでいた:&lt;/p&gt;
&lt;div class="codeblock-wrapper"&gt;
&lt;pre&gt;
&lt;code id="codeblock-0" class="language-"&gt;bindsym $mod+minus scratchpad show, resize set width 90 ppt height 90 ppt, move position center&lt;/code&gt;
&lt;/pre&gt;
&lt;button class="copy-btn" onclick="copyToClipboard('codeblock-0', this)"&gt;Copy&lt;/button&gt;
&lt;/div&gt;
&lt;p&gt;&lt;code&gt;scratchpad show&lt;/code&gt;と同時に&lt;code&gt;resize&lt;/code&gt;・&lt;code&gt;move&lt;/code&gt;を連続実行する形。これを2回続けて押す(1回目で表示、2回目でフォーカスしたまま押してhideパスに入る)とクラッシュする。&lt;/p&gt;
&lt;h2 id="スタックトレースを取る"&gt;スタックトレースを取る&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;coredumpctl&lt;/code&gt; + &lt;code&gt;gdb&lt;/code&gt;(デバッグシンボル入り)でコアダンプを解析した。&lt;/p&gt;
&lt;div class="codeblock-wrapper"&gt;
&lt;pre&gt;
&lt;code id="codeblock-1" class="language-"&gt;#0 root_scratchpad_hide (con=0x55f058a52400) at ../swayfx-0.5.3/sway/tree/root.c:257
257 set_container_transform(con-&gt;pending.workspace, con);
seat = 0x55f0580db940
focus = 0x55f058a41760
ws = 0x0&lt;/code&gt;
&lt;/pre&gt;
&lt;button class="copy-btn" onclick="copyToClipboard('codeblock-1', this)"&gt;Copy&lt;/button&gt;
&lt;/div&gt;
&lt;p&gt;&lt;code&gt;ws&lt;/code&gt;(= &lt;code&gt;con-&amp;gt;pending.workspace&lt;/code&gt;)が&lt;code&gt;NULL&lt;/code&gt;のまま&lt;code&gt;set_container_transform()&lt;/code&gt;に渡され、内部で参照外しして落ちていた。該当箇所のコードはこうなっていた:&lt;/p&gt;
&lt;div class="codeblock-wrapper"&gt;
&lt;pre&gt;
&lt;code id="codeblock-2" class="language-c"&gt;void root_scratchpad_hide(struct sway_container *con) {
struct sway_seat *seat = input_manager_current_seat();
struct sway_node *focus = seat_get_focus_inactive(seat, &amp;root-&gt;node);
struct sway_workspace *ws = con-&gt;pending.workspace;
if (con-&gt;pending.fullscreen_mode == FULLSCREEN_GLOBAL &amp;&amp; !con-&gt;pending.workspace) {
// If the container was made fullscreen global while in the scratchpad,
// it should be shown until fullscreen has been disabled
return;
}
...
set_container_transform(con-&gt;pending.workspace, con); // ガードなし&lt;/code&gt;
&lt;/pre&gt;
&lt;button class="copy-btn" onclick="copyToClipboard('codeblock-2', this)"&gt;Copy&lt;/button&gt;
&lt;/div&gt;
&lt;p&gt;NULLチェックが「&lt;code&gt;FULLSCREEN_GLOBAL&lt;/code&gt;のときだけ」に絞られていて、それ以外の理由で&lt;code&gt;pending.workspace&lt;/code&gt;がNULLになるケースを素通りしてしまう。&lt;code&gt;set_container_transform()&lt;/code&gt;はswayfx独自の追加関数(本家swayには存在しない)なので、一見swayfx側のバグに見えた。&lt;/p&gt;</description></item><item><title>Street Fighter 6 (Proton) で日本語入力ができない問題は /etc/environment のIME環境変数で解決した</title><link>https://america.github.io/post/sf6-proton-mozc-ime/</link><pubDate>Thu, 06 Aug 2026 20:30:00 +0900</pubDate><guid>https://america.github.io/post/sf6-proton-mozc-ime/</guid><description>SF6のチャット欄でCtrl+Spaceが効かない問題を、Proton/WineのIME実装の制約だと結論づけたが、それは誤りだった。/etc/environment にIME環境変数を設定したところ直接入力が動作するようになった。当時の調査記録と、訂正までの経緯。</description></item><item><title>ASRock環境のArch+Windowsデュアルブート問題の記録</title><link>https://america.github.io/post/dualboot-issue-asrock/</link><pubDate>Sun, 16 Nov 2025 18:40:00 +0900</pubDate><guid>https://america.github.io/post/dualboot-issue-asrock/</guid><description>&lt;hr&gt;
&lt;h1 id="arch-linux-と-windows-11-デュアルブート問題"&gt;Arch Linux と Windows 11 デュアルブート問題&lt;/h1&gt;
&lt;h2 id="asrock-環境でrestart-だと起動しないのにshutdown-だと起動する謎バグの記録"&gt;ASRock 環境で「restart だと起動しないのに、shutdown だと起動する」謎バグの記録&lt;/h2&gt;
&lt;hr&gt;
&lt;h2 id="はじめに"&gt;はじめに&lt;/h2&gt;
&lt;p&gt;Arch Linux と Windows 11 を同じマシンでデュアルブートしているときに、
「Arch から再起動すると Windows が起動しないのに、電源OFF→ONだと普通に起動する」
という不可解な現象に遭遇した。&lt;/p&gt;
&lt;p&gt;環境：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ASRock A520M Pro4&lt;/li&gt;
&lt;li&gt;Ryzen 7 5700X&lt;/li&gt;
&lt;li&gt;Radeon RX 6600 XT&lt;/li&gt;
&lt;li&gt;DDR4 32GB&lt;/li&gt;
&lt;li&gt;systemd-boot&lt;/li&gt;
&lt;li&gt;ESP を共有&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;この記事は、このときに見た現象と、EFI / systemd-boot / ASRock UEFI まわりを調べたメモをまとめたもの。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="トラブルの症状と再現性"&gt;トラブルの症状と再現性&lt;/h2&gt;
&lt;h3 id="症状"&gt;症状&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Arch → 再起動 → systemd-boot で Windows を選択 → 自動修復、ロゴ停止、黒画面&lt;/li&gt;
&lt;li&gt;Arch → シャットダウン → 電源ON → Windows → 正常起動&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="再現手順"&gt;再現手順&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Arch を起動&lt;/li&gt;
&lt;li&gt;再起動（reboot）&lt;/li&gt;
&lt;li&gt;systemd-boot で Windows を選択&lt;/li&gt;
&lt;li&gt;起動失敗 or 自動修復に入る&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;逆に、&lt;/p&gt;</description></item></channel></rss>