Display problem (thin fading white vertical lines) after kernel upgrade to 3.0.0.15, no login window

Bug #925350 reported by mmalmeida on 2012-02-02
58
This bug affects 5 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Medium
Seth Forshee
Oneiric
Medium
Seth Forshee

Bug Description

== SRU Justification ==

Impact: An i915 regression in 3.0.0-15.24 causes some systems to have display issues. An unsigned value is being treated as signed, causing the SSC being used when it shouldn't be.

Fix: Upstream backport that changes the type of the variable from unsigned to signed.

Verification: Verified to fix the regression on LP #925350.

---

On my Asus W5G00AE, in Oneric:

- I had the issue "screensaver backlight stuck off, system looks hung" - https://bugs.launchpad.net/ubuntu/+source/linux/+bug/872652 -

- Updated to kernel 3.0.0-15 using the update manager.

After the update, after the grub selection menu the screen is black, then I get some very thin vertical lines all over the screen, which slowly fade to black, leaving me with a black screen and no login menu.
Here's a picture taken of the moment the thin lines appear: http://www.flickr.com/photos/23115157@N05/6798325597/

I tried the 3.0.0-17 kernel proposed in https://bugs.launchpad.net/ubuntu/+source/linux/+bug/919350, but without any luck: the result is the same as with 15.

I therefore have:

- kernel 14 working, but with the bug #872652 (backlight does not work after resuming from screensaver)
- kernel 15 and 17 not booting up, yielding thin white vertical lines for a couple of seconds, which fade to black

mmalmeida (mmalmeida) on 2012-02-02
description: updated

This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run:

apport-collect 925350

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Scott Talbert (swt-techie) wrote :

Hi, I posted a first set of test kernel packages at the address below. Please give them a try and let me know the results.
http://www.techie.net/~talbert/925350/

mmalmeida (mmalmeida) wrote :

@Scott,

Thank you.

I am trying to give them a go, just a couple of questions:
- what's the difference between the 3.0.0.15 and the 3.0.0.15-generic?

I'm running Linux asus 3.0.0-14-generic #23-Ubuntu SMP Mon Nov 21 20:34:47 UTC 2011 i686 i686 i386 GNU/Linux

- This means the amd64 ones won't work, right? Is it possible to compile the i386 ones?

Cheers!

Scott Talbert (swt-techie) wrote :

@wild_oscar,

Yes, my bad. I didn't ask you whether you were using a 32-bit or 64-bit system. I'll recompile for 32-bit.

mmalmeida (mmalmeida) wrote :

Thank you very much for your help so far.
Tell me when it's uploaded.

Also - and so I understand these kernel packages better - could you tell me the difference between the packages? Do I need to install them all?

Scott Talbert (swt-techie) wrote :

The linux-image is the actual linux kernel binary package. The other two packages contain kernel header files - I think they are used mainly if you have any kernel modules that get compiled automatically upon kernel installation. Yes, I believe you do need to install them all (linux-image depends on the header packages).

Scott Talbert (swt-techie) wrote :

i386 packages posted. Please give them a try.

mmalmeida (mmalmeida) wrote :

@Scott

Looks good!
- The thin line issue is not present in this kernel
- It seems the screensaver dimlight issue is also not present

Thanks!

Maybe you can suggest your commit so that the repository kernels are fixed too?

Scott Talbert (swt-techie) wrote :

Unfortunately, we don't yet know which commit caused the problem. There are about half a dozen more kernels to try before we will be able to identify the problem. The next one is compiling right now. I'll let you know when it is ready.

Scott Talbert (swt-techie) wrote :

Next set of test kernels are posted. Same address as above.

mmalmeida (mmalmeida) wrote :

Scott, jakpot: that 2nd set of test kernels yields the thin line/no login screen issue!

mmalmeida (mmalmeida) wrote :

<spell freak mode>*Jackpot </spell freak mode>

Scott Talbert (swt-techie) wrote :

Okay, still a few more to test. Next round of kernels posted.

mmalmeida (mmalmeida) wrote :

@Scott: same result with this set: thin line/no login

Scott Talbert (swt-techie) wrote :

Okay, next kernel posted.

mmalmeida (mmalmeida) wrote :

The kernel 4 doesn't work either.

Scott Talbert (swt-techie) wrote :

Okay, next kernel posted.

mmalmeida (mmalmeida) wrote :

This one works!

Scott Talbert (swt-techie) wrote :

Kernel 6 posted. Git is telling me that there should be only 1 or 2 more after this. :)

mmalmeida (mmalmeida) wrote :

Kernel 6 works too.

Scott Talbert (swt-techie) wrote :

Kernel 7 posted. I think this should be the last one. :)

mmalmeida (mmalmeida) wrote :

Lucky #7 is crappy #7 - this one doesn't work either!

Scott Talbert (swt-techie) wrote :

I lied, it looks like there is one more to test. I'll build it shortly.

Scott Talbert (swt-techie) wrote :

Okay, kernel #8 is ready...

mmalmeida (mmalmeida) wrote :

Not working either!

Scott Talbert (swt-techie) wrote :

Okay, it looks like 7364b6846869128f98050a16213580195edffbba is the first bad commit:

commit 7364b6846869128f98050a16213580195edffbba
Author: Keith Packard <email address hidden>
Date: Mon Sep 26 16:09:45 2011 -0700

    drm/i915: Allow SSC parameter to override VBT value

    BugLink: http://bugs.launchpad.net/bugs/614238

    Allow SSC to be enabled even when the BIOS disables it for testing SSC paths.

    Signed-off-by: Keith Packard <email address hidden>
    Reviewed-by: Chris Wilson <email address hidden>

    (backported from commit 72bbe58cd9568c7766cc219a779ea68a02132797)
    BugLink: http://bugs.launchpad.net/bugs/614238
    Signed-off-by: Seth Forshee <email address hidden>
    Acked-by: Herton Krzesinski <email address hidden>
    Acked-by: Seth Forshee <email address hidden>
    Signed-off-by: Tim Gardner <email address hidden>

:040000 040000 54225e1d101991df6a107ad17222b5b18e99c24c c025bc150aa380626fbcfaf3ccf23f2de4519c89 M drivers

Scott Talbert (swt-techie) wrote :

Just to be 100% sure, I just built a kernel (#9) with just the above commit reverted. Can you give it a try?

mmalmeida (mmalmeida) wrote :

This #9 works.

Scott Talbert (swt-techie) wrote :

Okay, I'll try to flag down a Ubuntu kernel developer.

Seth Forshee (sforshee) wrote :

It's odd that this commit would be identified as the culprit, unless you're supplying some value to the i915.lvds_use_ssc module parameter. This commit changes the meaning of this parameter from "use SSC if the bios says we should" to "force the use of SSC no matter what the bios says."

What's the output of running 'sudo cat /sys/module/i915/parameters/lvds_use_ssc'? If it's anything other than -1, remove whatever you did to set the parameter and see if it fixes the problem (this would be found either in /etc/default/grub or in a file in the /etc/modprobe.d directory).

Seth Forshee (sforshee) on 2012-02-14
Changed in linux (Ubuntu):
status: Confirmed → Incomplete
mmalmeida (mmalmeida) wrote :

seth: The value is currently set to 1.

Grub doesn't have any setting with that name (it isn't the "backlight" option set to vendor, is it?).

Modprobe has a few blacklist files:

alsa-base.conf blacklist-modem.conf
blacklist-ath_pci.conf blacklist-oss.conf
blacklist.conf blacklist-rare-network.conf
blacklist-cups-usblp.conf blacklist-watchdog.conf
blacklist-firewire.conf libpisock9.conf
blacklist-framebuffer.conf

Could it be in any of them?

Seth Forshee (sforshee) wrote :

