diff options
Diffstat (limited to 'results/classifier/deepseek-2-tmp/output/other/1308542')
| -rw-r--r-- | results/classifier/deepseek-2-tmp/output/other/1308542 | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/results/classifier/deepseek-2-tmp/output/other/1308542 b/results/classifier/deepseek-2-tmp/output/other/1308542 new file mode 100644 index 000000000..bbddab244 --- /dev/null +++ b/results/classifier/deepseek-2-tmp/output/other/1308542 @@ -0,0 +1,17 @@ + +hang in qemu_gluster_init + +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. \ No newline at end of file |