late resume failure on dove

Bug #453682 reported by Paul Larson
18
This bug affects 2 people
Affects Status Importance Assigned to Milestone
linux-mvl-dove (Ubuntu)
Fix Released
High
Eric Miao
Karmic
Fix Released
High
Eric Miao
Lucid
Fix Released
High
Eric Miao

Bug Description

Suspend/resume on dove works, kinda. The system seems to power down into a low power state. However on resume, the system is left in a nearly unusable state. Everything slows to a crawl, and all processes seem to be chewing up, at minimum, 1.6% cpu.

ProblemType: KernelOops
Annotation: This occured during a previous suspend and prevented it from resuming properly. The resume processing hung very near the end and will have appeared to have completed normally.
Architecture: armel
Date: Fri Oct 16 23:34:16 2009
DistroRelease: Ubuntu 9.10
ExecutablePath: /usr/share/apport/apportcheckresume
Failure: late resume
InstallationMedia: Ubuntu 9.10 "Karmic Koala" - Alpha armel+dove (20091016)
InterpreterPath: /usr/bin/python2.6
Package: linux-image-2.6.31-208-dove 2.6.31-208.16
ProcCmdline: /usr/bin/python /usr/share/apport/apportcheckresume
ProcEnviron: PATH=(custom, no user)
ProcVersionSignature: Ubuntu 2.6.31-208.16-hostname
SourcePackage: linux-mvl-dove
Tags: resume suspend resume-late-hang
Title: late resume failure
Uname: Linux 2.6.31-208-dove armv7l
UserGroups:

Revision history for this message
Paul Larson (pwlars) wrote :
Revision history for this message
Paul Larson (pwlars) wrote :
Revision history for this message
Maen Suleiman (maen-marvell) wrote : RE: [Bug 453682] Re: late resume failure on dove

Can you please check if OABI is enabled or not? (CONFIG_OABI_COMPAT should be disabled)
----------------
Maen Suleiman - Embedded Controllers & SoC Line

 -----Original Message-----
 From: <email address hidden> [mailto:<email address hidden>] On Behalf Of
 Paul Larson
 Sent: Saturday, October 17, 2009 5:45 AM
 To: Maen Suleiman
 Subject: [Bug 453682] Re: late resume failure on dove

 ** Attachment added: "top.output"
    http://launchpadlibrarian.net/33812125/top.output

 --
 late resume failure on dove
 https://bugs.launchpad.net/bugs/453682
 You received this bug notification because you are subscribed to linux-
 mvl-dove in ubuntu.

 Status in “linux-mvl-dove” package in Ubuntu: New

 Bug description:
 Suspend/resume on dove works, kinda. The system seems to power down into a
 low power state. However on resume, the system is left in a nearly
 unusable state. Everything slows to a crawl, and all processes seem to be
 chewing up, at minimum, 1.6% cpu.

 ProblemType: KernelOops
 Annotation: This occured during a previous suspend and prevented it from
 resuming properly. The resume processing hung very near the end and will
 have appeared to have completed normally.
 Architecture: armel
 Date: Fri Oct 16 23:34:16 2009
 DistroRelease: Ubuntu 9.10
 ExecutablePath: /usr/share/apport/apportcheckresume
 Failure: late resume
 InstallationMedia: Ubuntu 9.10 "Karmic Koala" - Alpha armel+dove (20091016)
 InterpreterPath: /usr/bin/python2.6
 Package: linux-image-2.6.31-208-dove 2.6.31-208.16
 ProcCmdline: /usr/bin/python /usr/share/apport/apportcheckresume
 ProcEnviron: PATH=(custom, no user)
 ProcVersionSignature: Ubuntu 2.6.31-208.16-hostname
 SourcePackage: linux-mvl-dove
 Tags: resume suspend resume-late-hang
 Title: late resume failure
 Uname: Linux 2.6.31-208-dove armv7l
 UserGroups:

Revision history for this message
Loïc Minier (lool) wrote :

@Maen: OABI_COMPAT is set:
/boot/config-2.6.31-204-dove:CONFIG_OABI_COMPAT=y
/boot/config-2.6.31-206-dove:CONFIG_OABI_COMPAT=y
/boot/config-2.6.31-208-dove:CONFIG_OABI_COMPAT=y

I think this is on purpose for compatibility with older ARM binaries from Debian. I think we could consider dropping it in the future, but I'd like to understand why it would interfere with suspend/resume?

