Re: osd: terminate called after throwing an instance of 'std::bad_alloc'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jun 04, 09:48, Sage Weil Wrote
> On Fri, 4 Jun 2010, Andre Noll wrote:
> > On Wed, Jun 02, 11:19, Sage Weil Wrote
> > > Okay, it looks like there is a corrupt PG log.  Can you tar up the 
> > > $osd_data/current/meta directory, and then 'f 8' and 'p /x info.pgid' from 
> > > gdb (to figure out which pg it's loading)?
> > 
> > It's in decode_nohead():
> > 
> > 	...
> > 	Program received signal SIGABRT, Aborted.
> > 	[Switching to Thread 0x7ff115b566f0 (LWP 5045)]
> > 	0x00007ff1146e9095 in raise () from /lib/libc.so.6
> > 	(gdb) f 8
> > 	#8  0x0000000000540920 in PG::read_log (this=0x7ff1104b6460,
> > 	store=<value optimized out>) at ./include/cstring.h:120
> > 	120         _data = new char[_len + 1];
> > 	(gdb) p /x info.pgid
> > 	$1 = {v = {preferred = {v = 0xffff}, ps = {v = 0x1bf}, pool = {v = 0x0}}}
> 
> The pgid's format like $pool.$ps[p$preferred] (where the preferred bit 
> only shows up if >= 0).  In hex.  So the pgid above is 0.1bf, and the 
> corrupted log should be current/meta/pglog_0.1bf_0.  If you send me that 
> file (off list) I can see what the corruption looks like.

Thanks for the explanation. I'll send it off-list in a minute.
It's 361K large.

> If you want to try to bring the osd up without that pg, you can move that 
> pglog file and current/0.1bf to some other temp directory and restart 
> cosd.

Did not work. It recreated that file and then crashed for the same
reason. The gdb output is identical, but the file contents have
changed. I'll send the new pglog_0.1bf_0 as well.

Thanks
Andre
-- 
The only person who always got his work done by Friday was Robinson Crusoe

Attachment: signature.asc
Description: Digital signature


[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux