[sheepdog-users] SIGABRT when doing: dog vdi check

Liu Yuan namei.unix at gmail.com
Tue Jan 7 14:38:13 CET 2014


On Tue, Jan 07, 2014 at 01:29:40PM +0100, Marcin Mirosław wrote:
> W dniu 07.01.2014 12:50, Liu Yuan pisze:
> > On Tue, Jan 07, 2014 at 11:14:09AM +0100, Marcin Mirosław wrote:
> >> W dniu 07.01.2014 11:05, Liu Yuan pisze:
> >>> On Tue, Jan 07, 2014 at 10:51:18AM +0100, Marcin Mirosław wrote:
> >>>> W dniu 07.01.2014 03:00, Liu Yuan pisze:
> >>>>> On Mon, Jan 06, 2014 at 05:38:41PM +0100, Marcin Mirosław wrote:
> >>>>>> W dniu 2014-01-06 08:27, Liu Yuan pisze:
> >>>>>>> On Sat, Jan 04, 2014 at 04:13:27PM +0100, Marcin Mirosław wrote:
> >>>>>>>> W dniu 2014-01-04 06:28, Liu Yuan pisze:
> >>>>>>>>> On Fri, Jan 03, 2014 at 10:51:26PM +0100, Marcin Mirosław wrote:
> >>>>>>>>>> Hi!
> >>>>>>>>
> >>>>>>>> Hi all!
> >>>>>>>>
> >>>>>>>>>> I'm new on "sheep-run";) I'm starting to try sheepdog so probably
> >>>>>>>>>> I'm doing many things wrongly. I'm playing with sheepdog-0.7.6.
> >>>>>>>>>>
> >>>>>>>>>> First problem (SIGABRT): I started multi sheep daemeon on
> >>>>>>>>>> localhost: # for x in 0 1 2 3 4; do sheep -c local -j size=128M
> >>>>>>>>>> -p 700$x /mnt/sheep/metadata/$x,/mnt/sheep/storage/$x; done
> >>>>>>>>>>
> >>>>>>>>>> Next: # dog cluster info Cluster status: Waiting for cluster to
> >>>>>>>>>> be formatted
> >>>>>>>>>>
> >>>>>>>>>> # dog cluster format -c 2:1
> >>>>>>>>>
> >>>>>>>>> 0.7.6 doesn't support erasure code. Try latest master branch
> >>>>>>>>
> >>>>>>>> Now I'm on 486ace8ccbb [master]. How I should check choosen redundancy?
> >>>>>>>>  # cat /mnt/test/vdi/list
> >>>>>>>>    Name        Id    Size    Used  Shared    Creation time   VDI id
> >>>>>>>> Copies  Tag
> >>>>>>>>    testowy      0  1.0 GB  0.0 MB  0.0 MB 2014-01-04 15:07   cac836     3
> >>>>>>>>
> >>>>>>>> Here I can see 3 copies, can't see info about how many parity strips
> >>>>>>>> is configured. Probably this isn't implemented yet?
> >>>>>>>
> >>>>>>> Not yet. But currently you can 'dog cluster info -s' to see the global policy
> >>>>>>> scheme x:y (that you 'dog cluster format -c x:y').
> >>>>>>>
> >>>>>>> With erasure coding, 'copies' will have another meaning that the number of total
> >>>>>>> data + parity objects. In your case, it is 2+1=3. But as you said, this is
> >>>>>>> confusing, I think of adding a extra field to indicate redundancy scheme per vid.
> >>>>>>>
> >>>>>>> Well, for about issue, I can't reproduce it. Could you give me more envronment
> >>>>>>> information such as 32 or 64 bits of your OS? what is your distro?
> >>>>>>
> >>>>>> Hi!
> >>>>>> I'm using Gentoo 64bits, gcc version 4.7.3 (Gentoo Hardened 4.7.3-r1
> >>>>>> p1.4, pie-0.5.5), kernel 3.10 with Gentoo patches.
> >>>>>>
> >>>>>
> >>>>> Does the problem still exist? I can't reproduce the issue yet. So how did you
> >>>>> reproduce it step by step?
> >>>>
> >>>> Hi!
> >>>> I'm installing sheepdog-0.7.x, next:
> >>>> # mkdir -p /mnt/sheep/{metadata,storage}
> >>>> # for x in 0 1 2 3 4; do sheep -c local -j size=128M -p 700$x
> >>>> /mnt/sheep/metadata/$x,/mnt/sheep/storage/$x; done
> >>>> # dog cluster format -c 2
> >>>> using backend plain store
> >>>> # dog vdi create testowy 5G
> >>>> # dog  vdi check testowy
> >>>> PANIC: can't find next new idx
> >>>> dog exits unexpectedly (Aborted).
> >>>> dog() [0x4058da]
> >>>> [...]
> >>>>
> >>>> I'm getting SIGABRT on every try.
> >>>>
> >>>>
> >>>
> >>> On the same machine, with master branch(not stable-0.7), you mentioned you can't
> >>> reproduce the problem?
> >>
> >> With master branch (commit  a79e69f9ad9c5) I'm getting such message:
> >> # dog  vdi check testowy
> >> PANIC: can't find a valid vnode
> >> dog exits unexpectedly (Aborted).
> >> dog() [0x4057fa]
> >> /lib64/libpthread.so.0(+0xfd8f) [0x7f6d43cd0d8f]
> >> /lib64/libc.so.6(gsignal+0x38) [0x7f6d43951368]
> >> /lib64/libc.so.6(abort+0x147) [0x7f6d439526c7]
> >> dog() [0x40336e]
> >> dog() [0x409d9f]
> >> dog() [0x40cea5]
> >> dog() [0x403927]
> >> /lib64/libc.so.6(__libc_start_main+0xf4) [0x7f6d4393dc04]
> >> dog() [0x403c6c]
> >>
> >> Will be full gdb backtrace usefull?
> > 
> > Hmm, before you run 'dog vdi check', what is output of 'dog cluster info',
> > 'dog node list', 'dog node md info --all'?
> 
> Output using master branch:
> # dog cluster info
> Cluster status: running, auto-recovery enabled
> 
> Cluster created at Tue Jan  7 13:21:53 2014
> 
> Epoch Time           Version
> 2014-01-07 13:21:54      1 [127.0.0.1:7000, 127.0.0.1:7001,
> 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7004]
> 
> # dog node list
>   Id   Host:Port         V-Nodes       Zone
>    0   127.0.0.1:7000           128   16777343
>    1   127.0.0.1:7001           128   16777343
>    2   127.0.0.1:7002           128   16777343
>    3   127.0.0.1:7003           128   16777343
>    4   127.0.0.1:7004           128   16777343
> 
> # dog node md info --all
> Id      Size    Used    Avail   Use%    Path
> Node 0:
>  0      4.4 GB  4.0 MB  4.4 GB    0%    /mnt/sheep/storage/0
> Node 1:
>  0      4.4 GB  0.0 MB  4.4 GB    0%    /mnt/sheep/storage/1
> Node 2:
>  0      4.4 GB  0.0 MB  4.4 GB    0%    /mnt/sheep/storage/2
> Node 3:
>  0      4.4 GB  0.0 MB  4.4 GB    0%    /mnt/sheep/storage/3
> Node 4:
>  0      4.4 GB  0.0 MB  4.4 GB    0%    /mnt/sheep/storage/4
> 

The very strange thing from your output is that only 1 copy was actually
written while you execute 'dog vdi create', but you formated the cluster with
two copy specified.

You can verify this by

ls /mnt/sheepdog/storage/*/

I guess you can only see one object. Dunno why this happened.

Thanks
Yuan



More information about the sheepdog-users mailing list