Revision history for this message
Maen Suleiman (maen-marvell) wrote :

This behaviour is caused because the kernel gets busy in handling endless amount of page faults.
The problem is in the system call restart mechanism when a system call received signal. The kernel (do_signal() at arch/arm/kernel/signal.c) restarts a system call by adding code at the stack of the process, this works fine for ARMv5, but for v6 and v7 this won’t work because the stack area has the NX bit ( non executable).

This portion of code occurs only if CONFIG_OABI_COMPAT is enabled.

----------------
Maen Suleiman - Embedded Controllers & SoC Line

 -----Original Message-----
 From: <email address hidden> [mailto:<email address hidden>] On Behalf Of
 Lo?c Minier
 Sent: Saturday, October 17, 2009 10:55 AM
 To: Maen Suleiman
 Subject: [Bug 453682] Re: late resume failure on dove

 @Maen: OABI_COMPAT is set:
 /boot/config-2.6.31-204-dove:CONFIG_OABI_COMPAT=y
 /boot/config-2.6.31-206-dove:CONFIG_OABI_COMPAT=y
 /boot/config-2.6.31-208-dove:CONFIG_OABI_COMPAT=y

 I think this is on purpose for compatibility with older ARM binaries
 from Debian. I think we could consider dropping it in the future, but
 I'd like to understand why it would interfere with suspend/resume?

 --
 late resume failure on dove
 https://bugs.launchpad.net/bugs/453682
 You received this bug notification because you are subscribed to linux-
 mvl-dove in ubuntu.

 Status in “linux-mvl-dove” package in Ubuntu: New

 Bug description:
 Suspend/resume on dove works, kinda. The system seems to power down into a
 low power state. However on resume, the system is left in a nearly
 unusable state. Everything slows to a crawl, and all processes seem to be
 chewing up, at minimum, 1.6% cpu.

 ProblemType: KernelOops
 Annotation: This occured during a previous suspend and prevented it from
 resuming properly. The resume processing hung very near the end and will
 have appeared to have completed normally.
 Architecture: armel
 Date: Fri Oct 16 23:34:16 2009
 DistroRelease: Ubuntu 9.10
 ExecutablePath: /usr/share/apport/apportcheckresume
 Failure: late resume
 InstallationMedia: Ubuntu 9.10 "Karmic Koala" - Alpha armel+dove (20091016)
 InterpreterPath: /usr/bin/python2.6
 Package: linux-image-2.6.31-208-dove 2.6.31-208.16
 ProcCmdline: /usr/bin/python /usr/share/apport/apportcheckresume
 ProcEnviron: PATH=(custom, no user)
 ProcVersionSignature: Ubuntu 2.6.31-208.16-hostname
 SourcePackage: linux-mvl-dove
 Tags: resume suspend resume-late-hang
 Title: late resume failure
 Uname: Linux 2.6.31-208-dove armv7l
 UserGroups:

Revision history for this message
Maen Suleiman (maen-marvell) wrote :

This issue is not limited to resume only, it can also occur at system initialization.

Loïc Minier (lool)
Changed in linux-mvl-dove (Ubuntu):
status: New → Confirmed
status: Confirmed → Triaged
importance: Undecided → High
assignee: nobody → Brad Figg (brad-figg)
Changed in linux-mvl-dove (Ubuntu Karmic):
milestone: none → karmic-updates
Revision history for this message
Brad Figg (brad-figg) wrote :

I've put a test kernel up at: http://kernel.ubuntu.com/~bradf/linux-image-2.6.31-208-dove_2.6.31-208.16~bjf_lp453682_armel.deb

This unsets the CONFIG_OABI_COMPAT configuration option. I've not been able to test this myself (all my kit is packed away for kernel sprint trip). Please let me know if this improves resume on dove.

Brad Figg (brad-figg)
Changed in linux-mvl-dove (Ubuntu Karmic):
status: Triaged → In Progress
Revision history for this message
Paul Larson (pwlars) wrote :

I took a quick look at this and on resume it seems to crash. If it would be useful to you, I'll get the debug info over serial if possible tomorrow.

Revision history for this message
Paul Larson (pwlars) wrote :

Ogra recommended that I also try to suspend through the sys interface by echoing mem > /sys/power/state. I was able to suspend this way, and still had these same symptoms on resume. In fact, it took so long to display anything after resume that I thought it had hung.

