Bug #9636
closedFiddle::Importer で Segmentation fault が発生する
Added by kiyoteru.inoue (Kiyoteru Inoue) over 10 years ago. Updated over 10 years ago.
Files
testcode.rb (3.61 KB) testcode.rb | テストに使用したコード | kiyoteru.inoue (Kiyoteru Inoue), 03/14/2014 05:36 PM | |
log.txt (11.5 KB) log.txt | Segmentation fault コアダンプのログ | kiyoteru.inoue (Kiyoteru Inoue), 03/14/2014 05:37 PM |
Updated by kiyoteru.inoue (Kiyoteru Inoue) over 10 years ago
- File testcode.rb testcode.rb added
- File log.txt log.txt added
Fiddle::Impoter で、 Segmentation fault が発生します。
Ruby 1.8.7-p375
Ruby 1.9.3-p545
Ruby 2.1.1-p76
いずれのバージョンでも、同様のコアダンプを発生させています。
Ruby 2.1.1-p76 で実行時のコアダンプを添付します。
実行環境は
Ubuntu 13.10 x86_64 です。CPU の Byte Order は Little Endian です。
実行したテストコードと、Segmentation fault コアダンプのログを貼っておきます。
いずれのRubyバージョンでも発生するので、ライブラリ側の問題ではないと思うのですが。
使用したライブラリは AquesTalk2(linux評価版)です。
開発版(有償)でも、同様のコアダンプが発生しています。
http://www.a-quest.com/download/index.html
よろしくお願いします。
タイトルは入力ミスしてしまいました。訂正方法がわからないのでこのままです。すみません。
Updated by hsbt (Hiroshi SHIBATA) over 10 years ago
- Tracker changed from Backport to Bug
- Project changed from Backport21 to Ruby master
- Subject changed from Fiddle::Importer で Segmentation fault ga to Fiddle::Importer で Segmentation fault が発生する
- ruby -v set to 2.1.0
Updated by hsbt (Hiroshi SHIBATA) over 10 years ago
- Target version set to 2.2.0
- Backport set to 1.9.3: UNKNOWN, 2.0.0: UNKNOWN, 2.1: UNKNOWN
Updated by nobu (Nobuyoshi Nakada) over 10 years ago
- Status changed from Open to Feedback
Integerからポインタへはそのまま渡されます。
Array#packでStringにしないと、参照渡しにはできません。
result = @@synthe.call(input, ispeed, size = 0, phont) # ←このコードが実行された時点でコアダンプ
を
size = [0].pack('i!')
result = @@synthe.call(input, ispeed, size, phont)
size, = size.unpack('i!')
のようにしてみてください。
Updated by kiyoteru.inoue (Kiyoteru Inoue) over 10 years ago
Nobuyoshi Nakada wrote:
Integerからポインタへはそのまま渡されます。
Array#packでStringにしないと、参照渡しにはできません。result = @@synthe.call(input, ispeed, size = 0, phont) # ←このコードが実行された時点でコアダンプ
を
size = [0].pack('i!') result = @@synthe.call(input, ispeed, size, phont) size, = size.unpack('i!')
のようにしてみてください。
ご指摘ありがとうございます。
ご指摘の通り、修正した結果。正常に動作しました。
お騒がせをしてしまい、すみませんでした。
ご指摘ありがとうございました。
Updated by nobu (Nobuyoshi Nakada) over 10 years ago
- Status changed from Feedback to Closed
Updated by usa (Usaku NAKAMURA) over 10 years ago
- Status changed from Closed to Rejected