Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

Segmentation Fault with Curl::Easy.download #120

Open
atomgiant opened this Issue · 10 comments

5 participants

@atomgiant

I am getting a Seg Fault when running the following on both 0.8.0 and current master branch (dceafcd):

Curl::Easy.download(url, File.join(dir, name)){|curl| curl.follow_location = true; curl.max_redirects=10;}

See below for the dump info. Let me know if you need any other info.

Thanks! Tom


/home/ba/.bundler/ruby/1.9.1/curb-dceafcd931c4/lib/curl/easy.rb:56: [BUG] gc_sweep(): unknown data type 0x0(0x1226ce8)
ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-linux]

-- Control frame information -----------------------------------------------
c:0014 p:---- s:0052 b:0052 l:000051 d:000051 CFUNC :perform
c:0013 p:0074 s:0049 b:0049 l:000048 d:000048 METHOD /home/ba/.bundler/ruby/1.9.1/curb-dceafcd931c4/lib/curl/easy.rb:56
c:0012 p:0150 s:0044 b:0044 l:0002d8 d:0002d8 METHOD /home/ba/.bundler/ruby/1.9.1/curb-dceafcd931c4/lib/curl/easy.rb:441
c:0011 p:0058 s:0035 b:0035 l:0003d8 d:0003d8 METHOD script/fetch_feeds:154
c:0010 p:0106 s:0028 b:0028 l:000018 d:000027 BLOCK script/fetch_feeds:136
c:0009 p:---- s:0024 b:0024 l:000023 d:000023 FINISH
c:0008 p:---- s:0022 b:0022 l:000021 d:000021 CFUNC :each
c:0007 p:0109 s:0019 b:0019 l:000018 d:000018 METHOD script/fetch_feeds:133
c:0006 p:0043 s:0014 b:0014 l:001338 d:000013 BLOCK script/fetch_feeds:163
c:0005 p:---- s:0011 b:0011 l:000010 d:000010 FINISH
c:0004 p:---- s:0009 b:0009 l:000008 d:000008 CFUNC :each
c:0003 p:0452 s:0006 b:0006 l:001338 d:000de8 EVAL script/fetch_feeds:161
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:001338 d:001338 TOP

-- Ruby level backtrace information ----------------------------------------
script/fetch_feeds:161:in <main>'
script/fetch_feeds:161:in
each'
script/fetch_feeds:163:in block in <main>'
script/fetch_feeds:133:in
fetch_ls'
script/fetch_feeds:133:in each'
script/fetch_feeds:136:in
block in fetch_ls'
script/fetch_feeds:154:in fetch_url'
/home/ba/.bundler/ruby/1.9.1/curb-dceafcd931c4/lib/curl/easy.rb:441:in
download'
/home/ba/.bundler/ruby/1.9.1/curb-dceafcd931c4/lib/curl/easy.rb:56:in perform'
/home/ba/.bundler/ruby/1.9.1/curb-dceafcd931c4/lib/curl/easy.rb:56:in
perform'

-- C level backtrace information -------------------------------------------
ruby() [0x527b78]
ruby() [0x56f9a8]
ruby(rb_bug+0xb3) [0x56fb43]
ruby() [0x4204c4]
ruby() [0x424c97]
ruby() [0x425250]
ruby() [0x4c1bb2]
/home/ba/.bundler/ruby/1.9.1/curb-dceafcd931c4/lib/curb_core.so(+0xb36a) [0x7f0a6a39836a] curb_easy.c:105
/usr/lib/libcurl.so.4(+0x11df8) [0x7f0a6a156df8]
/usr/lib/libcurl.so.4(+0x285f6) [0x7f0a6a16d5f6]
/usr/lib/libcurl.so.4(+0x2f7e6) [0x7f0a6a1747e6]
/usr/lib/libcurl.so.4(curl_multi_perform+0x83) [0x7f0a6a174e53]
/home/ba/.bundler/ruby/1.9.1/curb-dceafcd931c4/lib/curb_core.so(ruby_curl_multi_perform+0x2cb) [0x7f0a6a39f6ab] curb_multi.c:436
ruby() [0x525424]
ruby() [0x518d57]
ruby() [0x51cebb]
ruby(rb_yield+0x66) [0x525d16]
ruby() [0x427627]
ruby() [0x4279c4]
ruby(st_foreach+0xd2) [0x4bc862]
ruby() [0x428258]
ruby(rb_ensure+0xab) [0x4178cb]
ruby() [0x42a237]
ruby() [0x525424]
ruby() [0x518d57]
ruby() [0x51cebb]
ruby(rb_yield+0x66) [0x525d16]
ruby(rb_ary_each+0x57) [0x53a8b7]
ruby() [0x525424]
ruby() [0x518d57]
ruby() [0x51cebb]
ruby(rb_iseq_eval_main+0x294) [0x51d2f4]
ruby() [0x417fa2]
ruby(ruby_run_node+0x36) [0x41a066]
ruby() [0x417149]
/lib/libc.so.6(__libc_start_main+0xfd) [0x7f0a6c82fc4d]
ruby() [0x417039]

