Memo

Twitterに書くには長すぎることを書きます。Opinions are my own.

Linux環境でstack overflowしたときの対処 + その他

そもそも無限ループしている、みたいな話ではなく、AtCoderのコードテストだと通るのに手元だとREする、みたいな話です。解決手順は以下の通り

  • Terminalを開く
  • ulimitを設定する
$ ulimit -s unlimited
  • CLionを開く
$ ${HOME}/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/201.6668.126/bin/clion.sh > /dev/null 2>&1 &

JetBrains Toolboxで入れてる場合はこんなパスになる

恒久的に解決したい場合は以下のようなコマンドで設定を書き換える。再起動は上記のようなコマンドを叩かなくてもよくなる。

$ sudo echo "aajisaka soft stack unlimited" > /etc/security/limits.d/aajisaka.conf

ところで自分のUbuntu環境、BIOSのアップデートとかKernelのアップデートとかやってたらなぜかsudo権限失ったのですが...

aajisaka-x1carbon% sudo -s
[sudo] password for aajisaka: 
aajisaka is not in the sudoers file.  This incident will be reported.

ディスク暗号化が邪魔をしているのか、shiftキーを押しっぱなしでもrecovery modeに入ってくれないし困っていましたが、結局USB bootしてmountしてchrootして解決しました。以下参考にしたサイト

ちなみに、これをやらかした原因はBIOSアップデートでもなくKernelアップデートでもなく、以下のコマンドが原因でした。

$ sudo usermod -G docker aajisaka

これまでaajisakaさんはsudo groupにいたのに、上記コマンドで消えてしまっていました。みんなは

$ sudo usermod -aG docker aajisaka

を使おうね! というのと、こういうときのためにrootパスワードは設定しておきましょう...