野宮です.
現用機の換え時かと考え、
HP Z4 G4 Workstation (OS無し)
を購入し、別途、
Kingston サーバー用 メモリ DDR4 2666(PC4-20800) 32GB×1枚 ECC
Registered DIMM KSM26RD4/32HAI
を載せています.
マシン・テストの一環として、openSUSE Leap 15.1 で、いくつかのオープン
ソースのコンパイルを実行しましたところ、一番厄介なソフトである scilab
(6.0.1, 6.1.0) のコンパイルを出来ず、その為、新機への移行をためらって
います.
つまり、現用機
HP ENVY Phoenix 810-480jp/CT (Memory 32GB)
、並びに、サブ機である
東芝 Dynabook R732/E25GB (Memory 8GB)
では、scilab (6.0.1, 6.1.0)を問題なくコンパイル出来るのですが、新機で
は、make doc のところで、
[...]
BUILD/scilab-6.0.1/modules/commons/.libs/libscicommons-disable.so /usr/src/packages/BUILD/scilab-6.0.1/modules/preferences/.libs/libscipreferences-cli.so /usr/src/packages/BUILD/scilab-6.0.1/modules/tclsci/.libs/libscitclsci-disable.so -lopenblas -lgfortran -lquadmath -lpthread -ldl -lncurses -lm -Wl,-rpath -Wl,/usr/lib64/scilab
echo "libstdc++ presence test skipped"
libstdc++ presence test skipped
./bin/scilab-cli -ns -noatomsautoload -quit -f modules/functions/scripts/buildmacros/buildmacros.sce
[0mA fatal error has been detected by Scilab.
Please check your user-defined functions (or external module ones) should they appear in the stack trace.
Otherwise you can report a bug on http://bugzilla.scilab.org/ with:
* a sample code which reproduces the issue
* the result of [a, b] = getdebuginfo()
* the following information:
[linux-6zsl:07014] Signal: Segmentation fault (11)
[linux-6zsl:07014] Signal code: (128)
[linux-6zsl:07014] Failing at address: (nil)
Call stack:
1: 0x13940 < > (/lib64/libpthread.so.0)
2: 0x42e998 ThreadManagement::WaitForConsoleExecDoneSignal() (/usr/src/packages/BUILD/scilab-6.0.1/modules/ast/.libs/libsciast.so.6)
3: 0x1a1fbb
On Wed, Jul 01, 2020 at 05:34:22PM +0900, 野宮 賢 / NOMIYA Masaru wrote:
では、scilab (6.0.1, 6.1.0)を問題なくコンパイル出来るのですが、新機で は、make doc のところで、
[...] BUILD/scilab-6.0.1/modules/commons/.libs/libscicommons-disable.so /usr/src/packages/BUILD/scilab-6.0.1/modules/preferences/.libs/libscipreferences-cli.so /usr/src/packages/BUILD/scilab-6.0.1/modules/tclsci/.libs/libscitclsci-disable.so -lopenblas -lgfortran -lquadmath -lpthread -ldl -lncurses -lm -Wl,-rpath -Wl,/usr/lib64/scilab echo "libstdc++ presence test skipped" libstdc++ presence test skipped ./bin/scilab-cli -ns -noatomsautoload -quit -f modules/functions/scripts/buildmacros/buildmacros.sce [0mA fatal error has been detected by Scilab. Please check your user-defined functions (or external module ones) should they appear in the stack trac
ここで引っかかった、と言う事ですよね。 /bin/scilab-cli はあらかじめパッケージか何かでインストールされたものでしょうか? ribbon -- To unsubscribe, e-mail: opensuse-ja+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-ja+owner@opensuse.org
野宮です.
In the Message;
Subject : [opensuse-ja] Re: [opensuse-ja] コンパイルの成否はマシン依存?
Message-ID : <20200702001757.GB68673@ns.ribbon.or.jp>
Date & Time: Thu, 2 Jul 2020 09:17:57 +0900
[R] == ribbon
On Thu, Jul 02, 2020 at 11:34:41AM +0900, 野宮 賢 / NOMIYA Masaru wrote:
[R] == ribbon
has written: R> On Wed, Jul 01, 2020 at 05:34:22PM +0900, 野宮 賢 / NOMIYA Masaru wrote: [...] MN> > echo "libstdc++ presence test skipped" MN> > libstdc++ presence test skipped MN> > ./bin/scilab-cli -ns -noatomsautoload -quit -f modules/functions/scripts/buildmacros/buildmacros.sce MN> > [0mA fatal error has been detected by Scilab. MN> > Please check your user-defined functions (or external module ones) should they appear in the stack trac
R> ここで引っかかった、と言う事ですよね。 R> /bin/scilab-cli はあらかじめパッケージか何かでインストールされたも R> のでしょうか?
ソースに scilab というスクリプトが入っていて、そのシンボリックリンクに なっているものです.
/bin/scilab-cli は実行形式のバイナリじゃなくて、何らかのスクリプト言語で書かれた ものなのでしょうか? エラーを出したプログラムは ../bin/scilab-cli ですよね。 このプログラムはどこから持ってきたもの、あるいは今回のコンパイル作業で 作成されたものでしょうか? ribbon -- To unsubscribe, e-mail: opensuse-ja+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-ja+owner@opensuse.org
野宮です.
In the Message;
Subject : [opensuse-ja] Re: コンパイルの成否はマシン依存?
Message-ID : <20200702065256.GA70450@ns.ribbon.or.jp>
Date & Time: Thu, 2 Jul 2020 15:52:56 +0900
[R] == ribbon
On Thu, Jul 02, 2020 at 06:00:40PM +0900, 野宮 賢 / NOMIYA Masaru wrote:
R> /bin/scilab-cli は実行形式のバイナリじゃなくて、何らかのスクリプト R> 言語で書かれたものなのでしょうか?
はい、bash スクリプトです.
#!/bin/sh
だとすると、エラーを出したプログラムは何になるのでしょう? スタックトレースも出ていることですし、bash スクリプトじゃないですよね。 まずそれを特定しないと。 -- To unsubscribe, e-mail: opensuse-ja+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-ja+owner@opensuse.org
野宮です.
わけあって、leap 15.2 にアップグレードしましたが、クリーンインストール
ではなかった所為か、とらぶりました.
In the Message;
Subject : Re: [opensuse-ja] Re: コンパイルの成否はマシン依存?
Message-ID : <20200704095420.GB79870@ns.ribbon.or.jp>
Date & Time: Sat, 4 Jul 2020 18:54:20 +0900
[R] == ribbon
On Mon, Jul 06, 2020 at 04:42:13PM +0900, 野宮 賢 / NOMIYA Masaru wrote:
R> > R> > はい、bash スクリプトです. R> > R> > #!/bin/sh
R> だとすると、エラーを出したプログラムは何になるのでしょう?
R> スタックトレースも出ていることですし、bash スクリプトじゃないですよね。 R> まずそれを特定しないと。
スミマセン. bash スクリプトでは、scilab-bin に優先順位があるようですが、手元の環境 では、scilab-cli-bin が呼ばれています.scilan-bin にせよ、 scilab-cli-bin にせよ、何れもコンパイル時に生成されるものです.
となると、落ちたプログラムは scilab-cli-bin で間違いないですか? ribbon -- To unsubscribe, e-mail: opensuse-ja+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-ja+owner@opensuse.org
野宮です.
In the Message;
Subject : Re: [opensuse-ja] Re: コンパイルの成否はマシン依存?
Message-ID : <20200706080131.GB88019@ns.ribbon.or.jp>
Date & Time: Mon, 6 Jul 2020 17:01:31 +0900
[R] == ribbon
野宮です.
In the Message;
Subject : [opensuse-ja] Re: コンパイルの成否はマシン依存?
Message-ID : <874kqlt6d9.wl-nomiya@galaxy.dti.ne.jp>
Date & Time: Mon, 06 Jul 2020 17:06:26 +0900
[MN] == 野宮 賢 / NOMIYA Masaru
On Tue, Jul 07, 2020 at 03:11:32PM +0900, 野宮 賢 / NOMIYA Masaru wrote:
間違いなく、scilab-cli-bin です.
エラーが glibc 由来であるかのように示していますが、現用機の HDD に換装 しても同じエラーが出るので、glibc 由来ではない、と考えています.
であれば、 scilab-cli-bin のどこかが悪い、と言うことになるのでしょう。 こういうテストはいかがでしょうか。 1) 正しく動いているPC上の scilab-cli-bin と、ファイルサイズとかを比較してみる。 ひょっとするとサイズか違う(生成された機械語が違う)かもしれません。 2) 正しく動いているPC上の scilab-cli-bin を動かない機械の方に持ってきてテストしてみる。 2) でうまく動くのであれば、scilab-cli-bin をコンパイルしたときの結果がおかしいと 考えられます。 ribbon -- To unsubscribe, e-mail: opensuse-ja+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-ja+owner@opensuse.org
野宮です.
In the Message;
Subject : [opensuse-ja] Re: コンパイルの成否はマシン依存?
Message-ID : <20200707122344.GC94181@ns.ribbon.or.jp>
Date & Time: Tue, 7 Jul 2020 21:23:44 +0900
[R] == ribbon
On Tue, Jul 07, 2020 at 11:19:18PM +0900, 野宮 賢 / NOMIYA Masaru wrote:
[R] == ribbon
has written: R> On Tue, Jul 07, 2020 at 03:11:32PM +0900, 野宮 賢 / NOMIYA Masaru wrote: R> > R> > 間違いなく、scilab-cli-bin です.
R> > R> > エラーが glibc 由来であるかのように示していますが、現用機の HDD に換装 R> > しても同じエラーが出るので、glibc 由来ではない、と考えています.
R> であれば、 scilab-cli-bin のどこかが悪い、と言うことになるのでしょう。
そうは、考えません.
ではどのようにお考えでしょうか。 scilab-cli-bin の実行時にセグメンテーションフォルトを起こしたのは間違いないですよね。
更に言えば、scilab-dev ML で、マレーシアの青年が、linux, MacOS Raspbbery pi OS, Windows 10 で Scilab のビルドに挑戦され、その度に質問、 報告を上げられ、結果、全ての Platform でのビルドに成功されています.
なのに、何故、新機では失敗するのか、と、.....
であれば、成功裏に終わった環境と、失敗した環境で、何が違うのかを 1つずつ調べていくしかないと思います。 ribbon -- To unsubscribe, e-mail: opensuse-ja+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-ja+owner@opensuse.org
野宮です.
In the Message;
Subject : Re: [opensuse-ja] Re: コンパイルの成否はマシン依存?
Message-ID : <20200707144706.GE94181@ns.ribbon.or.jp>
Date & Time: Tue, 7 Jul 2020 23:47:06 +0900
ribbon
R> であれば、 scilab-cli-bin のどこかが悪い、と言うことになるのでしょう。
そうは、考えません.
ではどのようにお考えでしょうか。 scilab-cli-bin の実行時にセグメンテーションフォルトを起こしたのは間違いないですよね。
更に言えば、scilab-dev ML で、マレーシアの青年が、linux, MacOS Raspbbery pi OS, Windows 10 で Scilab のビルドに挑戦され、その度に質問、 報告を上げられ、結果、全ての Platform でのビルドに成功されています.
なのに、何故、新機では失敗するのか、と、.....
であれば、成功裏に終わった環境と、失敗した環境で、何が違うのかを 1つずつ調べていくしかないと思います。
なんか、太田さんには、質問の意図をご理解頂いていないような? 小生の質問の意図は、 「ハードウェア由来のセグ・フォールトってあるのでしょうか?」 という、自分自身が?な質問ですが... --- ┏━━┓彡 野宮 賢 mail-to: nomiya @ galaxy.dti.ne.jp ┃\/彡 ┗━━┛ 「先端技術の開発は、優れた頭脳を持つ人間が集中しないと成功しない。 しかし、技術開発と、それが何をもたらすかを考えることは別だ。 一人の人間に二つは望めない。」 -- M. Crichton -- -- To unsubscribe, e-mail: opensuse-ja+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-ja+owner@opensuse.org
On Sat, Jul 11, 2020 at 10:26:53AM +0900, 野宮 賢 / NOMIYA Masaru wrote:
小生の質問の意図は、
「ハードウェア由来のセグ・フォールトってあるのでしょうか?」
という、自分自身が?な質問ですが...
という質問の意図は今初めて知りました。 それはさておき、セグメンテーションフォルトは、あるメモリアクセスが、 保護された領域になってしまった場合に起きます。そして例外事象は ハードウェア、というか、80286以降であれば、プロテクトモードでの 例外検出で起きると言うことになるかと思います。 プロテクトモード=ハードウェアということなので、セグメンテーションフォルト はハードウェア由来だと思いますが。 ハードウェア由来じゃないセグメンテーションフォルトは、プログラム内で フォルト発生をエミュレートすることになるでしょうか。 そもそも今回の事象は、CPUを変えたことによって発生したのですよね。 CPUを変えることで、コードの最適化などが変わってくる可能性があります。 王道のデバッグ手段としては、落ちたプログラムのcore dump をgdb で 調べるということになるわけですが、make中なので少々大変かと思います。 例えば、他のマシンで動いている scilab-cli-bin を持ってきて、動くかどうか を調べる、と言うやり方もあります。もしも動けば、新しいマシンでコンパイル されたコードがおかしい、動かなければ、ハードウェアの差の可能性がある、 と切り分けできます。 ribbon -- To unsubscribe, e-mail: opensuse-ja+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-ja+owner@opensuse.org
本橋と申します。 横からコメントしてすみません。 今回発生している不具合ですが、もしかすると CPU の世代が新しい ことに起因している可能性がありそうな気がしています。 現在分かっている情報を分かりやすく整理するのと、不具合の再現 手順をもう少し誰でも試せるレベルでご説明頂けると、他の環境を 持っている方々の協力が得られ、不具合の発生条件の絞り込みにつ ながるのではないかと思いました。 # 少なくとも、私には何をどうすれば追試できるのかが、よく分か # りませんでした。 【既知の情報】 ・Xeon W2102(Skylake) + openSUSE 15.1 + Scilab 6: NG ・Core i7-4790? (Haswell) + openSUSE ? + Scilab 6: OK ・Core i5-3320M or i3-2370M ? (SandyBridge) + openSUSE ? + Scilab 6:OK 以上です。よろしくお願い致します。 -- 本橋弘臣(Hiroomi Motohashi) mockun@gray.plala.or.jp -- To unsubscribe, e-mail: opensuse-ja+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-ja+owner@opensuse.org
On Sat, Jul 11, 2020 at 01:48:40PM +0900, Hiroomi Motohashi wrote:
横からコメントしてすみません。
今回発生している不具合ですが、もしかすると CPU の世代が新しい ことに起因している可能性がありそうな気がしています。
なんとなくそんな気がします。
現在分かっている情報を分かりやすく整理するのと、不具合の再現 手順をもう少し誰でも試せるレベルでご説明頂けると、他の環境を 持っている方々の協力が得られ、不具合の発生条件の絞り込みにつ ながるのではないかと思いました。
セグメンテーションフォルト起こしているプログラムは分かっているので、 1) 生成されたバイナリがおかしい 2) バイナリは正常だが、CPUの、何らかの制限に引っかかった あたりかなあと思っています。もちろんCPU のエラーということも あり得ますが、かなりレアケースではないかと。 条件を整理して、切り分け作業していくしかないと思います。 ribbon -- To unsubscribe, e-mail: opensuse-ja+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-ja+owner@opensuse.org
野宮です.
In the Message;
Subject : Re: [opensuse-ja] Re: コンパイルの成否はマシン依存?
Message-ID : <20200711035353.GB10383@ns.ribbon.or.jp>
Date & Time: Sat, 11 Jul 2020 12:53:53 +0900
[R] == ribbon
participants (3)
-
Hiroomi Motohashi
-
ribbon
-
野宮 賢 / NOMIYA Masaru