Bug 1262490 - xorg with nouveau driver crashes when machine is in sleep for long period [NEEDINFO]
xorg with nouveau driver crashes when machine is in sleep for long period
Status: CLOSED WONTFIX
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: xorg-x11-drv-nouveau (Show other bugs)
7.0
Unspecified Unspecified
unspecified Severity unspecified
: rc
: ---
Assigned To: Ben Skeggs
Desktop QE
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2015-09-11 18:49 EDT by Piyush Bhoot
Modified: 2016-12-01 11:45 EST (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-12-01 11:45:36 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
bskeggs: needinfo? (pbhoot)


Attachments (Terms of Use)
Coredump (11.78 MB, application/x-gzip)
2015-09-12 08:20 EDT, Piyush Bhoot
no flags Details

  None (edit)
Description Piyush Bhoot 2015-09-11 18:49:09 EDT
Description of problem:
xorg with nouveau driver crashes when machine is in sleep for long period

(gdb) bt
#0  0x00007fa6865fe989 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1  0x00007fa686600098 in __GI_abort () at abort.c:90
#2  0x00007fa68663f197 in __libc_message (do_abort=do_abort@entry=2, fmt=fmt@entry=0x7fa686747b88 "*** Error in `%s': %s: 0x%s ***\n")
    at ../sysdeps/unix/sysv/linux/libc_fatal.c:196
#3  0x00007fa686645b9c in malloc_printerr (ptr=<optimized out>, str=0x7fa686745278 "corrupted double-linked list", action=3) at malloc.c:4972
#4  malloc_consolidate (av=av@entry=0x7fa686983760 <main_arena>) at malloc.c:4129
#5  0x00007fa686646457 in _int_free (av=0x7fa686983760 <main_arena>, p=0x1e93250, have_lock=0) at malloc.c:4021
#6  0x00007fa68271fd81 in nouveau_pushbuf_del (ppush=ppush@entry=0x1e8b3a0) at pushbuf.c:619
#7  0x00007fa682931dff in NVTakedownDma (pScrn=pScrn@entry=0x1e8a540) at nv_dma.c:132
#8  0x00007fa68293330d in NVCloseScreen (pScreen=0x1e88e60) at nv_driver.c:578
#9  0x00000000004ab697 in xf86CrtcCloseScreen (screen=0x1e88e60) at xf86Crtc.c:734
#10 0x00000000004c9506 in CursorCloseScreen (pScreen=0x1e88e60) at cursor.c:187
#11 0x00000000005132e4 in AnimCurCloseScreen (pScreen=<optimized out>) at animcur.c:106
#12 0x0000000000514c43 in present_close_screen (screen=0x1e88e60) at present_screen.c:63
#13 0x000000000043c2d7 in dix_main (argc=6, argv=0x7fff6e206958, envp=<optimized out>) at main.c:347
#14 0x00007fa6865eaaf5 in __libc_start_main (main=0x426700 <main>, argc=6, ubp_av=0x7fff6e206958, init=<optimized out>, fini=<optimized out>, 
    rtld_fini=<optimized out>, stack_end=0x7fff6e206948) at libc-start.c:274
#15 0x0000000000426731 in _start ()
(gdb) f 7 
#7  0x00007fa682931dff in NVTakedownDma (pScrn=pScrn@entry=0x1e8a540) at nv_dma.c:132
132			nouveau_pushbuf_del(&pNv->pushbuf);
(gdb) list 
127		if (pNv->channel) {
128			struct nouveau_fifo *fifo = pNv->channel->data;
129			int chid = fifo->channel;
130	
131			nouveau_bufctx_del(&pNv->bufctx);
132			nouveau_pushbuf_del(&pNv->pushbuf);
133			nouveau_object_del(&pNv->channel);
134	
135			xf86DrvMsg(pScrn->scrnIndex, X_INFO,
136				   "Closed GPU channel %d\n", chid);

(gdb) p *pNv
$47 = {Architecture = 192, pEnt = 0x1e8b4a0, PciInfo = 0x1e70200, Primary = 0, Secondary = 0, scanout = 0x222e640, NoAccel = 0, HWCursor = 1, 
  ShadowFB = 0, ShadowPtr = 0x0, ShadowPitch = 0, EXADriverPtr = 0x1e87dc0, exa_force_cp = 0, wfb_enabled = 0, tiled_scanout = 1, glx_vblank = 0, 
  has_pageflip = 1, swap_limit = 2, max_swap_limit = 2, BlockHandler = 0x7fa681ac5120 <ExaBlockHandler>, 
  CreateScreenResources = 0x7fa681ac56d0 <exaCreateScreenResources>, CloseScreen = 0x476270 <DPMSClose>, VideoTimerCallback = 0x0, 
  overlayAdaptor = 0x0, blitAdaptor = 0x0, textureAdaptor = {0x1eabd60, 0x0}, videoKey = 66046, Options = 0x1e8b6d0, LockedUp = 0, currentRop = 6, 
  drmmode = 0x0, dev = 0x1e8b5e0, drm_device_name = 0x1e8abd0 "/dev/dri/card0", client = 0x1e8aae0, transfer = 0x9dc74f0, transfer_offset = 623484, 
  channel = 0x1e8ab70, pushbuf = 0x1e88cc0, bufctx = 0x0, notify0 = 0x0, vblank_sem = 0x0, NvNull = 0x0, NvContextSurfaces = 0x0, 
  NvContextBeta1 = 0x0, NvContextBeta4 = 0x0, NvImagePattern = 0x0, NvRop = 0x0, NvRectangle = 0x0, NvImageBlit = 0x0, NvScaledImage = 0x0, 
  NvClipRectangle = 0x0, NvMemFormat = 0x0, NvImageFromCpu = 0x0, Nv2D = 0x0, Nv3D = 0x0, NvSW = 0x0, NvCOPY = 0x0, scratch = 0x0, ce_enabled = 0, 
  ce_channel = 0x0, ce_pushbuf = 0x0, NvCopy = 0x0, pspix = 0x0, pmpix = 0x0, pdpix = 0x0, pspict = 0x0, pmpict = 0x0, fg_colour = 0}
(gdb) p pNv->bufctx
$48 = (struct nouveau_bufctx *) 0x0
(gdb) p pNv->pushbuf
$49 = (struct nouveau_pushbuf *) 0x1e88cc0
(gdb) p pNv->channel
$50 = (struct nouveau_object *) 0x1e8ab70
(gdb) 

Version-Release number of selected component (if applicable):
xorg-x11-drv-nouveau-1.0.10-5.el7.x86_64 

How reproducible:
Sporadically.

Steps to Reproduce:
1. Keep machine on sleep for long time.
2. It becomes unresponsive.


Actual results:
System becomes unresponsive.

Expected results:
System should wake up.

Additional info:

Find exactly same issue reported on fedora at below links

F21 --> https://bugzilla.redhat.com/show_bug.cgi?id=1178865. 
F18 --> https://bugzilla.redhat.com/show_bug.cgi?id=902919
Comment 2 Piyush Bhoot 2015-09-12 08:20:11 EDT
Created attachment 1072714 [details]
Coredump
Comment 4 Ben Skeggs 2016-04-27 00:46:11 EDT
What device is this happening on?  Can I see a kernel log?

Note You need to log in before you can comment on or make changes to this bug.