[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [Bug 1308542] [NEW] hang in qemu_gluster_init
From: |
Kevin Wolf |
Subject: |
Re: [Qemu-devel] [Bug 1308542] [NEW] hang in qemu_gluster_init |
Date: |
Thu, 17 Apr 2014 11:27:52 +0200 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
Am 16.04.2014 um 15:25 hat John Eckersberg geschrieben:
> Public bug reported:
>
> In qemu_gluster_init, if the call to either glfs_set_volfile_server or
> glfs_set_logging fails into the "out" case, glfs_fini is called without
> having first calling glfs_init. This causes glfs_lock to spin forever
> on this bit:
>
> while (!fs->init)
> pthread_cond_wait (&fs->cond, &fs->mutex);
>
> And here's the bottom part of the backtrace when hung:
>
> #0 pthread_cond_wait@@GLIBC_2.3.2 () at
> ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:183
> #1 0x00007feceebf58c3 in glfs_lock (fs=0x7fecf15660b0) at glfs-internal.h:156
> #2 glfs_active_subvol (fs=0x7fecf15660b0) at glfs-resolve.c:799
> #3 0x00007feceebeb5b4 in glfs_fini (fs=0x7fecf15660b0) at glfs.c:652
> #4 0x00007fecf0043c73 in qemu_gluster_init (gconf=<value optimized out>,
> filename=<value optimized out>) at
> /usr/src/debug/qemu-kvm-0.12.1.2/block/gluster.c:229
>
> I believe this can be fixed by simply moving the call to glfs_init after
> the call to glfs_new but before the calls to glfs_set_volfile_server or
> glfs_set_logging.
Bharata, can you check whether this is the correct solution, and if so,
send out a patch?
Kevin
- [Qemu-devel] [PULL 00/51] target-arm queue, Peter Maydell, 2014/04/17
- [Qemu-devel] [PULL 48/51] misc: zynq_slcr: Make DB_PRINTs always compile, Peter Maydell, 2014/04/17
- [Qemu-devel] [PULL 49/51] net: cadence_gem: Make phy respond to broadcast, Peter Maydell, 2014/04/17
- [Qemu-devel] [PULL 47/51] misc: zynq_slcr: Convert SBD::init to object init, Peter Maydell, 2014/04/17
- [Qemu-devel] [PULL 50/51] arm: translate.c: Fix smlald Instruction, Peter Maydell, 2014/04/17
- [Qemu-devel] [PULL 51/51] target-arm: A64: fix unallocated test of scalar SQXTUN, Peter Maydell, 2014/04/17
- [Qemu-devel] [PULL 45/51] allwinner-emac: update irq status after writes to interrupt registers, Peter Maydell, 2014/04/17
- [Qemu-devel] [PULL 44/51] allwinner-emac: set autonegotiation complete bit on link up, Peter Maydell, 2014/04/17
- [Qemu-devel] [PULL 43/51] allwinner-a10-pit: implement prescaler and source selection, Peter Maydell, 2014/04/17
- [Qemu-devel] [PULL 41/51] allwinner-a10-pit: avoid generation of spurious interrupts, Peter Maydell, 2014/04/17
- [Qemu-devel] [PULL 42/51] allwinner-a10-pit: use level triggered interrupts, Peter Maydell, 2014/04/17