Summary: | plymouth uses alloca which can result in undefined behaviour | ||
---|---|---|---|
Product: | plymouth | Reporter: | James Hunt <james.hunt> |
Component: | general | Assignee: | Ray Strode [halfline] <rstrode> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | medium | CC: | rstrode |
Version: | unspecified | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: | patch to remove alloca(3) calls. |
Description
James Hunt
2011-10-07 08:46:59 UTC
Created attachment 52088 [details] [review] patch to remove alloca(3) calls. The stack shouldn't ever get too deep, so it's not likely to fail. If it is getting too deep, that stack size is running short that signals some bigger bug that's going to cause other problems. I have no problem getting rid of the alloca, though. Looking through the git log it used to just do a one time malloc which Charlie changed to alloca to silence valgrind or so. But we should try to find the root cause of your crashes. Under what circumstances do they happen? i've commited your patch with one slight change (to make the buffer static) and more wordy commit message: http://cgit.freedesktop.org/plymouth/commit/?id=7e934255c502d7a5e75f7a5c86d904516abb13de Thanks Ray. In answer to your question... Difficult to say - the crashes are being reported generally once the user has logged into their desktop session. Since we instruct plymouthd to quit when the display manager is starting that might point to a problem with the way memory is being freed up on exit. We've noticed a few places where fds are being leaked, but nothing significant enough to cause major crashes like this. I've been trying to pin the issue down using valgrind, but haven't come up with anything useful yet. So far, none of the users have been able to recreate the crash with plymouth debugging enabled, and although I've tried some pretty extensive stress tests using plymouth-x11 I am unable to recreate the crashes at all. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.