wild_oscar: Was that with a "working" kernel or the broken one? It looks like I wasn't very clear, sorry about that. If possible what I'd really like to know is the value in the broken kernel. I realize that can be challenging though. Would it be possible for you to ssh into the machine to read the value, or perhaps to connect it to an external monitor?

As for the modprobe.d files, it could in theory be any of them. Try running 'grep i915 /etc/modprobe.d/*' and see if anything turns up. Also paste the output of 'cat /proc/cmdline'. But you're right that the configuration for grub isn't specifying a value.

The thing is, if you are not supplying a value for the parameter then it doesn't make sense that this commit would be identified as the first bad one in the bisection. The only functional change it has is to how the lvds_use_ssc parameter is interpreted. If you are not supplying the value, the functionality for that commit should be identical to the prior commit. So if you aren't supplying a value then I have to suspect that something went wrong with the bisection.

mmalmeida (mmalmeida) wrote :

Seth:
It was with the "working" kernel - set #9 in this bug report, actually - the kernel with your commit reverted.

I tried with the broken one, both by ssh-ing and connecting it to an external monitor, but had no luck: could not ssh into the machine and the external monitor displayed a black screen with the ubuntu logo (the splash screen that usually hides the boot messages)

I am now in a 3.0.0-14 boot and right now/proc/cmdline has

BOOT_IMAGE=/boot/vmlinuz-3.0.0-14-generic root=UUID=6ab741a0-9959-4edd-ba60-0cdc28c819de ro quiet splash acpi_backlight=vendor vt.handoff=7

I confirmed these are the same options as I see in Grub in the broken 15 kernel.

I've also just grep-ed i915 in modprobe.d/* but no file has any reference to it. I suppose these files wouldn't be changed based on the kernel that you choose on startup (would they?), so the broken 3.0.0-15 that is installed probably doesn't have them either.

What else can be done so we can figure out what is wrong?

Cheers

On Wed, Feb 15, 2012 at 10:38:54PM -0000, wild_oscar wrote:
> Seth:
> It was with the "working" kernel - set #9 in this bug report, actually - the kernel with your commit reverted.

I missed that there was a build with only this commit reverted. So I
guess it must be the right commit...

> I tried with the broken one, both by ssh-ing and connecting it to an
> external monitor, but had no luck: could not ssh into the machine and
> the external monitor displayed a black screen with the ubuntu logo (the
> splash screen that usually hides the boot messages)

You can't ssh into the machine? But you can if you boot into a working
kernel?

You are using a wired network connection, aren't you? Wifi doesn't
connect until you log in.

> I am now in a 3.0.0-14 boot and right now/proc/cmdline has
>
> BOOT_IMAGE=/boot/vmlinuz-3.0.0-14-generic root=UUID=6ab741a0-9959-4edd-
> ba60-0cdc28c819de ro quiet splash acpi_backlight=vendor vt.handoff=7
>
> I confirmed these are the same options as I see in Grub in the broken 15
> kernel.
>
> I've also just grep-ed i915 in modprobe.d/* but no file has any
> reference to it. I suppose these files wouldn't be changed based on the
> kernel that you choose on startup (would they?), so the broken 3.0.0-15
> that is installed probably doesn't have them either.

It shouldn't vary between kernels.

> What else can be done so we can figure out what is wrong?

With the broken kernel, try each of the following options by modifying
the kernel command line in grub. Report back which work and which don't.

  i915.lvds_use_ssc=0
  i915.lvds_use_ssc=1
  i915.lvds_use_ssc=-1

mmalmeida (mmalmeida) wrote :

Hi Seth,

>With the broken kernel, try each of the following options by modifying
>the kernel command line in grub. Report back which work and which don't.

> i915.lvds_use_ssc=0
> i915.lvds_use_ssc=1
> i915.lvds_use_ssc=-1

I can boot with 0! 1 and -1 don't work.

As for the ssh, yes, that was correct: I can ping/ssh in a working kernel, not with the broken one.

mmalmeida (mmalmeida) wrote :

Any news on this bug?