Paul Larson (pwlars)
Changed in linux-mvl-dove (Ubuntu Lucid):
milestone: karmic-updates → lucid-alpha-2
Revision history for this message
Maen Suleiman (maen-marvell) wrote :

Please use latest patches from Marvell to solve this issue.
You also have to move to U-Boot 4.3.2 and BOOTROM 2.0.4

----------------
Maen Suleiman - Embedded Controllers & SoC Line

 -----Original Message-----
 From: <email address hidden> [mailto:<email address hidden>] On Behalf Of
 Paul Larson
 Sent: Friday, December 04, 2009 6:02 PM
 To: Maen Suleiman
 Subject: [Bug 453682] Re: late resume failure on dove

 ** Also affects: linux-mvl-dove (Ubuntu Lucid)
    Importance: High
      Assignee: Brad Figg (brad-figg)
        Status: In Progress

 ** Changed in: linux-mvl-dove (Ubuntu Lucid)
     Milestone: karmic-updates => lucid-alpha-2

 --
 late resume failure on dove
 https://bugs.launchpad.net/bugs/453682
 You received this bug notification because you are subscribed to linux-
 mvl-dove in ubuntu.

 Status in "linux-mvl-dove" package in Ubuntu: In Progress
 Status in "linux-mvl-dove" source package in Lucid: In Progress
 Status in "linux-mvl-dove" source package in Karmic: In Progress

 Bug description:
 Suspend/resume on dove works, kinda. The system seems to power down into a
 low power state. However on resume, the system is left in a nearly
 unusable state. Everything slows to a crawl, and all processes seem to be
 chewing up, at minimum, 1.6% cpu.

 ProblemType: KernelOops
 Annotation: This occured during a previous suspend and prevented it from
 resuming properly. The resume processing hung very near the end and will
 have appeared to have completed normally.
 Architecture: armel
 Date: Fri Oct 16 23:34:16 2009
 DistroRelease: Ubuntu 9.10
 ExecutablePath: /usr/share/apport/apportcheckresume
 Failure: late resume
 InstallationMedia: Ubuntu 9.10 "Karmic Koala" - Alpha armel+dove (20091016)
 InterpreterPath: /usr/bin/python2.6
 Package: linux-image-2.6.31-208-dove 2.6.31-208.16
 ProcCmdline: /usr/bin/python /usr/share/apport/apportcheckresume
 ProcEnviron: PATH=(custom, no user)
 ProcVersionSignature: Ubuntu 2.6.31-208.16-hostname
 SourcePackage: linux-mvl-dove
 Tags: resume suspend resume-late-hang
 Title: late resume failure
 Uname: Linux 2.6.31-208-dove armv7l
 UserGroups:

Eric Miao (eric.y.miao)
Changed in linux-mvl-dove (Ubuntu Karmic):
assignee: Brad Figg (brad-figg) → Eric Miao (eric.y.miao)
Eric Miao (eric.y.miao)
Changed in linux-mvl-dove (Ubuntu Lucid):
assignee: Brad Figg (brad-figg) → Eric Miao (eric.y.miao)
Revision history for this message
Eric Miao (eric.y.miao) wrote :

It's a bit strange, but when I use pm-suspend in command line, I got what exactly Paul was seeing. However, when suspend using the top right button, resume seems OK but screen remains blank. Guess here's a new bug that may need to open.

Revision history for this message
Eric Miao (eric.y.miao) wrote :
Stefan Bader (smb)
Changed in linux-mvl-dove (Ubuntu Karmic):
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux-mvl-dove - 2.6.31-701.3

---------------
linux-mvl-dove (2.6.31-701.3) lucid; urgency=low

  [ Andy Whitcroft ]

  * rebase to Ubuntu-2.6.31-17.54

  [ Upstream Kernel Changes ]

  * ARM: Fix signal restart issues with NX and OABI compat
    - LP: #453682

  [ Ubuntu: 2.6.31-17.54 ]

  * security merge of Ubuntu-2.6.31-16.53

  [ Ubuntu: 2.6.31-16.53 ]

  * ext4: Fix insufficient checks in EXT4_IOC_MOVE_EXT
    - LP: #492659
    - CVE-2009-4131
 -- Andy Whitcroft <email address hidden> Wed, 16 Dec 2009 10:14:58 +0000

