Bug 909666
| Summary: | Unexpected non-tail recursion in recv_from_daemon results in stack overflow in very long-running API calls that send progress messages | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | Richard W.M. Jones <rjones> |
| Component: | libguestfs | Assignee: | Richard W.M. Jones <rjones> |
| Status: | CLOSED ERRATA | QA Contact: | Virtualization Bugs <virt-bugs> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 6.5 | CC: | acathrow, bfan, cazhang, eblake, leiwang, lkong, mbooth, rjones, virt-maint, wshi |
| Target Milestone: | rc | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | libguestfs-1.20.9-5.el6 | Doc Type: | Bug Fix |
| Doc Text: |
Cause: Long-running libguestfs APIs which send progress messages (eg. very large resize operations).
Consequence: The libguestfs stack would overflow resulting in a crash.
Fix: The code has been rewritten to make it tail-recursive, avoiding the stack overflow.
Result: Long running operations now work.
|
Story Points: | --- |
| Clone Of: | 909624 | Environment: | |
| Last Closed: | 2013-11-21 04:42:52 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: | |||
| Bug Depends On: | 909624, 958183 | ||
| Bug Blocks: | |||
|
Description
Richard W.M. Jones
2013-02-10 09:28:29 UTC
This request was not resolved in time for the current release. Red Hat invites you to ask your support representative to propose this request, if still desired, for consideration in the next release of Red Hat Enterprise Linux. Fix included in upstream libguestfs 1.16.35. Fixed by the rebase (bug 958183). I reproduced and verified this bug using the `test.ml` program. Not sure if this is acceptable so I set "need info". Reproduce: 1. Install libguestfs-1.16.34-2.el6 and compile `test.ml` against its libraries. 2. Run `test.ml` for nearly a day and it finally crashes: hello! hello! hello! hello! hello! hello! hello! hello! hello! hello! helSegmentation fault (core dumped) Verify: 1. Install the latest version from rhel6.5 repo and compile `test.ml` again. 2. Run `test.ml` for nearly 3 days and it doesn't crash. (In reply to Can Zhang from comment #10) > I reproduced and verified this bug using the `test.ml` program. Not sure if > this is acceptable so I set "need info". > > Reproduce: > 1. Install libguestfs-1.16.34-2.el6 and compile `test.ml` against its > libraries. > 2. Run `test.ml` for nearly a day and it finally crashes: > hello! > hello! > hello! > hello! > hello! > hello! > hello! > hello! > hello! > hello! > helSegmentation fault (core dumped) > > Verify: > 1. Install the latest version from rhel6.5 repo and compile `test.ml` again. > 2. Run `test.ml` for nearly 3 days and it doesn't crash. I'm slightly surprised it took so long to get the core dump, but the verification seems fine to me. Change the status to verified according to #C10 and #C11 Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHSA-2013-1536.html |