Scott Talbert (swt-techie) wrote :

I sat staring at this code for a long time, scratching my head as to how the patched code could behave differently. Finally, after a bit of Googling, the problem is pretty apparent now. The problem is that an unsigned integer is being initialized with a negative number. Thus, the test (i915_panel_use_ssc >= 0) succeeds, forcing the override to occur when the module parameter is the default (-1). It looks like this commit fixes the issue by making the module parameters signed:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=4415e63b13c68c2f56d16d400a1ae345f68cf655

Seth Forshee (sforshee) wrote :

Good find, Scott! Hard to believe we missed it earlier.

I put up a test build with that patch backported. wild_oscar, please test and verify it fixes your bug (ensure you are not passing any value for i915.lvds_use_ssc when you test). Thanks!

http://people.canonical.com/~sforshee/lp925350/linux-3.0.0-16.29~lp925350v201203030502/

mmalmeida (mmalmeida) wrote :

Hey Seth and Scott,

Everything seems to be working as expected with Seths' -16 kernels posted on the previous link! Bug no longer present.

Seth Forshee (sforshee) on 2012-03-13
Changed in linux (Ubuntu):
status: Incomplete → In Progress
importance: Undecided → Medium
assignee: nobody → Seth Forshee (sforshee)
Seth Forshee (sforshee) on 2012-03-13
description: updated
Andy Whitcroft (apw) on 2012-03-13
Changed in linux (Ubuntu Oneiric):
status: New → Fix Committed
importance: Undecided → Medium
assignee: nobody → Andy Whitcroft (apw)
assignee: Andy Whitcroft (apw) → Seth Forshee (sforshee)
Seth Forshee (sforshee) on 2012-03-13
Changed in linux (Ubuntu):
status: In Progress → Fix Released
mabawsa (mabawsa) wrote :

I am still getting this bug with kernel 3.0.0.17

Seth Forshee (sforshee) wrote :

The fix hasn't yet been released for oneiric. It's queued up for 3.0.0.18. You should see a request to test the proposed kernel posted here soon; please do test and respond back when that happens to ensure the fix is included.

mabawsa (mabawsa) wrote :

Thanks Seth. I installed your kernel and it works. Thanks for all your and Scott's efforts on this.

Luis Henriques (henrix) wrote :

This bug is awaiting verification that the kernel for Oneiric in -proposed solves the problem (3.0.0-18.31). Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-oneiric' to 'verification-done-oneiric'.

If verification is not done by one week from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-oneiric
Andrew Davis (spinup) wrote :

I got here via the now duplicate Bug #926325. Upgrading to linux-image 3.0.0-18.31 from -proposed solved the problem for me. Tag changed -- thanks!

tags: added: verification-done-oneiric
removed: verification-needed-oneiric
mmalmeida (mmalmeida) wrote :

I confirm Andrew's report: 3.0.0-18.31 verified and working

3.0.0-18.31 also works for me.

Drew (dkrix) wrote :

Apologies, I followed the instructions and enabled the oneiric-proposed
sources in the ubuntu software centre.
Running the update manager, listed updates contain vers 3.0.0-19, not
3.0.0-18.

I tried 3.0.0-19 generic, it works, no evidence of the duplicate bug
(955571) -- flickering screen.

Drew Krix

On 03/04/12 03:22, Luis Henriques wrote:
> This bug is awaiting verification that the kernel for Oneiric in
> -proposed solves the problem (3.0.0-18.31). Please test the kernel and
> update this bug with the results. If the problem is solved, change the
> tag 'verification-needed-oneiric' to 'verification-done-oneiric'.
>
> If verification is not done by one week from today, this fix will be
> dropped from the source code, and this bug will be closed.
>
> Seehttps://wiki.ubuntu.com/Testing/EnableProposed for documentation how
> to enable and use -proposed. Thank you!
>
>
> ** Tags added: verification-needed-oneiric
>

Launchpad Janitor (janitor) wrote :
Download full text (24.1 KiB)

