Bug 838081
Summary: | ocaml/t/guestfs_500_parallel_mount_local crashes in caml_thread_reinitialize | ||
---|---|---|---|
Product: | [Community] Virtualization Tools | Reporter: | Richard W.M. Jones <rjones> |
Component: | libguestfs | Assignee: | Richard W.M. Jones <rjones> |
Status: | CLOSED DEFERRED | QA Contact: | |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | unspecified | CC: | dyasny, mbooth |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2013-03-06 11:39:07 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Richard W.M. Jones
2012-07-06 12:45:38 UTC
I pushed this hack which appears to work around the problem: https://github.com/libguestfs/libguestfs/commit/ad7c4498f66f37c4219242c6df04d28e9ee7877f The workaround doesn't cure the problem, so I have reverted it. (In reply to comment #2) > The workaround doesn't cure the problem, so I have reverted it. Ignore that. I saw what seems to be the same bug, affecting a different piece of code. Perhaps adding Gc.compact could work around this place too? #0 0x00000000004abcc8 in caml_thread_reinitialize () #1 0x0000003fc26bab9e in __libc_fork () at ../nptl/sysdeps/unix/sysv/linux/fork.c:188 #2 0x0000003fc266cf34 in _IO_new_proc_open (fp=fp@entry=0x7f7868000f30, command=command@entry=0x7f787a7fa2c0 "LC_ALL=C '/bin/qemu-kvm' -nographic -\ version 2>/dev/null", mode=<optimized out>, mode@entry=0x7f7881ecd090 "r") at iopopen.c:187 #3 0x0000003fc266d1c7 in _IO_new_popen ( command=0x7f787a7fa2c0 "LC_ALL=C '/bin/qemu-kvm' -nographic -version 2>/dev\ /null", mode=0x7f7881ecd090 "r") at iopopen.c:308 #4 0x00007f7881eab88d in test_qemu_cmd (g=g@entry=0x7f78680008c0, cmd=cmd@entry=0x7f787a7fa2c0 "LC_ALL=C '/bin/qemu-kvm' -nographic -version \ 2>/dev/null", ret=ret@entry=0x7f7868000910) at launch.c:1428 #5 0x00007f7881eaba04 in test_qemu (g=0x7f78680008c0) at launch.c:1410 #6 0x00007f7881eabaea in qemu_supports (g=g@entry=0x7f78680008c0, option=option@entry=0x0) at launch.c:1479 #7 0x00007f7881eac921 in launch_appliance (g=g@entry=0x7f78680008c0) at launch.c:586 #8 0x00007f7881ead991 in guestfs__launch (g=g@entry=0x7f78680008c0) at launch.c:530 #9 0x00007f7881e4fda8 in guestfs_launch (g=g@entry=0x7f78680008c0) at actions.c:1119 #10 0x0000000000496ad8 in ocaml_guestfs_launch (gv=578721382704613384) at guestfs_c_actions.c:7544 #11 0x00000000004c3f9a in caml_c_call () #12 0x0000000000000001 in ?? () I suspect this is a bug in OCaml itself, specifically in the rather hairy fork handling (see http://caml.inria.fr/mantis/view.php?id=4577). In any case, we no longer do a multithreaded test of mount-local in OCaml. It was rewritten in C. So this bug doesn't apply to libguestfs any longer. |