[Bug 553745]

Rstrode 553745 at bugs.launchpad.net
Tue Apr 24 14:50:18 UTC 2012


Comment on attachment 60179
reference event sources before calling timeout handler to ensure events stay valid for loop iteration.

Review of attachment 60179:
-----------------------------------------------------------------

::: src/libply/ply-event-loop.c
@@ +1296,5 @@
> +       {
> +         ply_event_source_t *source;
> +         source = (ply_event_source_t *) (events[i].data.ptr);
> +
> +         ply_event_source_take_reference (source);

we can't just take the reference inside the loop, since the loop may get
called repeatedly because of EINTR.  We could explicitly check for EINTR
and not take the reference in that case, I guess.  We do need to ensure
events don't get dispatched after they are no longer being watched, but
I think we should still be okay.  The source is going to stick around,
now, but the destination will still get free'd at stop_watching_fd time,
so the source will in effect be orphaned and harmless.

-- 
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/553745

Title:
  plymouthd crashed with SIGSEGV in
  ply_event_loop_process_pending_events()

Status in The Plymouth splash screen:
  Fix Released
Status in “plymouth” package in Ubuntu:
  Fix Released
Status in “plymouth” source package in Lucid:
  Triaged
Status in “plymouth” source package in Maverick:
  Invalid
Status in “plymouth” source package in Natty:
  Fix Released
Status in “plymouth” source package in Oneiric:
  Incomplete
Status in “plymouth” source package in Precise:
  Fix Released

Bug description:
  Binary package hint: plymouth

  just upgraded to lucid, first reboot tried to start accounts

  ProblemType: Crash
  DistroRelease: Ubuntu 10.04
  Package: plymouth 0.8.1-4
  ProcVersionSignature: Ubuntu 2.6.32-19.28-generic 2.6.32.10+drm33.1
  Uname: Linux 2.6.32-19-generic i686
  NonfreeKernelModules: wl
  Architecture: i386
  Date: Thu Apr  1 22:14:11 2010
  DefaultPlymouth: /lib/plymouth/themes/kubuntu-logo/kubuntu-logo.plymouth
  ExecutablePath: /sbin/plymouthd
  MachineType: Dell Inc. Inspiron 1545
  ProcCmdLine: root=UUID=73530dc8-e3cc-4147-b801-4725b2f88141 ro quiet splash vga=792
  ProcCmdline: /sbin/plymouthd --mode=boot --attach-to-session
  ProcEnviron: PATH=(custom, no user)
  ProcFB: 0 inteldrmfb
  SegvAnalysis:
   Segfault happened at: 0xfb5fe1 <ply_event_loop_process_pending_events+513>: test   %eax,0x4(%esi)
   PC (0x00fb5fe1) ok
   source "%eax" 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 ()
   ply_event_loop_run () from /lib/libply.so.2
   ?? ()
   __libc_start_main () from /lib/tls/i686/cmov/libc.so.6
   ?? ()
  TextPlymouth: /lib/plymouth/themes/ubuntu-text/ubuntu-text.plymouth
  Title: plymouthd crashed with SIGSEGV in ply_event_loop_process_pending_events()
  UserGroups:
   
  dmi.bios.date: 07/17/2009
  dmi.bios.vendor: Dell Inc.
  dmi.bios.version: A10
  dmi.board.name: 0G848F
  dmi.board.vendor: Dell Inc.
  dmi.chassis.type: 8
  dmi.chassis.vendor: Dell Inc.
  dmi.modalias: dmi:bvnDellInc.:bvrA10:bd07/17/2009:svnDellInc.:pnInspiron1545:pvr:rvnDellInc.:rn0G848F:rvr:cvnDellInc.:ct8:cvr:
  dmi.product.name: Inspiron 1545
  dmi.sys.vendor: Dell Inc.

To manage notifications about this bug go to:
https://bugs.launchpad.net/plymouth/+bug/553745/+subscriptions




More information about the foundations-bugs mailing list