[Bug 849414] Re: plymouthd crashed with SIGSEGV in ply_event_loop_process_pending_events()
James Hunt
849414 at bugs.launchpad.net
Tue Sep 27 16:43:00 UTC 2011
Looking at ply_event_loop_process_pending_events(), what stands out is
the call to alloca(3) which is used to allocated a fixed size chunk of
storage (and have it automatically freed on function exit). Use of
alloca() is not recommended for a number of reasons. Note too that the
result of the call to alloca() is not checked.
The man page for alloca(3) claims that this function allocates storage
on the stack. However, I think the plymouth build is using gcc's
internal implementation of alloca() which *doesn't* use the stack - it
uses malloc(3) (some levels down). Presumably the reason for using
alloca() was performance, but since the gcc implementation uses
malloc(), that isn't really a gain now. Note that gccs internal
implementation could be inlined (hence wouldn't appear on the stack
trace), and also calls abort() on error (which will generate a SIGSEGV
as is being seen by users).
I've spun up a modified version of plymouth using a static array (since
there doesn't appear to be any advantage in using dynamic memory
allocation in this case AFAIKS). The updated packages are in my ikb ppa
if anyone is feeling brave:
https://launchpad.net/~jamesodhunt/+archive/ikb/
If this does fix the problem we still need to understand what is
consuming all the memory. Maybe a bug with the alloca() implementation
in the gcc-4.6?
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to plymouth in Ubuntu.
https://bugs.launchpad.net/bugs/849414
Title:
plymouthd crashed with SIGSEGV in
ply_event_loop_process_pending_events()
Status in “plymouth” package in Ubuntu:
Incomplete
Bug description:
System did not crash. Bug reporter popped up, so I am reporting. Other
reports were for 10.04, not 11.10 beta. hope this helps.
ProblemType: Crash
DistroRelease: Ubuntu 11.10
Package: plymouth 0.8.2-2ubuntu25
ProcVersionSignature: Ubuntu 3.0.0-11.17-generic 3.0.4
Uname: Linux 3.0.0-11-generic i686
ApportVersion: 1.22.1-0ubuntu2
Architecture: i386
Date: Tue Sep 13 16:35:33 2011
DefaultPlymouth: /lib/plymouth/themes/ubuntu-logo/ubuntu-logo.plymouth
ExecutablePath: /sbin/plymouthd
InstallationMedia: Ubuntu 11.04 "Natty Narwhal" - Release i386 (20110427.1)
Lsusb:
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
MachineType: Dell Inc. Latitude D610
PccardctlIdent:
Socket 0:
no product info available
PccardctlStatus:
Socket 0:
no card
ProcCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.0.0-11-generic root=UUID=53aeeb3c-456d-40c6-888f-68577cebacd4 ro quiet splash vt.handoff=7
ProcCmdline: /sbin/plymouthd --mode=boot --attach-to-session
ProcEnviron: PATH=(custom, no user)
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.0.0-11-generic root=UUID=53aeeb3c-456d-40c6-888f-68577cebacd4 ro quiet splash vt.handoff=7
SegvAnalysis:
Segfault happened at: 0x5ce5b7 <ply_event_loop_process_pending_events+455>: test %ecx,0x4(%esi)
PC (0x005ce5b7) ok
source "%ecx" ok
destination "0x4(%esi)" (0x00000004) not located in a known VMA region (needed writable region)!
SegvReason: writing NULL VMA
Signal: 11
SourcePackage: plymouth
StacktraceTop:
ply_event_loop_process_pending_events () from /lib/libply.so.2
ply_event_loop_run () from /lib/libply.so.2
?? ()
__libc_start_main () from /lib/i386-linux-gnu/libc.so.6
?? ()
TextPlymouth: /lib/plymouth/themes/ubuntu-text/ubuntu-text.plymouth
Title: plymouthd crashed with SIGSEGV in ply_event_loop_process_pending_events()
UpgradeStatus: Upgraded to oneiric on 2011-09-05 (7 days ago)
UserGroups:
dmi.bios.date: 10/02/2005
dmi.bios.vendor: Dell Inc.
dmi.bios.version: A06
dmi.board.name: 0U8082
dmi.board.vendor: Dell Inc.
dmi.chassis.type: 8
dmi.chassis.vendor: Dell Inc.
dmi.modalias: dmi:bvnDellInc.:bvrA06:bd10/02/2005:svnDellInc.:pnLatitudeD610:pvr:rvnDellInc.:rn0U8082:rvr:cvnDellInc.:ct8:cvr:
dmi.product.name: Latitude D610
dmi.sys.vendor: Dell Inc.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/plymouth/+bug/849414/+subscriptions
More information about the foundations-bugs
mailing list