-- Other runtime information -----------------------------------------------

  • Loaded script: script/fetch_feeds

  • Loaded features:

    0 enumerator.so
    1 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/encdb.so
    2 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/trans/transdb.so
    3 /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/defaults.rb
    4 /usr/local/lib/ruby/1.9.1/x86_64-linux/rbconfig.rb
    5 /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/deprecate.rb
    6 /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/exceptions.rb
    7 /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb
    8 /usr/local/lib/ruby/site_ruby/1.9.1/rubygems.rb
    9 /usr/local/lib/ruby/1.9.1/x86_64-linux/pathname.so
    10 /usr/local/lib/ruby/1.9.1/pathname.rb
    11 /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/version.rb
    12 /usr/local/lib/ruby/1.9.1/x86_64-linux/etc.so
    13 /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/config_file.rb
    14 /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/requirement.rb
    15 /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb
    16 /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/platform.rb
    17 /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb
    18 /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/path_support.rb
    19 /usr/local/lib/ruby/1.9.1/x86_64-linux/psych.so
    20 /usr/local/lib/ruby/1.9.1/x86_64-linux/stringio.so
    21 /usr/local/lib/ruby/1.9.1/psych/nodes/node.rb
    22 /usr/local/lib/ruby/1.9.1/psych/nodes/stream.rb
    23 /usr/local/lib/ruby/1.9.1/psych/nodes/document.rb
    24 /usr/local/lib/ruby/1.9.1/psych/nodes/sequence.rb
    25 /usr/local/lib/ruby/1.9.1/psych/nodes/scalar.rb
    26 /usr/local/lib/ruby/1.9.1/psych/nodes/mapping.rb
    27 /usr/local/lib/ruby/1.9.1/psych/nodes/alias.rb
    28 /usr/local/lib/ruby/1.9.1/psych/nodes.rb
    29 /usr/local/lib/ruby/1.9.1/psych/streaming.rb
    30 /usr/local/lib/ruby/1.9.1/psych/visitors/visitor.rb
    31 /usr/local/lib/ruby/1.9.1/x86_64-linux/strscan.so
    32 /usr/local/lib/ruby/1.9.1/psych/scalar_scanner.rb
    33 /usr/local/lib/ruby/1.9.1/psych/visitors/to_ruby.rb
    34 /usr/local/lib/ruby/1.9.1/psych/visitors/emitter.rb
    35 /usr/local/lib/ruby/1.9.1/psych/visitors/yaml_tree.rb
    36 /usr/local/lib/ruby/1.9.1/psych/json/ruby_events.rb
    37 /usr/local/lib/ruby/1.9.1/psych/visitors/json_tree.rb
    38 /usr/local/lib/ruby/1.9.1/psych/visitors/depth_first.rb
    39 /usr/local/lib/ruby/1.9.1/psych/visitors.rb
    40 /usr/local/lib/ruby/1.9.1/psych/handler.rb
    41 /usr/local/lib/ruby/1.9.1/psych/tree_builder.rb
    42 /usr/local/lib/ruby/1.9.1/psych/parser.rb
    43 /usr/local/lib/ruby/1.9.1/psych/omap.rb
    44 /usr/local/lib/ruby/1.9.1/psych/set.rb
    45 /usr/local/lib/ruby/1.9.1/psych/coder.rb
    46 /usr/local/lib/ruby/1.9.1/psych/core_ext.rb
    47 /usr/local/lib/ruby/1.9.1/x86_64-linux/date_core.so
    48 /usr/local/lib/ruby/1.9.1/date/format.rb
    49 /usr/local/lib/ruby/1.9.1/date.rb
    50 /usr/local/lib/ruby/1.9.1/psych/deprecated.rb
    51 /usr/local/lib/ruby/1.9.1/psych/json.rb
    52 /usr/local/lib/ruby/1.9.1/psych.rb
    53 /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/psych_additions.rb
    54 /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/psych_tree.rb
    55 /usr/local/lib/ruby/1.9.1/yaml.rb
    56 /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/syck_hack.rb
    57 /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.1.3/lib/bundler/rubygems_integration.rb
    58 /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.1.3/lib/bundler/shared_helpers.rb
    59 /usr/local/lib/ruby/1.9.1/fileutils.rb
    60 /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.1.3/lib/bundler/psyched_yaml.rb
    61 /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.1.3/lib/bundler/gem_helpers.rb
    62 /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.1.3/lib/bundler/match_platform.rb
    63 /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.1.3/lib/bundler/rubygems_ext.rb
    64 /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.1.3/lib/bundler/version.rb
    65 /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.1.3/lib/bundler.rb
    66 /usr/local/lib/ruby/1.9.1/x86_64-linux/digest.so
    67 /usr/local/lib/ruby/1.9.1/digest.rb
    68 /usr/local/lib/ruby/1.9.1/x86_64-linux/digest/sha1.so
    69 /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.1.3/lib/bundler/environment.rb
    70 /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.1.3/lib/bundler/runtime.rb
    71 /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.1.3/lib/bundler/settings.rb
    72 /usr/local/lib/ruby/1.9.1/set.rb
    73 /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.1.3/lib/bundler/definition.rb
    74 /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.1.3/lib/bundler/dependency.rb
    75 /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.1.3/lib/bundler/dsl.rb
    76 /usr/local/lib/ruby/1.9.1/uri/common.rb
    77 /usr/local/lib/ruby/1.9.1/uri/generic.rb
    78 /usr/local/lib/ruby/1.9.1/uri/ftp.rb
    79 /usr/local/lib/ruby/1.9.1/uri/http.rb
    80 /usr/local/lib/ruby/1.9.1/uri/https.rb
    81 /usr/local/lib/ruby/1.9.1/uri/ldap.rb
    82 /usr/local/lib/ruby/1.9.1/uri/ldaps.rb
    83 /usr/local/lib/ruby/1.9.1/uri/mailto.rb
    84 /usr/local/lib/ruby/1.9.1/uri.rb
    85 /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/user_interaction.rb
    86 /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/package/f_sync_dir.rb
    87 /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/package/tar_header.rb
    88 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/iso_8859_1.so
    89 /usr/local/lib/ruby/1.9.1/x86_64-linux/zlib.so
    90 /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/package/tar_input.rb
    91 /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/package/tar_output.rb
    92 /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/package/tar_reader/entry.rb
    93 /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/package/tar_reader.rb
    94 /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/package/tar_writer.rb
    95 /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/package.rb
    96 /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/format.rb
    97 /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/ext/builder.rb
    98 /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/ext/configure_builder.rb
    99 /usr/local/lib/ruby/1.9.1/optparse.rb
    100 /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/command.rb
    101 /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/ext/ext_conf_builder.rb
    102 /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/ext/rake_builder.rb
    103 /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/ext.rb
    104 /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/require_paths_builder.rb
    105 /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb
    106 /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/remote_fetcher.rb
    107 /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/errors.rb
    108 /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/text.rb
    109 /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/spec_fetcher.rb
    110 /usr/local/lib/ruby/1.9.1/open3.rb
    111 /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.1.3/lib/bundler/gem_installer.rb
    112 /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.1.3/lib/bundler/source.rb
    113 /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.1.3/lib/bundler/lockfile_parser.rb
    114 /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.1.3/lib/bundler/lazy_specification.rb
    115 /usr/local/lib/ruby/1.9.1/tsort.rb
    116 /usr/local/lib/ruby/1.9.1/forwardable.rb
    117 /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.1.3/lib/bundler/spec_set.rb
    118 /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.1.3/lib/bundler/index.rb
    119 /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.1.3/lib/bundler/remote_specification.rb
    120 /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.1.3/lib/bundler/endpoint_specification.rb
    121 /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.1.3/lib/bundler/dep_proxy.rb
    122 /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/source_index.rb
    123 /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.1.3/lib/bundler/setup.rb
    124 /usr/local/lib/ruby/1.9.1/x86_64-linux/socket.so
    125 /usr/local/lib/ruby/1.9.1/socket.rb
    126 /usr/local/lib/ruby/1.9.1/thread.rb
    127 /usr/local/lib/ruby/1.9.1/monitor.rb
    128 /usr/local/lib/ruby/1.9.1/net/ftp.rb
    129 /home/ba/tools/processor/tad_config.rb
    130 /usr/local/lib/ruby/1.9.1/time.rb
    131 /usr/local/lib/ruby/1.9.1/open-uri.rb
    132 /home/ba/.bundler/ruby/1.9.1/curb-dceafcd931c4/lib/curb_core.so
    133 /home/ba/.bundler/ruby/1.9.1/curb-dceafcd931c4/lib/curl.rb
    134 /home/ba/.bundler/ruby/1.9.1/curb-dceafcd931c4/lib/curl/easy.rb
    135 /home/ba/.bundler/ruby/1.9.1/curb-dceafcd931c4/lib/curl/multi.rb
    136 /home/ba/.bundler/ruby/1.9.1/curb-dceafcd931c4/lib/curb.rb
    137 /home/ba/tools/processor/url_loader.rb
    138 /home/ba/tools/processor/lib_trollop.rb

  • Process memory map:

