Summary: | XServer frequently freezes for a few seconds | ||
---|---|---|---|
Product: | Mesa | Reporter: | Alexander Richardson <arichardson.kde> |
Component: | Drivers/Gallium/r600 | Assignee: | Default DRI bug account <dri-devel> |
Status: | RESOLVED MOVED | QA Contact: | |
Severity: | normal | ||
Priority: | medium | CC: | b.bellec |
Version: | 10.0 | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: | logs |
Description
Alexander Richardson
2014-01-14 17:38:43 UTC
Please attach your xorg log and dmesg output. Any chance you could bisect? Created attachment 92092 [details]
logs
Bisecting is quite tricky, I have so far only used the binary kernel packages.
I can try, however it will probably take a long time until I find something useful if at all. I am not sure when I can call a version good because sometimes the system can run fine for multiple hours and only then start having these freezes.
I currently don't have the time to bisect, so I was hoping there would be some kernel parameters to increase verbosity.
Would running a debug kernel be of any use?
I have now upgraded to Mesa 10.0.2 and it is MUCH better. Freeze only happens very rarely now. Maybe some unrelated change made a race condition that causes this very unlikely. Sadly still don't have the time to bisect the kernel. I recently had another freeze and was able to attach gdb via ssh, this is the backtrace I got: Thread 2 (Thread 0x7fca267f1980 (LWP 868)): #0 0x00007fca247161e7 in ioctl () at ../sysdeps/unix/syscall-template.S:81 No locals. #1 0x00007fca257e1da4 in drmIoctl (fd=10, request=request@entry=3223348317, arg=arg@entry=0x7fff56fbe6b0) at xf86drm.c:167 ret = <optimized out> #2 0x00007fca257e414f in drmCommandWriteRead (fd=<optimized out>, drmCommandIndex=drmCommandIndex@entry=29, data=data@entry=0x7fff56fbe6b0, size=size@entry=32) at xf86drm.c:2451 request = 3223348317 #3 0x00007fca1ff12463 in bo_open (bom=0x1ba44e0, handle=0, size=121397248, alignment=512, domains=4, flags=0) at radeon_bo_gem.c:108 args = { size = 121397248, alignment = 512, handle = 1737, initial_domain = 4, flags = 0 } bo = 0x2a4f140 r = <optimized out> #4 0x00007fca20169e08 in radeon_alloc_pixmap_bo (pScrn=pScrn@entry=0x1b9aca0, width=width@entry=3648, height=height@entry=8172, depth=depth@entry=32, usage_hint=usage_hint@entry=0, bitsPerPixel=bitsPerPixel@entry=32, new_pitch=new_pitch@entry=0x7fff56fbf55c, new_surface=new_surface@entry=0x2ae6600, new_tiling=new_tiling@entry=0x2ae65f8) at radeon_bo_helper.c:179 info = 0x1b9b3d0 pitch = 14848 base_align = <optimized out> size = <optimized out> heighta = <optimized out> cpp = 4 tiling = 0 surface = { npix_x = 3648, npix_y = 8176, npix_z = 1, blk_w = 1, blk_h = 1, blk_d = 1, array_size = 1, last_level = 0, bpe = 4, nsamples = 1, flags = 1114113, bo_size = 121397248, bo_alignment = 512, bankw = 0, bankh = 0, mtilea = 0, tile_split = 0, stencil_tile_split = 0, stencil_offset = 0, level = {{ offset = 0, slice_size = 121397248, npix_x = 3648, npix_y = 8176, npix_z = 1, nblk_x = 3712, nblk_y = 8176, nblk_z = 1, pitch_bytes = 14848, mode = 0 }, { offset = 0, slice_size = 0, npix_x = 0, npix_y = 0, npix_z = 0, nblk_x = 0, nblk_y = 0, nblk_z = 0, pitch_bytes = 0, mode = 0 } <repeats 31 times>}, stencil_level = {{ offset = 0, slice_size = 0, npix_x = 0, npix_y = 0, npix_z = 0, nblk_x = 0, nblk_y = 0, nblk_z = 0, pitch_bytes = 0, mode = 0 } <repeats 32 times>}, tiling_index = {0 <repeats 32 times>}, stencil_tiling_index = {0 <repeats 32 times>} } bo = <optimized out> domain = 4 #5 0x00007fca2013c527 in RADEONEXACreatePixmap2 (pScreen=<optimized out>, width=3648, height=8172, depth=32, usage_hint=0, bitsPerPixel=32, new_pitch=0x7fff56fbf55c) at radeon_exa.c:289 pScrn = 0x1b9aca0 info = <optimized out> new_priv = 0x2ae65f0 #6 0x00007fca1fd00068 in exaCreateDriverPixmap_mixed (pPixmap=0x2da61c0) at exa_migration_mixed.c:61 new_pitch = 0 pScreen = 0x1ba3b20 w = <optimized out> h = 8172 depth = <optimized out> bpp = <optimized out> usage_hint = 0 paddedWidth = 14592 #7 0x00007fca1fd002b0 in exaDoMigration_mixed (pixmaps=0x7fff56fbf660, npixmaps=-1071618979, can_accel=535884672) at exa_migration_mixed.c:104 pPixmap = 0x2da61c0 #8 0x00007fca1fd00dd4 in exaDoPutImage (depth=32, src_stride=14592, bits=0x36b7dc8 "", format=2, h=17, w=3648, y=0, x=0, pGC=0x20cc090, pDrawable=0x2da61c0) at exa_accel.c:179 pixmaps = {{ as_dst = 1, as_src = 0, pPix = 0x2da61c0, pReg = 0x58 }} nbox = <optimized out> pPix = <optimized out> xoff = 0 ret = 1 pClip = <optimized out> pbox = <optimized out> yoff = 1 bpp = 32 #9 exaPutImage (pDrawable=0x2da61c0, pGC=0x20cc090, depth=32, x=0, y=0, w=3648, h=17, leftPad=0, format=2, bits=0x36b7dc8 "") at exa_accel.c:233 No locals. #10 0x0000000000519819 in damagePutImage (pDrawable=0x2da61c0, pGC=0x20cc090, depth=32, x=0, y=0, w=<optimized out>, h=17, leftPad=0, format=2, pImage=0x36b7dc8 "") at damage.c:736 oldFuncs = 0x8162c0 <damageGCFuncs> #11 0x000000000043a189 in ProcPutImage (client=0x2a4d3f0) at dispatch.c:1968 pGC = 0x20cc090 pDraw = 0x2da61c0 length = <optimized out> lengthProto = <optimized out> tmpImage = 0x36b7dc8 "" stuff = 0x36b7db0 #12 0x000000000043d23e in Dispatch () at dispatch.c:433 clientReady = 0x1f600c0 result = <optimized out> client = 0x2a4d3f0 nready = 0 icheck = 0x820590 <checkForInput> start_tick = 178795 #13 0x000000000044106a in dix_main (argc=8, argv=0x7fff56fbf948, envp=<optimized out>) at main.c:294 i = <optimized out> alwaysCheckForInput = {0, 1} #14 0x00007fca24657be5 in __libc_start_main (main=0x42c5d0 <main>, argc=8, argv=0x7fff56fbf948, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff56fbf938) at libc-start.c:269 result = <optimized out> unwind_buf = { cancel_jmp_buf = {{ jmp_buf = {0, -524547331697071748, 4376024, 140734652741952, 0, 0, 524320866477091196, 516830052716587388}, mask_was_saved = 0 }}, priv = { pad = {0x0, 0x0, 0x59b9b0 <__libc_csu_init>, 0x7fff56fbf948}, data = { prev = 0x0, cleanup = 0x0, canceltype = 5880240 } } } not_first_call = <optimized out> #15 0x000000000042c601 in _start () at ../sysdeps/x86_64/start.S:122 No locals. Thread 1 (Thread 0x7fca19dfe700 (LWP 883)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185 No locals. #1 0x00007fca1f515ec3 in ?? () from /usr/lib64/dri/r600_dri.so No symbol table info available. #2 0x00007fca1f515807 in ?? () from /usr/lib64/dri/r600_dri.so No symbol table info available. #3 0x00007fca259f20db in start_thread (arg=0x7fca19dfe700) at pthread_create.c:309 __res = <optimized out> pd = 0x7fca19dfe700 now = <optimized out> unwind_buf = { cancel_jmp_buf = {{ jmp_buf = {140505994225408, -524547331697071748, 0, 140506206253056, 140506085630131, 140505994225408, 516890606489905532, 516829586942404988}, mask_was_saved = 0 }}, priv = { pad = {0x0, 0x0, 0x0, 0x0}, data = { prev = 0x0, cleanup = 0x0, canceltype = 0 } } } not_first_call = <optimized out> pagesize_m1 = <optimized out> sp = <optimized out> freesize = <optimized out> __PRETTY_FUNCTION__ = "start_thread" #4 0x00007fca2471d90d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 No locals. Looks like it is somehow freezing when calling the DRM_RADEON_GEM_CREATE ioctl, but maybe gdb attaching causes the freeze to end and this is just afterwards. Hope it is of some use. Does the freeze happens also with the stock openSUSE mesa (9.2.2)? -- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/484. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.