Bug #5076

Mac OS X Lion Support

Added by Yui NARUSE over 2 years ago. Updated about 2 years ago.

[ruby-core:38391]
Status:Closed
Priority:Normal
Assignee:-
Category:-
Target version:1.9.4
ruby -v:- Backport:

Description

Ruby doesn't work on Lion.


Subtasks

Bug #5031: Enumerable#zip SEGFAULTs with a Range Object (Mac OS X 10...Closed

Bug #5078: test-all make SystemStackError on OS X 10.7 (Lion)Closed

Bug #5081: LionでTestSyslog が一件 failureClosedAkinori MUSHA

Bug #5082: test_context_switch(TestMarshal) was failed on OS X 10.7 ...ClosedMotohiro KOSAKI

Bug #4501: 1.9.2-p180 fails to compile on OSX 10.7Closed

Bug #5122: make test fails on OS X 10.7 (11A511)Closed

Bug #5201: Ruby 1.9.2p290 [x86_64-darwin11.0.0] Fiber.yieldでSEGVThird Party's Issue

Bug #5433: PTY.spawn Kernel panic on macos lionThird Party's IssueKenta Murata


Related issues

Related to ruby-trunk - Bug #4944: crash in FIPS mode after unchecked EVP_DigestInit_ex failure Closed 06/29/2011
Related to Backport92 - Backport #5074: "[BUG] cfp consistency error - send" on TestEnumerator#te... Assigned 07/22/2011
Related to Backport93 - Backport #5851: make check fails when compiling with GCC 4.7 - *** longjm... Closed 01/06/2012
Related to ruby-trunk - Bug #5933: thin と Rack::FiberPool で SEGV が発生 Closed 01/26/2012
Related to ruby-trunk - Bug #7817: (Unable to compile Ruby 2.0.0-rc2 on OSX (clang version 2.1) Rejected 02/10/2013
Duplicated by ruby-trunk - Bug #5181: yard causes Ruby 1.9.2 crash on Mac OS X Lion (64-bit) Closed 08/10/2011

Associated revisions

Revision 32628
Added by Motohiro KOSAKI over 2 years ago

  • vminsnhelper.c (vmcall_cfunc): added volatile for a workaround of cfp consistency error problem on OS X 10.7 (Lion). It's suspected llvm optimization bug. [Bug #5076]

History

#1 Updated by Motohiro KOSAKI over 2 years ago

  • Status changed from Open to Closed
  • % Done changed from 33 to 100

This issue was solved with changeset r32628.
Yui, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


  • vminsnhelper.c (vmcall_cfunc): added volatile for a workaround of cfp consistency error problem on OS X 10.7 (Lion). It's suspected llvm optimization bug. [Bug #5076]

#2 Updated by Motohiro KOSAKI over 2 years ago

  • Status changed from Closed to Open

すいません、コミットするときに参照するバグ番号を間違えたようです。reopenします

#3 Updated by Motohiro KOSAKI over 2 years ago

備忘録として。むらけんのさんのくーるパッチ r32649 によってクラッシュバグは #5081 (syslogのフォーマット変更)以外のfaulureは消えたので、もうLion対応は1.9.3 のblockerではありません。1.9.4までに作業すればよい状況です。

#4 Updated by Motohiro KOSAKI over 2 years ago

  • Target version changed from 1.9.3 to 1.9.4

Now, r32649 provides us a very nice workaround. Then, we can slip this ticket to 1.9.4.

#5 Updated by Ramsey Dow over 2 years ago

Although bug #5181 was closed as a dup, yard 0.7.2 crashing on Lion is apparently just a part of a larger problem. yard also crashes on Mac OS X 10.6.8 (Snow Leopard) with the same version of Ruby and RubyGems (1.9.2-p290 and 1.8.7, respectively).

#6 Updated by Yui NARUSE over 2 years ago

下記の通り Github にてコミットへのコメントとして、Xcode 4.2 Developer Preview 7 において、
付録の LLVM/clang が更新され、trunk の test-all が通るようになっています。
同時に gcc-4.2 の添付が終了しているようなんですが(こっちはすでに入ってたので未確認)どうしましょうか。
https://github.com/ruby/ruby/commit/ddcb133aa22bf0be31baeea0787369671c689b74
"Apple clang version 3.0 (tags/Apple/clang-211.9) (based on LLVM 3.0svn)"

#7 Updated by Motohiro KOSAKI over 2 years ago

  • Status changed from Open to Closed
  • % Done changed from 71 to 100

This issue was solved with changeset r32629.
Yui, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


merge revision(s) 32628:

