[#61171] Re: [ruby-changes:33145] normal:r45224 (trunk): gc.c: fix build for testing w/o RGenGC — SASADA Koichi <ko1@...>
(2014/03/01 16:15), normal wrote:
[#61243] [ruby-trunk - Feature #9425] [PATCH] st: use power-of-two sizes to avoid slow modulo ops — normalperson@...
Issue #9425 has been updated by Eric Wong.
[#61359] [ruby-trunk - Bug #9609] [Open] [PATCH] vm_eval.c: fix misplaced RB_GC_GUARDs — normalperson@...
Issue #9609 has been reported by Eric Wong.
(2014/03/07 19:09), normalperson@yhbt.net wrote:
SASADA Koichi <ko1@atdot.net> wrote:
[#61424] [REJECT?] xmalloc/xfree: reduce atomic ops w/ thread-locals — Eric Wong <normalperson@...>
I'm unsure about this. I _hate_ the extra branches this adds;
Hi Eric,
SASADA Koichi <ko1@atdot.net> wrote:
(2014/03/14 2:12), Eric Wong wrote:
SASADA Koichi <ko1@atdot.net> wrote:
[#61452] [ruby-trunk - Feature #9632] [Open] [PATCH 0/2] speedup IO#close with linked-list from ccan — normalperson@...
Issue #9632 has been reported by Eric Wong.
[#61496] [ruby-trunk - Feature #9638] [Open] [PATCH] limit IDs to 32-bits on 64-bit systems — normalperson@...
Issue #9638 has been reported by Eric Wong.
[#61568] hash function for global method cache — Eric Wong <normalperson@...>
I came upon this because I noticed existing st numtable worked poorly
(2014/03/18 8:03), Eric Wong wrote:
SASADA Koichi <ko1@atdot.net> wrote:
what's the profit from using binary tree in place of hash?
Юрий Соколов <funny.falcon@gmail.com> wrote:
[#61687] [ruby-trunk - Bug #9606] Ocassional SIGSEGV inTestException#test_machine_stackoverflow on OpenBSD — normalperson@...
Issue #9606 has been updated by Eric Wong.
[#61760] [ruby-trunk - Feature #9632] [PATCH 0/2] speedup IO#close with linked-list from ccan — normalperson@...
Issue #9632 has been updated by Eric Wong.
[ruby-core:61195] [ruby-trunk - Bug #9507] Ruby 2.1.0 is broken on ARMv5: tried to create Proc object without a block
Issue #9507 has been updated by _ _.
<blockquote>
Which compiler/version is this? Can you try a newer one?
</blockquote>
The compiler is
gcc (GCC) 4.8.2 20131219 (prerelease)
on the ARMv5 device and
arm-unknown-linux-gnueabi-gcc (crosstool-NG 1.19.0) 4.8.3 20131219 (prerelease)
for [cross-compiling](http://archlinuxarm.org/developers/distcc-cross-compiling). GCC 4.8.2 is already the newest release.
Out of curiosity, I gave Clang 3.4 a try, but it fails already during configure:
checking size of int... 0
checking size of short... 0
checking size of long... 0
checking size of long long... configure: error: in `/root/clang/ruby/src/ruby-2.1.0':
configure: error: cannot compute sizeof (long long)
See `config.log' for more details
I'm not sure what the problem here is, Clang compiles a simple `printf("%d", sizeof(long long));` just fine. Maybe some incompatibility in the configure script?
<blockquote>
Can you try any other code which uses 64-bit math?
</blockquote>
Can you recommend any test code? Those compilers build the whole Arch Linux ARM repository, so if it were a common problem, it should have been noticed by now.
<blockquote>
64-bits is needed to avoid overflow on VM state changes.
Otherwise our caches could give false hits and crash.
</blockquote>
I see. But isn't it dangerous then to fall back to `unsigned long`, which only guarantees at least 32 bits? Or is the probability for a crash with only 32 bits still very low, and 64 bits just provide some extra safety?
----------------------------------------
Bug #9507: Ruby 2.1.0 is broken on ARMv5: tried to create Proc object without a block
https://bugs.ruby-lang.org/issues/9507#change-45553
* Author: _ _
* Status: Open
* Priority: Normal
* Assignee: Charlie Somerville
* Category: core
* Target version: current: 2.2.0
* ruby -v: ruby 2.1.0dev (2013-09-04 trunk 42822) [armv5tel-linux-eabi]
* Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN, 2.1: UNKNOWN
----------------------------------------
I'm using Arch Linux ARM which currently ships with Ruby 2.1.0. On all my ARMv5 devices, trying to run Ruby fails with a strange error, which has also been reported here: https://github.com/archlinuxarm/PKGBUILDs/issues/705 ARMv6 and ARMv7 devices on the other hand seem to be fine.
Using git-bisect I was able to determine that the first bad commit is 2f522b9cc6f3e184404040b12af4486520a73b26 (r42822), which implements #8426:
[root@alarm ~]# ruby --version
ruby 2.1.0dev (2013-09-04 trunk 42822) [armv5tel-linux-eabi]
[root@alarm ~]# ruby -e 'puts "foo"'
/usr/lib/ruby/2.1.0/rubygems/requirement.rb:26:in `lambda': tried to create Proc object without a block (ArgumentError)
from /usr/lib/ruby/2.1.0/rubygems/requirement.rb:26:in `<class:Requirement>'
from /usr/lib/ruby/2.1.0/rubygems/requirement.rb:18:in `<top (required)>'
from /usr/lib/ruby/2.1.0/rubygems/specification.rb:10:in `require'
from /usr/lib/ruby/2.1.0/rubygems/specification.rb:10:in `<top (required)>'
from /usr/lib/ruby/2.1.0/rubygems.rb:1161:in `require'
from /usr/lib/ruby/2.1.0/rubygems.rb:1161:in `<module:Gem>'
from /usr/lib/ruby/2.1.0/rubygems.rb:114:in `<top (required)>'
from <internal:gem_prelude>:1:in `require'
from <internal:gem_prelude>:1:in `<compiled>'
The previous commit works correctly:
[root@alarm ~]# ruby --version
ruby 2.1.0dev (2013-09-04 trunk 42821) [armv5tel-linux-eabi]
[root@alarm ~]# ruby -e 'puts "foo"'
foo
The problem is still present in trunk (r44896).
---Files--------------------------------
0002-Use-only-unsigned-long-for-rb_serial_t.patch (538 Bytes)
--
http://bugs.ruby-lang.org/