railsが起動しなくなった

以下のエラーをはきまくって起動しなくなってしまった。

Fatal error 'Cannot allocate red zone for initial thread' at line 384 in file /usr/src/lib/libthr/thread/thr_init.c (errno = 12)

どうやらlibpthreadをリンクしている古いバイナリが、何の因果かlibthrもリンクしていたりすると、libpthreadとlibthrが同時に使われてしまいエラーとなってしまうそうな。

適当にWebで調べただけなので、思いっきり受け売りだけども。

ということで、portupgrade -f中。



追記:
直った。portupgrade -fa は時間がかかりすぎると思ったので中断して、以下の方針に切り替えた。

  1. portupgrade -a で要更新のものだけ更新
  2. もう一度 rails -v してみる
  3. 起動すれば解決
  4. 起動しなければ ltrace を使ってどこで落ちたかあたりをつけ、怪しいのをportupgrade -f

結果… 3番となり解決。Ruby1.8を入れなおしたのが利いたかな?