From: "nobu (Nobuyoshi Nakada)" Date: 2013-07-26T12:55:52+09:00 Subject: [ruby-core:56192] [ruby-trunk - Bug #8692][Rejected] segv in fiddle Issue #8692 has been updated by nobu (Nobuyoshi Nakada). Status changed from Open to Rejected =begin (({time()})) returns (({time_t})), not pointer. As Fiddle doesn't provide (({TYPE_TIME_T})) currently, you have to use (({TYPE_LONG})) instead. require 'fiddle' libc = Fiddle.dlopen(nil) time = Fiddle::Function.new(libc['time'], [Fiddle::TYPE_VOIDP], Fiddle::TYPE_LONG) puts time.call(nil) =end ---------------------------------------- Bug #8692: segv in fiddle https://bugs.ruby-lang.org/issues/8692#change-40681 Author: zzak (Zachary Scott) Status: Rejected Priority: Normal Assignee: Category: ext Target version: ruby -v: ruby 2.1.0dev (2013-07-26 trunk 42177) [x86_64-darwin12.4.0] Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN =begin require 'fiddle' libc = Fiddle.dlopen('libc.dylib') time = Fiddle::Function.new( libc['time'], [Fiddle::TYPE_VOIDP], Fiddle::TYPE_VOIDP ) puts time.call(nil) stack trace: (()) =end -- http://bugs.ruby-lang.org/