Changed in linux-mvl-dove (Ubuntu Lucid):
status: In Progress → Fix Released
Revision history for this message
Martin Pitt (pitti) wrote : Please test proposed package

Accepted linux-mvl-dove into karmic-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

tags: added: verification-needed
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (15.7 KiB)

This bug was fixed in the package linux-mvl-dove - 2.6.31-210.21

---------------
linux-mvl-dove (2.6.31-210.21) karmic-proposed; urgency=low

  [ Raymond Huang ]

  * SAUCE: dove: erratum of VLDR instruction bug in Thumb-2 mode
    - LP: #494831

linux-mvl-dove (2.6.31-210.20) karmic-proposed; urgency=low

  [ Upstream Kernel Changes ]

  * ARM: Fix signal restart issues with NX and OABI compat
    - LP: #453682

linux-mvl-dove (2.6.31-210.19) karmic-proposed; urgency=low

  [ Upstream Kernel Changes ]

  * Rebased to 2.6.31-17.54

  [ Ubuntu: 2.6.31-17.54 ]

  * Same as unreleased 2.6.31-17.53 with security release merged.

  [ Ubuntu: 2.6.31-16.53 ]

  * ext4: Fix insufficient checks in EXT4_IOC_MOVE_EXT
    - LP: #492659
    - CVE-2009-4131

linux-mvl-dove (2.6.31-210.18) karmic-proposed; urgency=low

  [ Stefan Bader ]

  * Rebase to 2.6.31-17.53

  [ Ubuntu: 2.6.31-17.53 ]

  * SAUCE: AppArmor: Fix oops after profile removal
    - LP: #475619
  * SAUCE: AppArmor: Fix Oops when in apparmor_bprm_set_creds
    - LP: #437258
  * SAUCE: AppArmor: Fix cap audit_caching preemption disabling
    - LP: #479102
  * SAUCE: AppArmor: Fix refcounting bug causing leak of creds
    - LP: #479115
  * SAUCE: AppArmor: Fix oops there is no tracer and doing unsafe
    transition.
    - LP: #480112
  * Revert "[Upstream] (drop after 2.6.31) usb-storage: Workaround devices
    with bogus sense size"
    - LP: #461556
  * Revert "[Upstream] (drop after 2.6.31) Input: synaptics - add another
    Protege M300 to rate blacklist"
    - LP: #480144
  * [Config] udeb: Add squashfs to fs-core-modules
    - LP: #352615
  * Revert "e1000e: swap max hw supported frame size between 82574 and
    82583"
    - LP: #461556
  * Revert "drm/i915: Fix FDI M/N setting according with correct color
    depth"
    - LP: #480144
  * Revert "agp/intel: Add B43 chipset support"
    - LP: #480144
  * Revert "drm/i915: add B43 chipset support"
    - LP: #480144
  * Revert "ACPI: Attach the ACPI device to the ACPI handle as early as
    possible"
    - LP: #327499, #480144
  * SCSI: Retry ADD_TO_MLQUEUE return value for EH commands
    - LP: #461556
  * SCSI: Fix protection scsi_data_buffer leak
    - LP: #461556
  * SCSI: sg: Free data buffers after calling blk_rq_unmap_user
    - LP: #461556
  * ARM: pxa: workaround errata #37 by not using half turbo switching
    - LP: #461556
  * tracing/filters: Fix memory leak when setting a filter
    - LP: #461556
  * x86/paravirt: Use normal calling sequences for irq enable/disable
    - LP: #461556
  * USB: ftdi_sio: remove tty->low_latency
    - LP: #461556
  * USB: ftdi_sio: remove unused rx_byte counter
    - LP: #461556
  * USB: ftdi_sio: clean up read completion handler
    - LP: #461556
  * USB: ftdi_sio: re-implement read processing
    - LP: #461556
  * USB: pl2303: fix error characters not being reported to ldisc
    - LP: #461556
  * USB: digi_acceleport: Fix broken unthrottle.
    - LP: #461556
  * USB: serial: don't call release without attach
    - LP: #461556
  * USB: option: Toshiba G450 device id
    - LP: #461556
  * USB: ipaq: fix oops when device is plugged in
    - LP: #461556
  * USB: cp210x: Add support for the DW700 UA...

Changed in linux-mvl-dove (Ubuntu Karmic):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.