00400000-00617000 r-xp 00000000 ca:01 3065790 /usr/local/bin/ruby
00816000-00817000 r--p 00216000 ca:01 3065790 /usr/local/bin/ruby
00817000-00819000 rw-p 00217000 ca:01 3065790 /usr/local/bin/ruby
00819000-00835000 rw-p 00000000 00:00 0
009ca000-01ce3000 rw-p 00000000 00:00 0 [heap]
7f0a677ad000-7f0a677c3000 r-xp 00000000 ca:01 1147090 /lib/libgcc_s.so.1
7f0a677c3000-7f0a679c2000 ---p 00016000 ca:01 1147090 /lib/libgcc_s.so.1
7f0a679c2000-7f0a679c3000 r--p 00015000 ca:01 1147090 /lib/libgcc_s.so.1
7f0a679c3000-7f0a679c4000 rw-p 00016000 ca:01 1147090 /lib/libgcc_s.so.1
7f0a679c4000-7f0a679c9000 r-xp 00000000 ca:01 1147107 /lib/libnss_dns-2.11.1.so
7f0a679c9000-7f0a67bc8000 ---p 00005000 ca:01 1147107 /lib/libnss_dns-2.11.1.so
7f0a67bc8000-7f0a67bc9000 r--p 00004000 ca:01 1147107 /lib/libnss_dns-2.11.1.so
7f0a67bc9000-7f0a67bca000 rw-p 00005000 ca:01 1147107 /lib/libnss_dns-2.11.1.so
7f0a67bca000-7f0a67bd6000 r-xp 00000000 ca:01 1147108 /lib/libnss_files-2.11.1.so
7f0a67bd6000-7f0a67dd5000 ---p 0000c000 ca:01 1147108 /lib/libnss_files-2.11.1.so
7f0a67dd5000-7f0a67dd6000 r--p 0000b000 ca:01 1147108 /lib/libnss_files-2.11.1.so
7f0a67dd6000-7f0a67dd7000 rw-p 0000c000 ca:01 1147108 /lib/libnss_files-2.11.1.so
7f0a67dd7000-7f0a67dda000 r-xp 00000000 ca:01 1147095 /lib/libgpg-error.so.0.4.0
7f0a67dda000-7f0a67fd9000 ---p 00003000 ca:01 1147095 /lib/libgpg-error.so.0.4.0
7f0a67fd9000-7f0a67fda000 r--p 00002000 ca:01 1147095 /lib/libgpg-error.so.0.4.0
7f0a67fda000-7f0a67fdb000 rw-p 00003000 ca:01 1147095 /lib/libgpg-error.so.0.4.0
7f0a67fdb000-7f0a68050000 r-xp 00000000 ca:01 1147092 /lib/libgcrypt.so.11.5.2
7f0a68050000-7f0a6824f000 ---p 00075000 ca:01 1147092 /lib/libgcrypt.so.11.5.2
7f0a6824f000-7f0a68250000 r--p 00074000 ca:01 1147092 /lib/libgcrypt.so.11.5.2
7f0a68250000-7f0a68253000 rw-p 00075000 ca:01 1147092 /lib/libgcrypt.so.11.5.2
7f0a68253000-7f0a68263000 r-xp 00000000 ca:01 3034505 /usr/lib/libtasn1.so.3.1.7
7f0a68263000-7f0a68462000 ---p 00010000 ca:01 3034505 /usr/lib/libtasn1.so.3.1.7
7f0a68462000-7f0a68463000 r--p 0000f000 ca:01 3034505 /usr/lib/libtasn1.so.3.1.7
7f0a68463000-7f0a68464000 rw-p 00010000 ca:01 3034505 /usr/lib/libtasn1.so.3.1.7
7f0a68464000-7f0a68466000 r-xp 00000000 ca:01 1147098 /lib/libkeyutils-1.2.so
7f0a68466000-7f0a68665000 ---p 00002000 ca:01 1147098 /lib/libkeyutils-1.2.so
7f0a68665000-7f0a68666000 r--p 00001000 ca:01 1147098 /lib/libkeyutils-1.2.so
7f0a68666000-7f0a68667000 rw-p 00002000 ca:01 1147098 /lib/libkeyutils-1.2.so
7f0a68667000-7f0a6866e000 r-xp 00000000 ca:01 3034407 /usr/lib/libkrb5support.so.0.1
7f0a6866e000-7f0a6886d000 ---p 00007000 ca:01 3034407 /usr/lib/libkrb5support.so.0.1
7f0a6886d000-7f0a6886e000 r--p 00006000 ca:01 3034407 /usr/lib/libkrb5support.so.0.1
7f0a6886e000-7f0a6886f000 rw-p 00007000 ca:01 3034407 /usr/lib/libkrb5support.so.0.1
7f0a6886f000-7f0a68872000 r-xp 00000000 ca:01 1147076 /lib/libcom_err.so.2.1
7f0a68872000-7f0a68a71000 ---p 00003000 ca:01 1147076 /lib/libcom_err.so.2.1
7f0a68a71000-7f0a68a72000 r--p 00002000 ca:01 1147076 /lib/libcom_err.so.2.1
7f0a68a72000-7f0a68a73000 rw-p 00003000 ca:01 1147076 /lib/libcom_err.so.2.1
7f0a68a73000-7f0a68a97000 r-xp 00000000 ca:01 3034402 /usr/lib/libk5crypto.so.3.1
7f0a68a97000-7f0a68c97000 ---p 00024000 ca:01 3034402 /usr/lib/libk5crypto.so.3.1
7f0a68c97000-7f0a68c98000 r--p 00024000 ca:01 3034402 /usr/lib/libk5crypto.so.3.1
7f0a68c98000-7f0a68c99000 rw-p 00025000 ca:01 3034402 /usr/lib/libk5crypto.so.3.1
7f0a68c99000-7f0a68d53000 r-xp 00000000 ca:01 3034406 /usr/lib/libkrb5.so.3.3
7f0a68d53000-7f0a68f53000 ---p 000ba000 ca:01 3034406 /usr/lib/libkrb5.so.3.3
7f0a68f53000-7f0a68f5c000 r--p 000ba000 ca:01 3034406 /usr/lib/libkrb5.so.3.3
7f0a68f5c000-7f0a68f5d000 rw-p 000c3000 ca:01 3034406 /usr/lib/libkrb5.so.3.3
7f0a68f5d000-7f0a68ff9000 r-xp 00000000 ca:01 3034380 /usr/lib/libgnutls.so.26.14.12
7f0a68ff9000-7f0a691f8000 ---p 0009c000 ca:01 3034380 /usr/lib/libgnutls.so.26.14.12
7f0a691f8000-7f0a691fe000 r--p 0009b000 ca:01 3034380 /usr/lib/libgnutls.so.26.14.12
7f0a691fe000-7f0a691ff000 rw-p 000a1000 ca:01 3034380 /usr/lib/libgnutls.so.26.14.12
7f0a691ff000-7f0a69218000 r-xp 00000000 ca:01 3034476 /usr/lib/libsasl2.so.2.0.23
7f0a69218000-7f0a69417000 ---p 00019000 ca:01 3034476 /usr/lib/libsasl2.so.2.0.23
7f0a69417000-7f0a69418000 r--p 00018000 ca:01 3034476 /usr/lib/libsasl2.so.2.0.23
7f0a69418000-7f0a69419000 rw-p 00019000 ca:01 3034476 /usr/lib/libsasl2.so.2.0.23
7f0a69419000-7f0a6942f000 r-xp 00000000 ca:01 1147126 /lib/libresolv-2.11.1.so
7f0a6942f000-7f0a6962e000 ---p 00016000 ca:01 1147126 /lib/libresolv-2.11.1.so
7f0a6962e000-7f0a6962f000 r--p 00015000 ca:01 1147126 /lib/libresolv-2.11.1.so
7f0a6962f000-7f0a69630000 rw-p 00016000 ca:01 1147126 /lib/libresolv-2.11.1.so
7f0a69630000-7f0a69632000 rw-p 00000000 00:00 0
7f0a69632000-7f0a6967d000 r-xp 00000000 ca:01 1151453 /lib/libssl.so.0.9.8
7f0a6967d000-7f0a6987c000 ---p 0004b000 ca:01 1151453 /lib/libssl.so.0.9.8
7f0a6987c000-7f0a6987e000 r--p 0004a000 ca:01 1151453 /lib/libssl.so.0.9.8
7f0a6987e000-7f0a69883000 rw-p 0004c000 ca:01 1151453 /lib/libssl.so.0.9.8
7f0a69883000-7f0a69884000 rw-p 00000000 00:00 0
7f0a69884000-7f0a698b7000 r-xp 00000000 ca:01 3034387 /usr/lib/libgssapi_krb5.so.2.2
7f0a698b7000-7f0a69ab6000 ---p 00033000 ca:01 3034387 /usr/lib/libgssapi_krb5.so.2.2
7f0a69ab6000-7f0a69ab7000 r--p 00032000 ca:01 3034387 /usr/lib/libgssapi_krb5.so.2.2
7f0a69ab7000-7f0a69ab8000 rw-p 00033000 ca:01 3034387 /usr/lib/libgssapi_krb5.so.2.2
7f0a69ab8000-7f0a69aff000 r-xp 00000000 ca:01 3034413 /usr/lib/libldap_r-2.4.so.2.5.4
7f0a69aff000-7f0a69cff000 ---p 00047000 ca:01 3034413 /usr/lib/libldap_r-2.4.so.2.5.4
7f0a69cff000-7f0a69d01000 r--p 00047000 ca:01 3034413 /usr/lib/libldap_r-2.4.so.2.5.4
7f0a69d01000-7f0a69d02000 rw-p 00049000 ca:01 3034413 /usr/lib/libldap_r-2.4.so.2.5.4
7f0a69d02000-7f0a69d04000 rw-p 00000000 00:00 0
7f0a69d04000-7f0a69d11000 r-xp 00000000 ca:01 3034408 /usr/lib/liblber-2.4.so.2.5.4
7f0a69d11000-7f0a69f10000 ---p 0000d000 ca:01 3034408 /usr/lib/liblber-2.4.so.2.5.4
7f0a69f10000-7f0a69f11000 r--p 0000c000 ca:01 3034408 /usr/lib/liblber-2.4.so.2.5.4
7f0a69f11000-7f0a69f12000 rw-p 0000d000 ca:01 3034408 /usr/lib/liblber-2.4.so.2.5.4
7f0a69f12000-7f0a69f43000 r-xp 00000000 ca:01 3034394 /usr/lib/libidn.so.11.5.44
7f0a69f43000-7f0a6a143000 ---p 00031000 ca:01 3034394 /usr/lib/libidn.so.11.5.44
7f0a6a143000-7f0a6a144000 r--p 00031000 ca:01 3034394 /usr/lib/libidn.so.11.5.44
7f0a6a144000-7f0a6a145000 rw-p 00032000 ca:01 3034394 /usr/lib/libidn.so.11.5.44
7f0a6a145000-7f0a6a18b000 r-xp 00000000 ca:01 3031353 /usr/lib/libcurl.so.4.1.1
7f0a6a18b000-7f0a6a38b000 ---p 00046000 ca:01 3031353 /usr/lib/libcurl.so.4.1.1
7f0a6a38b000-7f0a6a38c000 r--p 00046000 ca:01 3031353 /usr/lib/libcurl.so.4.1.1
7f0a6a38c000-7f0a6a38d000 rw-p 00047000 ca:01 3031353 /usr/lib/libcurl.so.4.1.1
7f0a6a38d000-7f0a6a3a9000 r-xp 00000000 ca:01 885368 /home/ba/.bundler/ruby/1.9.1/curb-dceafcd931c4/lib/curb_core.so
7f0a6a3a9000-7f0a6a5a8000 ---p 0001c000 ca:01 885368 /home/ba/.bundler/ruby/1.9.1/curb-dceafcd931c4/lib/curb_core.so
7f0a6a5a8000-7f0a6a5a9000 r--p 0001b000 ca:01 885368 /home/ba/.bundler/ruby/1.9.1/curb-dceafcd931c4/lib/curb_core.so
7f0a6a5a9000-7f0a6a5aa000 rw-p 0001c000 ca:01 885368 /home/ba/.bundler/ruby/1.9.1/curb-dceafcd931c4/lib/curb_core.so
7f0a6a5aa000-7f0a6a5ab000 rw-p 00000000 00:00 0
7f0a6a5ab000-7f0a6a5ce000 r-xp 00000000 ca:01 3212502 /usr/local/lib/ruby/1.9.1/x86_64-linux/socket.so
7f0a6a5ce000-7f0a6a7cd000 ---p 00023000 ca:01 3212502 /usr/local/lib/ruby/1.9.1/x86_64-linux/socket.so
7f0a6a7cd000-7f0a6a7ce000 r--p 00022000 ca:01 3212502 /usr/local/lib/ruby/1.9.1/x86_64-linux/socket.so
7f0a6a7ce000-7f0a6a7cf000 rw-p 00023000 ca:01 3212502 /usr/local/lib/ruby/1.9.1/x86_64-linux/socket.so
7f0a6a7cf000-7f0a6a7de000 r-xp 00000000 ca:01 3212507 /usr/local/lib/ruby/1.9.1/x86_64-linux/zlib.so
7f0a6a7de000-7f0a6a9dd000 ---p 0000f000 ca:01 3212507 /usr/local/lib/ruby/1.9.1/x86_64-linux/zlib.so
7f0a6a9dd000-7f0a6a9de000 r--p 0000e000 ca:01 3212507 /usr/local/lib/ruby/1.9.1/x86_64-linux/zlib.so
7f0a6a9de000-7f0a6a9df000 rw-p 0000f000 ca:01 3212507 /usr/local/lib/ruby/1.9.1/x86_64-linux/zlib.so
7f0a6a9df000-7f0a6a9e1000 r-xp 00000000 ca:01 3212571 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/iso_8859_1.so
7f0a6a9e1000-7f0a6abe0000 ---p 00002000 ca:01 3212571 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/iso_8859_1.so
7f0a6abe0000-7f0a6abe1000 r--p 00001000 ca:01 3212571 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/iso_8859_1.so
7f0a6abe1000-7f0a6abe2000 rw-p 00002000 ca:01 3212571 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/iso_8859_1.so
7f0a6abe2000-7f0a6abe5000 r-xp 00000000 ca:01 3212527 /usr/local/lib/ruby/1.9.1/x86_64-linux/digest.so
7f0a6abe5000-7f0a6ade4000 ---p 00003000 ca:01 3212527 /usr/local/lib/ruby/1.9.1/x86_64-linux/digest.so
7f0a6ade4000-7f0a6ade5000 r--p 00002000 ca:01 3212527 /usr/local/lib/ruby/1.9.1/x86_64-linux/digest.so
7f0a6ade5000-7f0a6ade6000 rw-p 00003000 ca:01 3212527 /usr/local/lib/ruby/1.9.1/x86_64-linux/digest.so
7f0a6ade6000-7f0a6adfc000 r-xp 00000000 ca:01 1147143 /lib/libz.so.1.2.3.3
7f0a6adfc000-7f0a6affb000 ---p 00016000 ca:01 1147143 /lib/libz.so.1.2.3.3
7f0a6affb000-7f0a6affc000 r--p 00015000 ca:01 1147143 /lib/libz.so.1.2.3.3
7f0a6affc000-7f0a6affd000 rw-p 00016000 ca:01 1147143 /lib/libz.so.1.2.3.3
7f0a6affd000-7f0a6b165000 r-xp 00000000 ca:01 1151452 /lib/libcrypto.so.0.9.8
7f0a6b165000-7f0a6b365000 ---p 00168000 ca:01 1151452 /lib/libcrypto.so.0.9.8
7f0a6b365000-7f0a6b372000 r--p 00168000 ca:01 1151452 /lib/libcrypto.so.0.9.8
7f0a6b372000-7f0a6b38a000 rw-p 00175000 ca:01 1151452 /lib/libcrypto.so.0.9.8
7f0a6b38a000-7f0a6b38e000 rw-p 00000000 00:00 0
7f0a6b38e000-7f0a6b38f000 r-xp 00000000 ca:01 3212518 /usr/local/lib/ruby/1.9.1/x86_64-linux/digest/sha1.so
7f0a6b38f000-7f0a6b58e000 ---p 00001000 ca:01 3212518 /usr/local/lib/ruby/1.9.1/x86_64-linux/digest/sha1.so
7f0a6b58e000-7f0a6b58f000 r--p 00000000 ca:01 3212518 /usr/local/lib/ruby/1.9.1/x86_64-linux/digest/sha1.so
7f0a6b58f000-7f0a6b590000 rw-p 00001000 ca:01 3212518 /usr/local/lib/ruby/1.9.1/x86_64-linux/digest/sha1.so
7f0a6b590000-7f0a6b5c4000 r-xp 00000000 ca:01 3212505 /usr/local/lib/ruby/1.9.1/x86_64-linux/date_core.so
7f0a6b5c4000-7f0a6b7c4000 ---p 00034000 ca:01 3212505 /usr/local/lib/ruby/1.9.1/x86_64-linux/date_core.so
7f0a6b7c4000-7f0a6b7c5000 r--p 00034000 ca:01 3212505 /usr/local/lib/ruby/1.9.1/x86_64-linux/date_core.so
7f0a6b7c5000-7f0a6b7c6000 rw-p 00035000 ca:01 3212505 /usr/local/lib/ruby/1.9.1/x86_64-linux/date_core.so
7f0a6b7c6000-7f0a6b7c7000 rw-p 00000000 00:00 0
7f0a6b7c7000-7f0a6b7cc000 r-xp 00000000 ca:01 3212524 /usr/local/lib/ruby/1.9.1/x86_64-linux/strscan.so
7f0a6b7cc000-7f0a6b9cc000 ---p 00005000 ca:01 3212524 /usr/local/lib/ruby/1.9.1/x86_64-linux/strscan.so
7f0a6b9cc000-7f0a6b9cd000 r--p 00005000 ca:01 3212524 /usr/local/lib/ruby/1.9.1/x86_64-linux/strscan.so
7f0a6b9cd000-7f0a6b9ce000 rw-p 00006000 ca:01 3212524 /usr/local/lib/ruby/1.9.1/x86_64-linux/strscan.so
7f0a6b9ce000-7f0a6b9d5000 r-xp 00000000 ca:01 3212519 /usr/local/lib/ruby/1.9.1/x86_64-linux/stringio.so
7f0a6b9d5000-7f0a6bbd4000 ---p 00007000 ca:01 3212519 /usr/local/lib/ruby/1.9.1/x86_64-linux/stringio.so
7f0a6bbd4000-7f0a6bbd5000 r--p 00006000 ca:01 3212519 /usr/local/lib/ruby/1.9.1/x86_64-linux/stringio.so
7f0a6bbd5000-7f0a6bbd6000 rw-p 00007000 ca:01 3212519 /usr/local/lib/ruby/1.9.1/x86_64-linux/stringio.so
7f0a6bbd6000-7f0a6bbf5000 r-xp 00000000 ca:01 3034687 /usr/lib/libyaml-0.so.2.0.1
7f0a6bbf5000-7f0a6bdf4000 ---p 0001f000 ca:01 3034687 /usr/lib/libyaml-0.so.2.0.1
7f0a6bdf4000-7f0a6bdf5000 r--p 0001e000 ca:01 3034687 /usr/lib/libyaml-0.so.2.0.1
7f0a6bdf5000-7f0a6bdf6000 rw-p 0001f000 ca:01 3034687 /usr/lib/libyaml-0.so.2.0.1
7f0a6bdf6000-7f0a6bdfb000 r-xp 00000000 ca:01 3212590 /usr/local/lib/ruby/1.9.1/x86_64-linux/psych.so
7f0a6bdfb000-7f0a6bffb000 ---p 00005000 ca:01 3212590 /usr/local/lib/ruby/1.9.1/x86_64-linux/psych.so
7f0a6bffb000-7f0a6bffc000 r--p 00005000 ca:01 3212590 /usr/local/lib/ruby/1.9.1/x86_64-linux/psych.so
7f0a6bffc000-7f0a6bffd000 rw-p 00006000 ca:01 3212590 /usr/local/lib/ruby/1.9.1/x86_64-linux/psych.so
7f0a6bffd000-7f0a6c000000 r-xp 00000000 ca:01 3212594 /usr/local/lib/ruby/1.9.1/x86_64-linux/etc.so
7f0a6c000000-7f0a6c1ff000 ---p 00003000 ca:01 3212594 /usr/local/lib/ruby/1.9.1/x86_64-linux/etc.so
7f0a6c1ff000-7f0a6c200000 r--p 00002000 ca:01 3212594 /usr/local/lib/ruby/1.9.1/x86_64-linux/etc.so
7f0a6c200000-7f0a6c201000 rw-p 00003000 ca:01 3212594 /usr/local/lib/ruby/1.9.1/x86_64-linux/etc.so
7f0a6c201000-7f0a6c209000 r-xp 00000000 ca:01 3212503 /usr/local/lib/ruby/1.9.1/x86_64-linux/pathname.so
7f0a6c209000-7f0a6c408000 ---p 00008000 ca:01 3212503 /usr/local/lib/ruby/1.9.1/x86_64-linux/pathname.so
7f0a6c408000-7f0a6c409000 r--p 00007000 ca:01 3212503 /usr/local/lib/ruby/1.9.1/x86_64-linux/pathname.so
7f0a6c409000-7f0a6c40a000 rw-p 00008000 ca:01 3212503 /usr/local/lib/ruby/1.9.1/x86_64-linux/pathname.so
7f0a6c40a000-7f0a6c40c000 r-xp 00000000 ca:01 3212542 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/trans/transdb.so
7f0a6c40c000-7f0a6c60c000 ---p 00002000 ca:01 3212542 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/trans/transdb.so
7f0a6c60c000-7f0a6c60d000 r--p 00002000 ca:01 3212542 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/trans/transdb.so
7f0a6c60d000-7f0a6c60e000 rw-p 00003000 ca:01 3212542 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/trans/transdb.so
7f0a6c60e000-7f0a6c610000 r-xp 00000000 ca:01 3212559 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/encdb.so
7f0a6c610000-7f0a6c80f000 ---p 00002000 ca:01 3212559 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/encdb.so
7f0a6c80f000-7f0a6c810000 r--p 00001000 ca:01 3212559 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/encdb.so
7f0a6c810000-7f0a6c811000 rw-p 00002000 ca:01 3212559 /usr/local/lib/ruby/1.9.1/x86_64-linux/enc/encdb.so
7f0a6c811000-7f0a6c98b000 r-xp 00000000 ca:01 1147073 /lib/libc-2.11.1.so
7f0a6c98b000-7f0a6cb8a000 ---p 0017a000 ca:01 1147073 /lib/libc-2.11.1.so
7f0a6cb8a000-7f0a6cb8e000 r--p 00179000 ca:01 1147073 /lib/libc-2.11.1.so
7f0a6cb8e000-7f0a6cb8f000 rw-p 0017d000 ca:01 1147073 /lib/libc-2.11.1.so
7f0a6cb8f000-7f0a6cb94000 rw-p 00000000 00:00 0
7f0a6cb94000-7f0a6cc16000 r-xp 00000000 ca:01 1147099 /lib/libm-2.11.1.so
7f0a6cc16000-7f0a6ce15000 ---p 00082000 ca:01 1147099 /lib/libm-2.11.1.so
7f0a6ce15000-7f0a6ce16000 r--p 00081000 ca:01 1147099 /lib/libm-2.11.1.so
7f0a6ce16000-7f0a6ce17000 rw-p 00082000 ca:01 1147099 /lib/libm-2.11.1.so
7f0a6ce17000-7f0a6ce20000 r-xp 00000000 ca:01 1147077 /lib/libcrypt-2.11.1.so
7f0a6ce20000-7f0a6d020000 ---p 00009000 ca:01 1147077 /lib/libcrypt-2.11.1.so
7f0a6d020000-7f0a6d021000 r--p 00009000 ca:01 1147077 /lib/libcrypt-2.11.1.so
7f0a6d021000-7f0a6d022000 rw-p 0000a000 ca:01 1147077 /lib/libcrypt-2.11.1.so
7f0a6d022000-7f0a6d050000 rw-p 00000000 00:00 0
7f0a6d050000-7f0a6d052000 r-xp 00000000 ca:01 1147081 /lib/libdl-2.11.1.so
7f0a6d052000-7f0a6d252000 ---p 00002000 ca:01 1147081 /lib/libdl-2.11.1.so
7f0a6d252000-7f0a6d253000 r--p 00002000 ca:01 1147081 /lib/libdl-2.11.1.so
7f0a6d253000-7f0a6d254000 rw-p 00003000 ca:01 1147081 /lib/libdl-2.11.1.so
7f0a6d254000-7f0a6d25b000 r-xp 00000000 ca:01 1147127 /lib/librt-2.11.1.so
7f0a6d25b000-7f0a6d45a000 ---p 00007000 ca:01 1147127 /lib/librt-2.11.1.so
7f0a6d45a000-7f0a6d45b000 r--p 00006000 ca:01 1147127 /lib/librt-2.11.1.so
7f0a6d45b000-7f0a6d45c000 rw-p 00007000 ca:01 1147127 /lib/librt-2.11.1.so
7f0a6d45c000-7f0a6d474000 r-xp 00000000 ca:01 1147124 /lib/libpthread-2.11.1.so
7f0a6d474000-7f0a6d673000 ---p 00018000 ca:01 1147124 /lib/libpthread-2.11.1.so
7f0a6d673000-7f0a6d674000 r--p 00017000 ca:01 1147124 /lib/libpthread-2.11.1.so
7f0a6d674000-7f0a6d675000 rw-p 00018000 ca:01 1147124 /lib/libpthread-2.11.1.so
7f0a6d675000-7f0a6d679000 rw-p 00000000 00:00 0
7f0a6d679000-7f0a6d699000 r-xp 00000000 ca:01 1147063 /lib/ld-2.11.1.so
7f0a6d789000-7f0a6d88f000 rw-p 00000000 00:00 0
7f0a6d891000-7f0a6d892000 rw-p 00000000 00:00 0
7f0a6d892000-7f0a6d893000 ---p 00000000 00:00 0
7f0a6d893000-7f0a6d898000 rw-p 00000000 00:00 0
7f0a6d898000-7f0a6d899000 r--p 0001f000 ca:01 1147063 /lib/ld-2.11.1.so
7f0a6d899000-7f0a6d89a000 rw-p 00020000 ca:01 1147063 /lib/ld-2.11.1.so
7f0a6d89a000-7f0a6d89b000 rw-p 00000000 00:00 0
7fff180ad000-7fff180ce000 rw-p 00000000 00:00 0 [stack]
7fff18105000-7fff18106000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]

