Re: Segfault in zlib?
From:
Nathaniel Talbott <ntalbott@...>
Date:
2005-04-15 14:59:51 UTC
List:
ruby-core #4722
On 4/15/05, Nathaniel Talbott <ntalbott@gmail.com> wrote: > OK, I have a reproducible case now: And a backtrace: msvcrt-ruby18.dll!rb_str_buf_cat(unsigned long str=59443296, const char * ptr=0x0322e05b, long len=32717) Line 721 + 0x17 C zlib.so!zstream_append_input(zstream * z=0x031125f0, const char * src=0x0322e05b, unsigned int len=32717) Line 594 + 0x14 C zlib.so!zstream_run(zstream * z=0x031125f0, unsigned char * src=0x0321e008, unsigned int len=32768, int flush=2) Line 756 + 0x17 C zlib.so!do_inflate(zstream * z=0x031125f0, unsigned long src=59455392) Line 1505 + 0x19 C zlib.so!rb_inflate_inflate(unsigned long obj=59455536, unsigned long src=59455392) Line 1543 + 0xd C msvcrt-ruby18.dll!call_cfunc() Line 5477 + 0xd C msvcrt-ruby18.dll!rb_call0() Line 5608 + 0x1c C msvcrt-ruby18.dll!rb_call(unsigned long klass=45729208, unsigned long recv=59455536, unsigned long mid=14113, int argc=1, const unsigned long * argv=0x02401960, int scope=0) Line 5831 + 0x28 C msvcrt-ruby18.dll!rb_eval(unsigned long self=59457504, RNode * n=0x027c7420) Line 3317 + 0xb4 C msvcrt-ruby18.dll!rb_call0() Line 5738 + 0xd C msvcrt-ruby18.dll!rb_call(unsigned long klass=45696808, unsigned long recv=59457504, unsigned long mid=14089, int argc=0, const unsigned long * argv=0x00000000, int scope=2) Line 5831 + 0x28 C msvcrt-ruby18.dll!rb_eval(unsigned long self=59457504, RNode * n=0x02834e28) Line 3338 + 0x95 C msvcrt-ruby18.dll!rb_eval(unsigned long self=59457504, RNode * n=0x02834d80) Line 3312 + 0xd1 C msvcrt-ruby18.dll!rb_eval(unsigned long self=59457504, RNode * n=0x02834ba0) Line 2961 + 0x10 C msvcrt-ruby18.dll!rb_call0() Line 5738 + 0xd C msvcrt-ruby18.dll!rb_call(unsigned long klass=45696808, unsigned long recv=59457504, unsigned long mid=6881, int argc=1, const unsigned long * argv=0x02403568, int scope=0) Line 5831 + 0x28 C msvcrt-ruby18.dll!rb_eval(unsigned long self=59457888, RNode * n=0x02838020) Line 3317 + 0xb4 C msvcrt-ruby18.dll!rb_call0() Line 5738 + 0xd C msvcrt-ruby18.dll!rb_call(unsigned long klass=45697480, unsigned long recv=59457888, unsigned long mid=6881, int argc=0, const unsigned long * argv=0x00000000, int scope=0) Line 5831 + 0x28 C msvcrt-ruby18.dll!rb_eval(unsigned long self=45902104, RNode * n=0x02869d00) Line 3317 + 0xb4 C msvcrt-ruby18.dll!rb_yield_0(unsigned long val=59457888, unsigned long self=45902104, unsigned long klass=0, int flags=0, int avalue=0) Line 4810 + 0xd C msvcrt-ruby18.dll!rb_eval(unsigned long self=59707104, RNode * n=0x0289a0c0) Line 3113 + 0x16 C msvcrt-ruby18.dll!rb_eval(unsigned long self=59707104, RNode * n=0x0289a078) Line 3261 + 0x10 C msvcrt-ruby18.dll!rb_eval(unsigned long self=59707104, RNode * n=0x0289a1e0) Line 3173 + 0x10 C msvcrt-ruby18.dll!rb_call0() Line 5738 + 0xd C msvcrt-ruby18.dll!rb_call(unsigned long klass=45695464, unsigned long recv=59707104, unsigned long mid=14657, int argc=0, const unsigned long * argv=0x00000000, int scope=0) Line 5831 + 0x28 C msvcrt-ruby18.dll!rb_eval(unsigned long self=45902104, RNode * n=0x0286e620) Line 3317 + 0xb4 C msvcrt-ruby18.dll!block_pass(unsigned long self=45902104, RNode * node=0x0286e650) Line 8562 + 0x10 C msvcrt-ruby18.dll!rb_eval(unsigned long self=45902104, RNode * n=0x0286e890) Line 3023 + 0xd C msvcrt-ruby18.dll!rb_call0() Line 5738 + 0xd C msvcrt-ruby18.dll!rb_call(unsigned long klass=45688720, unsigned long recv=45902104, unsigned long mid=14657, int argc=1, const unsigned long * argv=0x02406838, int scope=1) Line 5831 + 0x28 C msvcrt-ruby18.dll!rb_eval(unsigned long self=45902104, RNode * n=0x0286a180) Line 3332 + 0x9f C msvcrt-ruby18.dll!rb_eval(unsigned long self=45902104, RNode * n=0x02869a18) Line 3037 + 0x10 C msvcrt-ruby18.dll!rb_call0() Line 5738 + 0xd C msvcrt-ruby18.dll!rb_call(unsigned long klass=45688720, unsigned long recv=45902104, unsigned long mid=6881, int argc=1, const unsigned long * argv=0x02407640, int scope=0) Line 5831 + 0x28 C msvcrt-ruby18.dll!rb_eval(unsigned long self=41783896, RNode * n=0x027c6d90) Line 3317 + 0xb4 C msvcrt-ruby18.dll!rb_yield_0(unsigned long val=59707104, unsigned long self=41783896, unsigned long klass=0, int flags=0, int avalue=0) Line 4810 + 0xd C msvcrt-ruby18.dll!rb_yield(unsigned long val=59707104) Line 4892 + 0x11 C msvcrt-ruby18.dll!rb_ary_each(unsigned long ary=59480904) Line 1125 + 0x12 C msvcrt-ruby18.dll!call_cfunc() Line 5474 + 0x7 C msvcrt-ruby18.dll!rb_call0() Line 5608 + 0x1c C msvcrt-ruby18.dll!rb_call(unsigned long klass=41756536, unsigned long recv=59480904, unsigned long mid=3825, int argc=0, const unsigned long * argv=0x00000000, int scope=0) Line 5831 + 0x28 C msvcrt-ruby18.dll!rb_eval(unsigned long self=45901168, RNode * n=0x0287f258) Line 3317 + 0xb4 C msvcrt-ruby18.dll!block_pass(unsigned long self=45901168, RNode * node=0x0287f3c0) Line 8562 + 0x10 C msvcrt-ruby18.dll!rb_eval(unsigned long self=45901168, RNode * n=0x0287f480) Line 3023 + 0xd C msvcrt-ruby18.dll!rb_call0() Line 5738 + 0xd C msvcrt-ruby18.dll!rb_call(unsigned long klass=45691024, unsigned long recv=45901168, unsigned long mid=3825, int argc=0, const unsigned long * argv=0x00000000, int scope=0) Line 5831 + 0x28 C msvcrt-ruby18.dll!rb_eval(unsigned long self=45902104, RNode * n=0x028747a0) Line 3317 + 0xb4 C msvcrt-ruby18.dll!block_pass(unsigned long self=45902104, RNode * node=0x028747d0) Line 8562 + 0x10 C msvcrt-ruby18.dll!rb_eval(unsigned long self=45902104, RNode * n=0x02874860) Line 3023 + 0xd C msvcrt-ruby18.dll!rb_call0() Line 5738 + 0xd C msvcrt-ruby18.dll!rb_call(unsigned long klass=45690688, unsigned long recv=45902104, unsigned long mid=3825, int argc=0, const unsigned long * argv=0x00000000, int scope=0) Line 5831 + 0x28 C msvcrt-ruby18.dll!rb_eval(unsigned long self=41783896, RNode * n=0x027c6e68) Line 3317 + 0xb4 C msvcrt-ruby18.dll!rb_eval(unsigned long self=41783896, RNode * n=0x027c6d48) Line 3037 + 0x10 C msvcrt-ruby18.dll!rb_yield_0(unsigned long val=45902104, unsigned long self=41783896, unsigned long klass=0, int flags=0, int avalue=0) Line 4810 + 0xd C msvcrt-ruby18.dll!rb_eval(unsigned long self=45688720, RNode * n=0x028700d8) Line 3113 + 0x16 C msvcrt-ruby18.dll!rb_eval(unsigned long self=45688720, RNode * n=0x0286fef8) Line 3173 + 0x10 C msvcrt-ruby18.dll!rb_call0() Line 5738 + 0xd C msvcrt-ruby18.dll!rb_call(unsigned long klass=45688672, unsigned long recv=45688720, unsigned long mid=6905, int argc=1, const unsigned long * argv=0x0240b9f0, int scope=0) Line 5831 + 0x28 C msvcrt-ruby18.dll!rb_eval(unsigned long self=41783896, RNode * n=0x027c6ef8) Line 3317 + 0xb4 C msvcrt-ruby18.dll!rb_eval(unsigned long self=41783896, RNode * n=0x027c6ce8) Line 3037 + 0x10 C msvcrt-ruby18.dll!rb_yield_0(unsigned long val=6, unsigned long self=41783896, unsigned long klass=0, int flags=0, int avalue=0) Line 4810 + 0xd C msvcrt-ruby18.dll!rb_f_loop() Line 4954 + 0xf C msvcrt-ruby18.dll!call_cfunc() Line 5474 + 0x7 C msvcrt-ruby18.dll!rb_call0() Line 5608 + 0x1c C msvcrt-ruby18.dll!rb_call(unsigned long klass=41789680, unsigned long recv=41783896, unsigned long mid=3929, int argc=0, const unsigned long * argv=0x00000000, int scope=1) Line 5831 + 0x28 C msvcrt-ruby18.dll!rb_eval(unsigned long self=41783896, RNode * n=0x027c6c88) Line 3332 + 0x9f C msvcrt-ruby18.dll!rb_eval(unsigned long self=41783896, RNode * n=0x027c6c70) Line 3037 + 0x10 C msvcrt-ruby18.dll!rb_yield_0(unsigned long val=45925072, unsigned long self=41783896, unsigned long klass=0, int flags=1, int avalue=2) Line 4810 + 0xd C msvcrt-ruby18.dll!rb_thread_yield() Line 11594 + 0x11 C msvcrt-ruby18.dll!rb_thread_start_0() Line 11513 + 0xb C msvcrt-ruby18.dll!rb_thread_initialize() Line 11671 + 0x12 C msvcrt-ruby18.dll!call_cfunc() Line 5468 + 0x18 C msvcrt-ruby18.dll!rb_call0() Line 5608 + 0x1c C msvcrt-ruby18.dll!rb_call(unsigned long klass=41770936, unsigned long recv=45925096, unsigned long mid=2953, int argc=0, const unsigned long * argv=0x00000000, int scope=1) Line 5831 + 0x28 C msvcrt-ruby18.dll!rb_funcall2(unsigned long recv=45925096, unsigned long mid=2953, int argc=0, const unsigned long * argv=0x00000000) Line 5967 + 0x81 C msvcrt-ruby18.dll!rb_obj_call_init(unsigned long obj=45925096, int argc=0, unsigned long * argv=0x00000000) Line 7303 + 0x18 C msvcrt-ruby18.dll!rb_thread_s_new() Line 11625 + 0x17 C msvcrt-ruby18.dll!call_cfunc() Line 5471 + 0xf C msvcrt-ruby18.dll!rb_call0() Line 5608 + 0x1c C msvcrt-ruby18.dll!rb_call(unsigned long klass=41770912, unsigned long recv=41770936, unsigned long mid=3361, int argc=0, const unsigned long * argv=0x00000000, int scope=0) Line 5831 + 0x28 C msvcrt-ruby18.dll!rb_eval(unsigned long self=41783896, RNode * n=0x027c7048) Line 3317 + 0xb4 C msvcrt-ruby18.dll!rb_eval(unsigned long self=41783896, RNode * n=0x027c6c40) Line 3037 + 0x10 C msvcrt-ruby18.dll!rb_eval(unsigned long self=41783896, RNode * n=0x027c6c28) Line 3312 + 0xd1 C msvcrt-ruby18.dll!rb_yield_0(unsigned long val=3, unsigned long self=41783896, unsigned long klass=0, int flags=0, int avalue=0) Line 4810 + 0xd C msvcrt-ruby18.dll!rb_yield(unsigned long val=3) Line 4892 + 0x11 C msvcrt-ruby18.dll!int_dotimes() Line 2728 + 0xe C msvcrt-ruby18.dll!call_cfunc() Line 5474 + 0x7 C msvcrt-ruby18.dll!rb_call0() Line 5608 + 0x1c C msvcrt-ruby18.dll!rb_call(unsigned long klass=41767240, unsigned long recv=11, unsigned long mid=5417, int argc=0, const unsigned long * argv=0x00000000, int scope=0) Line 5831 + 0x28 C msvcrt-ruby18.dll!rb_eval(unsigned long self=41783896, RNode * n=0x027c70c0) Line 3317 + 0xb4 C msvcrt-ruby18.dll!rb_eval(unsigned long self=41783896, RNode * n=0x027c7510) Line 3037 + 0x10 C msvcrt-ruby18.dll!eval_node() Line 1314 + 0xd C msvcrt-ruby18.dll!ruby_exec_internal() Line 1491 + 0x12 C msvcrt-ruby18.dll!ruby_exec() Line 1512 C msvcrt-ruby18.dll!ruby_run() Line 1521 + 0x5 C ruby.exe!main() Line 48 C ruby.exe!mainCRTStartup() Line 398 + 0xe C kernel32.dll!7c816d4f() kernel32.dll!7c8399f3() Thanks, -- Nathaniel <:((><