[#44036] [ruby-trunk - Feature #6242][Open] Ruby should support lists — "shugo (Shugo Maeda)" <redmine@...>

20 messages 2012/04/01

[#44084] [ruby-trunk - Bug #6246][Open] 1.9.3-p125 intermittent segfault — "jshow (Jodi Showers)" <jodi@...>

22 messages 2012/04/02

[#44156] [ruby-trunk - Feature #6265][Open] Remove 'useless' 'concatenation' syntax — "rosenfeld (Rodrigo Rosenfeld Rosas)" <rr.rosas@...>

45 messages 2012/04/06

[#44163] [ruby-trunk - Bug #6266][Open] encoding related exception with recent integrated psych — "jonforums (Jon Forums)" <redmine@...>

10 messages 2012/04/06

[#44303] [ruby-trunk - Feature #6284][Open] Add composition for procs — "pabloh (Pablo Herrero)" <pablodherrero@...>

57 messages 2012/04/12

[#44349] [ruby-trunk - Feature #6293][Open] new queue / blocking queues — "tenderlovemaking (Aaron Patterson)" <aaron@...>

10 messages 2012/04/13

[#44402] [ruby-trunk - Feature #6308][Open] Eliminate delegation from WeakRef — "headius (Charles Nutter)" <headius@...>

20 messages 2012/04/17

[#44403] [ruby-trunk - Feature #6309][Open] Add a reference queue for weak references — "headius (Charles Nutter)" <headius@...>

15 messages 2012/04/17

[#44533] [ruby-trunk - Bug #6341][Open] SIGSEGV: Thread.new { fork { GC.start } }.join — "rudolf (r stu3)" <redmine@...>

24 messages 2012/04/22

[#44630] [ruby-trunk - Feature #6361][Open] Bitwise string operations — "MartinBosslet (Martin Bosslet)" <Martin.Bosslet@...>

31 messages 2012/04/26

[#44648] [ruby-trunk - Feature #6367][Open] #same? for Enumerable — "prijutme4ty (Ilya Vorontsov)" <prijutme4ty@...>

16 messages 2012/04/26

[#44704] [ruby-trunk - Feature #6373][Open] public #self — "trans (Thomas Sawyer)" <transfire@...>

61 messages 2012/04/27

[#44748] [ruby-trunk - Feature #6376][Open] Feature lookup and checking if feature is loaded — "trans (Thomas Sawyer)" <transfire@...>

13 messages 2012/04/28

[ruby-core:44674] Re: [ruby-trunk - Bug #6364] Segmentation fault happend when running test_cptr.rb

From: "U.Nakamura" <usa@...>
Date: 2012-04-27 04:00:06 UTC
List: ruby-core #44674
Hello,

In message "[ruby-core:44651] [ruby-trunk - Bug #6364] Segmentation fault  happend when running  test_cptr.rb"
    on Apr.26,2012 23:41:32, <raylinn@gmail.com> wrote:
> Here is the log.  I wrote a small C to invoke the fread within msvcrt.dll via libffi, but it works fine.

Thank you!
I've finally gotten the solution of this problem.


There are many traps.

1st, yes, DL is replaced when fiddle is available, but it is not so
about DL::CPtr and DL::CFunc.

2nd, with MSVCR100.dll, this problem did not occur.
I tested with x64-mswin64_100, so I could not reproduce.
So I thought that this is peculiar to mingw, but it was because the
difference between versions of MSVCRT.

The cause was passing a wrong value as the file pointer.
On most platforms Ruby supports, a pointer has same width as unsigned
long.
It is known well that the almost only one exception is Win64.
When DL::CFunc converts DL::CPtr to C pointer, DL::CFunc used
rb_big2ulong_pack().
On Win64 it means ommiting higher 32bits.
But since Win64 mostly uses the domain of 32 bits, this problem did not
actualize.


Regards,
-- 
U.Nakamura <usa@garbagecollect.jp>


In This Thread