[#4654] signleton_methods / methods / public_methods - weirdness? — Johan Holmberg <holmberg@...>
[#4666] Getting a hex representation for a Numeric — "Zev Blut" <rubyzbibd@...>
Hello,
[#4670] ruby 1.8.3 preview1 plan — Yukihiro Matsumoto <matz@...>
Hi,
[#4690] test failures for stable-snapshot 09/04/2005 — noreply@...
Bugs item #1762, was opened at 10-04-2005 20:46
Hello.
[#4709] BNF-like grammar specified DIRECTLY in Ruby — Eric Mahurin <eric_mahurin@...>
Hello everybody,
[#4712] Segfault in zlib? — Nathaniel Talbott <ntalbott@...>
I'm using rubyzip (latest gem version) and zlib (1.2.2) to do a bunch
[#4736] Trivial speedup in Array#zip — Mauricio Fern疣dez <batsman.geo@...>
[#4745] Win32: Ruby & APR; build problems for Ruby Subversion SWIG bindings — Erik Huelsmann <ehuels@...>
Having taken upon me the task to provide a Windows build for
On 4/20/05, Erik Huelsmann <ehuels@gmail.com> wrote:
Hi Austin,
Hi,
On 4/24/05, nobu.nokada@softhome.net <nobu.nokada@softhome.net> wrote:
Hi,
> > > Ruby is just using AC_TYPE_UID_T. So, using typedef for them,
Hi,
On 4/26/05, nobu.nokada@softhome.net <nobu.nokada@softhome.net> wrote:
As promised, I attached a patch to eliminate the compile problems
Hi,
Thanks for the quick response!
Hi,
On 5/14/05, nobu.nokada@softhome.net <nobu.nokada@softhome.net> wrote:
[#4751] Illegal regexp causes segfault — Andrew Walrond <andrew@...>
irb(main):058:0> a = /\[([^]]*)\]/
Andrew Walrond, April 22:
In article <200504221210.38231.andrew@walrond.org>,
>>>>> "T" == Tanaka Akira <akr@m17n.org> writes:
[#4774] enhanced $0 modification — Evan Webb <evanwebb@...>
The attached patch allows for ruby to use more of the available stack
Hi,
[#4775] profiler.rb Schroedinbug — C Erler <erlercw@...>
A ruby program with the single instruction "require 'profile'"
>A ruby program with the single instruction "require 'profile'"
[#4807] Re: -Wall — Vincent Isambart <vincent.isambart@...>
> Why does ruby build without -Wall in CFLAGS by default? -Wall can help to
[#4815] Re: -Wall — nobu.nokada@...
Hi,
Re: Illegal regexp causes segfault
>>>>> "A" == Andrew Walrond <andrew@walrond.org> writes:
A> (gdb) set args -d -e 'a = /\[([^]]*)\]/'
Another example
uln% gdb --quiet /usr/local/bin/ruby
Using host libthread_db library "/lib64/libthread_db.so.1".
(gdb) r -e '/[]]/'
Starting program: /usr/local/bin/ruby -e '/[]]/'
Program received signal SIGSEGV, Segmentation fault.
st_insert (table=0x2074756f68746977, key=10233, value=182894465816)
at st.c:298
298 hash_val = do_hash(key, table);
(gdb) bt
#0 st_insert (table=0x2074756f68746977, key=10233, value=182894465816)
at st.c:298
#1 0x000000000041cdf4 in rb_add_method (klass=4859488, mid=10233,
node=0x2a955c1340, noex=0) at eval.c:348
#2 0x0000000000486c12 in Init_Enumerable () at enum.c:924
#3 0x0000000000000000 in ?? ()
#4 0x0000000000000000 in ?? ()
#5 0x0000000000000000 in ?? ()
#6 0x0000000000000000 in ?? ()
#7 0x0000000000000000 in ?? ()
#8 0x0000000000000000 in ?? ()
#9 0x0000000000000000 in ?? ()
#10 0x0000000000000000 in ?? ()
#11 0x0000000000000000 in ?? ()
#12 0x0000000000000000 in ?? ()
#13 0x0000000000000000 in ?? ()
#14 0x0000000000000000 in ?? ()
#15 0x0000000000000000 in ?? ()
#16 0x0000000000000000 in ?? ()
#17 0x0000000000000000 in ?? ()
#18 0x0000000000000000 in ?? ()
#19 0x0000000000000000 in ?? ()
#20 0x0000000000000000 in ?? ()
#21 0x0000000000000000 in ?? ()
#22 0x0000000000000000 in ?? ()
#23 0x0000000000000000 in ?? ()
#24 0x0000000000000000 in ?? ()
#25 0x0000000000000000 in ?? ()
#26 0x0000000000000000 in ?? ()
#27 0x0000000000000000 in ?? ()
#28 0x0000000000000000 in ?? ()
#29 0x0000000000000000 in ?? ()
#30 0x0000000000000000 in ?? ()
#31 0x0000000000000000 in ?? ()
#32 0x0000000000000000 in ?? ()
#33 0x0000000000000000 in ?? ()
#34 0x0000000000000000 in ?? ()
#35 0x0000000000000000 in ?? ()
#36 0x0000000000000000 in ?? ()
#37 0x0000000000000000 in ?? ()
#38 0x0000000000000000 in ?? ()
#39 0x0000000000000000 in ?? ()
#40 0x0000000000000000 in ?? ()
#41 0x0000000000000000 in ?? ()
#42 0x0000000000000000 in ?? ()
#43 0x0000000000000000 in ?? ()
#44 0x0000000000000000 in ?? ()
#45 0x0000000000000000 in ?? ()
#46 0x0000000000000000 in ?? ()
#47 0x0000000000000000 in ?? ()
#48 0x0000000000000000 in ?? ()
#49 0x0000000000000000 in ?? ()
#50 0x0000000000000000 in ?? ()
#51 0x0000000000000000 in ?? ()
#52 0x0000000000000000 in ?? ()
---Type <return> to continue, or q <return> to quit---q
Quit
(gdb) b rb_warn
Breakpoint 1 at 0x486f20: file error.c, line 137.
(gdb) r
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /usr/local/bin/ruby -e '/[]]/'
Breakpoint 1, rb_warn (fmt=0x4a2660 "character class has `]' without escape")
at error.c:137
137 {
(gdb) disas
Dump of assembler code for function rb_warn:
0x0000000000486f20 <rb_warn+0>: push %rbx
0x0000000000486f21 <rb_warn+1>: sub $0x20d0,%rsp
0x0000000000486f28 <rb_warn+8>: mov %rdx,0x2030(%rsp)
0x0000000000486f30 <rb_warn+16>: movzbl %al,%edx
0x0000000000486f33 <rb_warn+19>: mov %rsi,0x2028(%rsp)
0x0000000000486f3b <rb_warn+27>: lea 0x0(,%rdx,4),%rax
0x0000000000486f43 <rb_warn+35>: mov $0x486f95,%edx
0x0000000000486f48 <rb_warn+40>: mov %rcx,0x2038(%rsp)
0x0000000000486f50 <rb_warn+48>: mov %r8,0x2040(%rsp)
0x0000000000486f58 <rb_warn+56>: mov %r9,0x2048(%rsp)
0x0000000000486f60 <rb_warn+64>: sub %rax,%rdx
0x0000000000486f63 <rb_warn+67>: cmpq $0x4,1389149(%rip) # 0x5da1c8 <ruby_verbose>
0x0000000000486f6b <rb_warn+75>: lea 0x20cf(%rsp),%rax
0x0000000000486f73 <rb_warn+83>: jmpq *%edx
0x0000000000486f75 <rb_warn+85>: movaps %xmm7,0xfffffffffffffff1(%rax)
0x0000000000486f79 <rb_warn+89>: movaps %xmm6,0xffffffffffffffe1(%rax)
0x0000000000486f7d <rb_warn+93>: movaps %xmm5,0xffffffffffffffd1(%rax)
0x0000000000486f81 <rb_warn+97>: movaps %xmm4,0xffffffffffffffc1(%rax)
0x0000000000486f85 <rb_warn+101>: movaps %xmm3,0xffffffffffffffb1(%rax)
0x0000000000486f89 <rb_warn+105>: movaps %xmm2,0xffffffffffffffa1(%rax)
0x0000000000486f8d <rb_warn+109>: movaps %xmm1,0xffffffffffffff91(%rax)
0x0000000000486f91 <rb_warn+113>: movaps %xmm0,0xffffffffffffff81(%rax)
0x0000000000486f95 <rb_warn+117>: je 0x486fe9 <rb_warn+201>
0x0000000000486f97 <rb_warn+119>: lea 0x20(%rsp),%rbx
0x0000000000486f9c <rb_warn+124>: mov %rdi,%rcx
0x0000000000486f9f <rb_warn+127>: mov $0x2000,%esi
0x0000000000486fa4 <rb_warn+132>: mov $0x4a5920,%edx
0x0000000000486fa9 <rb_warn+137>: xor %eax,%eax
0x0000000000486fab <rb_warn+139>: mov %rbx,%rdi
0x0000000000486fae <rb_warn+142>: callq 0x40c498 <snprintf>
0x0000000000486fb3 <rb_warn+147>: lea 0x20e0(%rsp),%rax
0x0000000000486fbb <rb_warn+155>: mov %rsp,%rsi
0x0000000000486fbe <rb_warn+158>: mov %rbx,%rdi
0x0000000000486fc1 <rb_warn+161>: movl $0x8,(%rsp)
0x0000000000486fc8 <rb_warn+168>: movl $0x30,0x4(%rsp)
0x0000000000486fd0 <rb_warn+176>: mov %rax,0x8(%rsp)
0x0000000000486fd5 <rb_warn+181>: lea 0x2020(%rsp),%rax
0x0000000000486fdd <rb_warn+189>: mov %rax,0x10(%rsp)
0x0000000000486fe2 <rb_warn+194>: xor %eax,%eax
0x0000000000486fe4 <rb_warn+196>: callq 0x486ea0 <warn_print>
0x0000000000486fe9 <rb_warn+201>: add $0x20d0,%rsp
0x0000000000486ff0 <rb_warn+208>: pop %rbx
0x0000000000486ff1 <rb_warn+209>: retq
End of assembler dump.
(gdb) stepi
0x0000000000486f21 137 {
(gdb)
137 {
(gdb)
0x0000000000486f30 137 {
(gdb)
0x0000000000486f33 137 {
(gdb)
0x0000000000486f3b 137 {
(gdb)
0x0000000000486f43 137 {
(gdb)
0x0000000000486f48 137 {
(gdb)
0x0000000000486f50 137 {
(gdb)
0x0000000000486f58 137 {
(gdb)
0x0000000000486f60 137 {
(gdb)
141 if (NIL_P(ruby_verbose)) return;
(gdb)
137 {
(gdb)
0x0000000000486f73 137 {
(gdb)
0x0000000000486c0d in Init_Enumerable () at enum.c:924
924 rb_define_method(rb_mEnumerable,"select", enum_find_all, 0);
(gdb) q
The program is running. Exit anyway? (y or n) y
uln%
See the call to 0x0000000000486f73 (jmpq)
Guy Decoux