This bug was fixed in the package linux - 3.0.0-19.33

---------------
linux (3.0.0-19.33) oneiric-proposed; urgency=low

  [Luis Henriques]

  * Release Tracking Bug
    - LP: #985736

  [ Luis Henriques ]

  * SAUCE: ite-cir: postpone ISR registration
    - LP: #984387

linux (3.0.0-19.32) oneiric-proposed; urgency=low

  [Luis Henriques]

  * Release Tracking Bug
    - LP: #974368

  [ Brad Figg ]

  * SAUCE (no-up) Provide a param for allowing the BIOS to handle changing
    the brightness on AC/battery status changes.
    - LP: #949311
  * SAUCE (no-up) Quirk for enabling backlight hotkeys on Samsung N150P
    - LP: #875893

  [ Daniel Vetter ]

  * SAUCE: (drop after 3.5) drm/i915: reinstate GM45 TV detection fix
    - LP: #638939

  [ Herton Ronaldo Krzesinski ]

  * SAUCE: (no-up) Reinstate missing hunk from nx emulation
    - LP: #972821

  [ Tim Gardner ]

  * SAUCE: ubuntu drivers: use UMH_WAIT_PROC consistently
    - LP: #963685
  * SAUCE: disable_nx should not be in __cpuinitdata section for X86_32
    - LP: #968233
  * SAUCE: (no-up) remove __initdata from vesafb_fix
    - LP: #969309

  [ Upstream Kernel Changes ]

  * usermodehelper: use UMH_WAIT_PROC consistently
    - LP: #963685
  * usermodehelper: introduce umh_complete(sub_info)
    - LP: #963685
  * usermodehelper: implement UMH_KILLABLE
    - LP: #963685
  * usermodehelper: kill umh_wait, renumber UMH_* constants
    - LP: #963685
  * usermodehelper: ____call_usermodehelper() doesn't need do_exit()
    - LP: #963685
  * kmod: introduce call_modprobe() helper
    - LP: #963685
  * kmod: make __request_module() killable
    - LP: #963685
  * x86, tsc: Fix SMI induced variation in quick_pit_calibrate()
    - LP: #965586
  * ata_piix: Add Toshiba Satellite Pro A120 to the quirks list due to
    broken suspend functionality.
    - LP: #886850
  * ACPICA: Fix regression in FADT revision checks
    - LP: #883441
  * ASPM: Fix pcie devices with non-pcie children
    - LP: #961482
  * USB: option: Add MediaTek MT6276M modem&app interfaces
    - LP: #971808
  * USB: option driver: adding support for Telit CC864-SINGLE, CC864-DUAL
    and DE910-DUAL modems
    - LP: #971808
  * USB: option: make interface blacklist work again
    - LP: #971808
  * USB: option: add ZTE MF820D
    - LP: #971808
  * USB: ftdi_sio: fix problem when the manufacture is a NULL string
    - LP: #971808
  * USB: ftdi_sio: add support for BeagleBone rev A5+
    - LP: #971808
  * USB: Microchip VID mislabeled as Hornby VID in ftdi_sio.
    - LP: #971808
  * USB: ftdi_sio: new PID: Distortec JTAG-lock-pick
    - LP: #971808
  * USB: ftdi_sio: add support for FT-X series devices
    - LP: #971808
  * USB: ftdi_sio: new PID: LUMEL PD12
    - LP: #971808
  * powerpc/usb: fix bug of kernel hang when initializing usb
    - LP: #971808
  * usb: musb: Reselect index reg in interrupt context
    - LP: #971808
  * usb: gadgetfs: return number of bytes on ep0 read request
    - LP: #971808
  * USB: gadget: Make g_hid device class conform to spec.
    - LP: #971808
  * futex: Cover all PI opcodes with cmpxchg enabled check
    - LP: #971808
  * sysfs: Fix memory leak in sysfs_sd_setsecdata().
    - LP: #971808
  * tty: ...

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

Other bug subscribers

Bug attachments