Bug 785290
| Summary: | ocaml (bytecode) bindings segfault in 'add_drive_opts' | |||
|---|---|---|---|---|
| Product: | [Community] Virtualization Tools | Reporter: | Richard W.M. Jones <rjones> | |
| Component: | libguestfs | Assignee: | Richard W.M. Jones <rjones> | |
| Status: | CLOSED UPSTREAM | QA Contact: | ||
| Severity: | unspecified | Docs Contact: | ||
| Priority: | unspecified | |||
| Version: | unspecified | CC: | mbooth, virt-maint | |
| Target Milestone: | --- | |||
| Target Release: | --- | |||
| Hardware: | Unspecified | |||
| OS: | Unspecified | |||
| Whiteboard: | ||||
| Fixed In Version: | Doc Type: | Bug Fix | ||
| Doc Text: | Story Points: | --- | ||
| Clone Of: | ||||
| : | 785305 (view as bug list) | Environment: | ||
| Last Closed: | 2012-01-30 11:19:04 UTC | Type: | --- | |
| Regression: | --- | Mount Type: | --- | |
| Documentation: | --- | CRM: | ||
| Verified Versions: | Category: | --- | ||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
| Cloudforms Team: | --- | Target Upstream Version: | ||
| Embargoed: | ||||
| Bug Depends On: | ||||
| Bug Blocks: | 785305 | |||
Stack trace:
#0 __strlen_sse2 () at ../sysdeps/x86_64/strlen.S:32
#1 0x0000003a24686a76 in __GI___strdup (s=0x1 <Address 0x1 out of bounds>)
at strdup.c:42
#2 0x00007ffff109bd8c in guestfs_safe_strdup ()
from /usr/lib64/libguestfs.so.0
#3 0x00007ffff1335f76 in ocaml_guestfs_add_drive_opts (gv=1, readonlyv=1,
formatv=140737352560936, ifacev=1, namev=1, filenamev=1)
at guestfs_c_actions.c:732
#4 0x000000000041b3d1 in caml_interprete (prog=0x7ffff7bd2010,
prog_size=<optimized out>) at interp.c:905
#5 0x000000000041cf73 in caml_main (argv=0x7fffffffdf08) at startup.c:424
#6 0x0000000000409dbc in main (argc=<optimized out>, argv=<optimized out>)
Note in frame #3 that filenamev is bogus; it should be
a string value.
Fixed: https://github.com/libguestfs/libguestfs/commit/799852e64691068f3256c27d18870bdb2537c2be https://github.com/libguestfs/libguestfs/commit/eb68a314133c88260cdf4547d7d338446488e698 Fixed upstream in 1.17.3 and 1.16.2. |
Description of problem: $ ocaml Objective Caml version 3.12.1 # #use "topfind";; - : unit = () Findlib has been successfully loaded. Additional directives: #require "package";; to load a package #list;; to list the available packages #camlp4o;; to load camlp4 (standard syntax) #camlp4r;; to load camlp4 (revised syntax) #predicates "p,q,...";; to set these predicates Topfind.reset();; to force that packages will be reloaded #thread;; to enable threads - : unit = () # #require "guestfs";; /usr/lib64/ocaml/unix.cma: loaded /usr/lib64/ocaml/guestfs: added to search path /usr/lib64/ocaml/guestfs/mlguestfs.cma: loaded # #use "/usr/share/doc/ocaml-libguestfs-devel-1.17.2/create_disk.ml";; val output : string = "disk.img" libguestfs: trace: set_autosync true libguestfs: trace: set_autosync = 0 Segmentation fault Version-Release number of selected component (if applicable): 1.17.2 How reproducible: 100% (bytecode) Doesn't segfault in native code.