Project

General

Profile

Bug #3172

ceph::buffer::bad_alloc downloading a large object using rados

Added by John Leach over 11 years ago. Updated about 11 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
librados
Target version:
-
% Done:

0%

Source:
Development
Tags:
Backport:
Regression:
No
Severity:
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

got a 1gig object, when I get it I get a bad_alloc error.

This is on a 64bit Ubuntu 12.04.1 LTS box, with packages installed from the ceph repository.

root@srv-2bz4v:~# rados -p test get zero.1 z1
terminate called after throwing an instance of 'ceph::buffer::bad_alloc'
  what():  buffer::bad_alloc
*** Caught signal (Aborted) **
 in thread 7f5064534700
 ceph version 0.51 (commit:c03ca95d235c9a072dcd8a77ad5274a52e93ae30)
 1: rados() [0x4434fa]
 2: (()+0xfcb0) [0x7f5069e98cb0]
 3: (gsignal()+0x35) [0x7f5068ee5445]
 4: (abort()+0x17b) [0x7f5068ee8bab]
 5: (__gnu_cxx::__verbose_terminate_handler()+0x11d) [0x7f506983369d]
 6: (()+0xb5846) [0x7f5069831846]
 7: (()+0xb5873) [0x7f5069831873]
 8: (()+0xb596e) [0x7f506983196e]
 9: (ceph::buffer::create_page_aligned(unsigned int)+0x95) [0x7f506a849635]
 10: (SimpleMessenger::Pipe::read_message(Message**)+0x1db0) [0x7f506a7f02b0]
 11: (SimpleMessenger::Pipe::reader()+0xb44) [0x7f506a804734]
 12: (SimpleMessenger::Pipe::Reader::entry()+0xd) [0x7f506a6db2cd]
 13: (()+0x7e9a) [0x7f5069e90e9a]
 14: (clone()+0x6d) [0x7f5068fa14bd]
2012-09-18 08:51:14.390520 7f5064534700 -1 *** Caught signal (Aborted) **
 in thread 7f5064534700

attached full output from crash and apport core dump data.

rados-get-crash.log View (12.5 KB) John Leach, 09/18/2012 03:07 AM

_usr_bin_rados.0.crash.gz (142 KB) John Leach, 09/18/2012 03:07 AM

History

#1 Updated by Greg Farnum about 11 years ago

  • Status changed from New to Resolved

I believe this got fixed in 234becd3447a679a919af458440bc31c8bd6b84f.
Previously it was trying to read a full object at once, which in this case would have involved asking for a 1GB memory allocation.

Also available in: Atom PDF