@mateusg

Same thing happening with me.
Ruby 1.9.3p327 + curb 0.8.7 + ubuntu 12.04.

Whenever I execute Curl::Easy.download(url, location) 3 times, the error occurs.

@heaven

Same with ruby-1.9.3-p392 and curb 0.8.3

@atomgiant

fyi - as a result of this issue I wrote a direct curl wrapper using backticks. Feel free to use it as inspiration for your own @heaven, @mateusg: https://gist.github.com/atomgiant/5181455

@taf2
Owner

hrm I should fix this - what OS and version of libcurl?

@heaven

@taf2 hi, my curl set up:
curl --version
curl 7.29.0 (x86_64-unknown-linux-gnu) libcurl/7.29.0 OpenSSL/1.0.1e zlib/1.2.7 libssh2/1.4.3
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp scp sftp smtp smtps telnet tftp
Features: AsynchDNS IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP

@heaven

@atomgiant thx, just switched to faraday since it is also used in my application.

@heaven

I have 2 parts in my application where curl is used and these parts crash. It seems like multithreading could be an issue here. Both parts of application that do have problems are launched in threads. But they do not share same instances.

@taf2
Owner

an easy work around might be...

File.open("yourfile", "wb") {|f| Curl.get(url) {|http| http.on_body {|d| f << d; d.size } } }

Does that crash for you?

@heaven

The crashes are intermittent, I had usually to perform about 300-500 requests before that happen (have a background worker that process lots of urls in multithreaded environment). Just switched to Net::HTTP from the stdlib and crashes gone.

Will try your suggestion this weekend to check if that work.

@eklipse2k8

This is easily reproducible for me when I add in the on_progress callback

            @curl.on_progress do | dl_total, dl_now, ul_total, ul_now | 
                update_progress(dl_now, dl_total)
                return true 
            end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.