* vm_insnhelper.c (vm_call_cfunc): added volatile for a workaround
  of cfp consistency error problem on OS X 10.7 (Lion). It's
  suspected llvm optimization bug.
  [Bug #5076] 

#8 Updated by Motohiro KOSAKI over 2 years ago

  • Status changed from Closed to Open

あれ、見に覚えがないのにcloseされてる。再度 openします。
ええと、間にあうなら1.9.3p0に入れるべきだと思いますが、わたしは時間が取れません

#9 Updated by Yui NARUSE over 2 years ago

Motohiro KOSAKI wrote:

あれ、見に覚えがないのにcloseされてる。再度 openします。
ええと、間にあうなら1.9.3p0に入れるべきだと思いますが、わたしは時間が取れません

ええと、事は単純じゃなくてですね、
* Xcode 4.1 環境の場合: gcc (llvm-gcc) だとダメ、gcc-4.2 なら OK
* Xcode 4.2 環境の場合: gcc (llvm-gcc) でも動く模様、gcc-4.2 がない、まだベータ
ってかんじなのです。

#10 Updated by Kenta Murata over 2 years ago

gcc -v の出力内容を見て振り分けるしかやりようがない気がします。

#11 Updated by Kenta Murata over 2 years ago

よく考えてみると、単純に「gcc-4.2 が存在していたら gcc-4.2 を使う」というやり方で良さそうです。如何でしょう?
これで問題なさそうなら、今夜にでも patch を書いて直してしまおうと思います。

#12 Updated by Shyouhei Urabe over 2 years ago

バグってるコンパイラをサポートし続ける意味が分からない。

193p0に関してはXCode4.2を使えとでもリリースアナウンスに書いときゃそれでいいでしょう。

#13 Updated by Yui NARUSE over 2 years ago

Shyouhei Urabe wrote:

バグってるコンパイラをサポートし続ける意味が分からない。

193p0に関してはXCode4.2を使えとでもリリースアナウンスに書いときゃそれでいいでしょう。

わたしもこちら側の考えで、入れた hack の全 revert でいいんじゃないかと思っています。

#14 Updated by Kenta Murata over 2 years ago

なるほど、そうですね。
では、XCode 4.2 が正式にリリースされたら revert することにします。

#15 Updated by Yui NARUSE over 2 years ago

Kenta Murata wrote:

なるほど、そうですね。
では、XCode 4.2 が正式にリリースされたら revert することにします。

Xcode 4.2 の正式リリースより 1.9.3 のリリースの方が多分先です

#16 Updated by Motohiro KOSAKI over 2 years ago

  • ruby -v changed from trunk to -

2011/9/7 Yui NARUSE naruse@airemix.jp:

Issue #5076 has been updated by Yui NARUSE.

Kenta Murata wrote:

なるほど、そうですね。
では、XCode 4.2 が正式にリリースされたら revert することにします。

Xcode 4.2 の正式リリースより 1.9.3 のリリースの方が多分先です

了解. revertに同意します

#17 Updated by Shota Fukumori over 2 years ago

Hi,

I've tested ruby with Xcode 4.2 Developer Preview 7.

Test results are below:

  • llvm-gcc with optflags="-O3"

    • build succeeded
    • test-all (with TESTS="-j") fails by parallel.rb (worker process) crashes with "[BUG] Bus Error"
    • test-all (without TESTS="-j") fails by SystemStackError "stack level too deep"
    • At the build process, I saw some deprecated warnings at openssl. Sorry I missed taking the log.
  • clang with optflags="-O3"

    • build succeeded
    • test-all (with TESTS="-j") runs successfully.
    • I forgot to check deprecated warnings at openssl...

Yui said at that:

  • Xcode 4.2 環境の場合: gcc (llvm-gcc) でも動く模様、gcc-4.2 がない、まだベータ (Translated:)
  • At the Xcode 4.2 environment: Ruby seems work at gcc (llvm-gcc). There is no gcc-4.2. Still in Beta

As I tested with Xcode 4.2 + llvm-gcc, test-all wasn't passed in my environment :p

-- Japanese below...

Xcode 4.2 Developer Preview 7 でのテスト結果をお知らせします:

  • llvm-gcc with optflags="-O3"

    • build は通る
    • test-all (with -j) は [BUG] Bus Error で parallel.rb が死ぬ
    • test-all (without -j) はテストの途中でstack level too deep
    • ビルド時にopenssl周りで大量のdeprecatedが出ていたきがする.ログは取りのがした.
  • clang with optflags="-O3"

    • build は通る
    • test-all (with -j) は何事も無く完走
    • openssl周りのdeprecatedがあったかどうかは未確認.

なるせさんが で

  • Xcode 4.2 環境の場合: gcc (llvm-gcc) でも動く模様、gcc-4.2 がない、まだベータ

のような事を言っていましたが,手元の環境ではllvm-gccでtest-all完走しなかった…

As I tested with Xcode 4.2 + llvm-gcc, test-all wasn't passed in my environment :p

誰も気づいていなかったようだけど,ruby-coreに大量の日本語が…

#18 Updated by Yui NARUSE about 2 years ago

  • Status changed from Open to Closed

From r34278, ruby-trunk should support Lion with following clang:

% clang --version
Apple clang version 3.0 (tags/Apple/clang-211.10.1) (based on LLVM 3.0svn)
Target: x86_64-apple-darwin11.3.0
Thread model: posix

Also available in: Atom PDF