Backtrace
DRM_IOCTL_LOCK ends up with drm_lock() in drm_lock.c part of drm.ko
Cheers, Waldo Intel Corporation - Platform Software Engineering, UMG - Hillsboro, Oregon -----Original Message----- From: ubuntu-mobile-bounces@lists.ubuntu.com [mailto:ubuntu-mobile-bounces@lists.ubuntu.com] On Behalf Of Bryce Harrington Sent: Wednesday, January 16, 2008 2:55 PM To: Gunawardana, Inuka Cc: ubuntu-mobile@lists.ubuntu.com Subject: Backtrace Finally got a readable backtrace: #0 0xb7fd440e in __kernel_vsyscall () #1 0xb7e25bc9 in ioctl () from /lib/libc.so.6 #2 0xb7bc4a1d in drmGetLock (fd=10, context=2, flags=3213662516) at xf86drm.c:1259 #3 0xb7bb951b in psbDRILock (pScrn=0x820bcd0, flags=0) at psb_dri.c:724 #4 0xb7baf983 in psbScreenInit (scrnIndex=0, pScreen=0x821b2d8, argc=6, argv=0xbf8c9b74) at psb_driver.c:1342 #5 0x08073ddb in AddScreen (pfnInit=0xb7baf7f0 <psbScreenInit>, argc=6, argv=0xbf8c9b74) at ../../dix/main.c:769 #6 0x080a6e39 in InitOutput (pScreenInfo=0x81fa640, argc=6, argv=0xbf8c9b74) at ../../../../hw/xfree86/common/xf86Init.c:850 #7 0x08074590 in main (argc=6, argv=0xbf8c9b74, envp=Cannot access memory at address 0x40086432 ) at ../../dix/main.c:369 This also confirms my explorations from the other side, that the issue is within psbDRILock. drmGetLock is defined in libdrm, as this: int drmGetLock(int fd, drm_context_t context, drmLockFlags flags) { drm_lock_t lock; lock.context = context; lock.flags = 0; if (flags & DRM_LOCK_READY) lock.flags |= _DRM_LOCK_READY; if (flags & DRM_LOCK_QUIESCENT) lock.flags |= _DRM_LOCK_QUIESCENT; if (flags & DRM_LOCK_FLUSH) lock.flags |= _DRM_LOCK_FLUSH; if (flags & DRM_LOCK_FLUSH_ALL) lock.flags |= _DRM_LOCK_FLUSH_ALL; if (flags & DRM_HALT_ALL_QUEUES) lock.flags |= _DRM_HALT_ALL_QUEUES; if (flags & DRM_HALT_CUR_QUEUES) lock.flags |= _DRM_HALT_CUR_QUEUES; while (ioctl(fd, DRM_IOCTL_LOCK, &lock)) ; return 0; } Bryce -- Ubuntu-mobile mailing list Ubuntu-mobile@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-mobile -- Ubuntu-mobile mailing list Ubuntu-mobile@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-mobile |
Backtrace
I am currently reading through that part of the code to make sure that
some Kconfig options are not responsible for this behaviour. If you can think of any, it would be a help. Regards, Amit On Jan 17, 2008 1:17 AM, Bastian, Waldo <waldo.bastian@intel.com> wrote: > DRM_IOCTL_LOCK ends up with drm_lock() in drm_lock.c part of drm.ko > > Cheers, > Waldo > > Intel Corporation - Platform Software Engineering, UMG - Hillsboro, > Oregon > > > -----Original Message----- > From: ubuntu-mobile-bounces@lists.ubuntu.com > [mailto:ubuntu-mobile-bounces@lists.ubuntu.com] On Behalf Of Bryce > Harrington > Sent: Wednesday, January 16, 2008 2:55 PM > To: Gunawardana, Inuka > Cc: ubuntu-mobile@lists.ubuntu.com > Subject: Backtrace > > Finally got a readable backtrace: > > #0 0xb7fd440e in __kernel_vsyscall () > #1 0xb7e25bc9 in ioctl () from /lib/libc.so.6 > #2 0xb7bc4a1d in drmGetLock (fd=10, context=2, flags=3213662516) at > xf86drm.c:1259 > #3 0xb7bb951b in psbDRILock (pScrn=0x820bcd0, flags=0) at psb_dri.c:724 > #4 0xb7baf983 in psbScreenInit (scrnIndex=0, pScreen=0x821b2d8, argc=6, > argv=0xbf8c9b74) at psb_driver.c:1342 > #5 0x08073ddb in AddScreen (pfnInit=0xb7baf7f0 <psbScreenInit>, argc=6, > argv=0xbf8c9b74) at ../../dix/main.c:769 > #6 0x080a6e39 in InitOutput (pScreenInfo=0x81fa640, argc=6, > argv=0xbf8c9b74) at ../../../../hw/xfree86/common/xf86Init.c:850 > #7 0x08074590 in main (argc=6, argv=0xbf8c9b74, envp=Cannot access > memory at address 0x40086432 > ) at ../../dix/main.c:369 > > This also confirms my explorations from the other side, that the issue > is within psbDRILock. > > drmGetLock is defined in libdrm, as this: > > int drmGetLock(int fd, drm_context_t context, drmLockFlags flags) > { > drm_lock_t lock; > > lock.context = context; > lock.flags = 0; > if (flags & DRM_LOCK_READY) lock.flags |= _DRM_LOCK_READY; > if (flags & DRM_LOCK_QUIESCENT) lock.flags |= _DRM_LOCK_QUIESCENT; > if (flags & DRM_LOCK_FLUSH) lock.flags |= _DRM_LOCK_FLUSH; > if (flags & DRM_LOCK_FLUSH_ALL) lock.flags |= _DRM_LOCK_FLUSH_ALL; > if (flags & DRM_HALT_ALL_QUEUES) lock.flags |= _DRM_HALT_ALL_QUEUES; > if (flags & DRM_HALT_CUR_QUEUES) lock.flags |= _DRM_HALT_CUR_QUEUES; > > while (ioctl(fd, DRM_IOCTL_LOCK, &lock)) > ; > return 0; > } > > Bryce > > > -- > Ubuntu-mobile mailing list > Ubuntu-mobile@lists.ubuntu.com > Modify settings or unsubscribe at: > https://lists.ubuntu.com/mailman/listinfo/ubuntu-mobile > > -- > Ubuntu-mobile mailing list > Ubuntu-mobile@lists.ubuntu.com > Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-mobile > -- Ubuntu-mobile mailing list Ubuntu-mobile@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-mobile |
Backtrace
Hi,
# echo 1 > /sys/module/drm/parameters/debug gives us more insight of what is happening inside the kernel... [drm:drm_stub_open] [drm:drm_open_helper] pid = 4753, minor = 0 [drm:drm_addmap_core] offset = 0x00000000, size = 0x00002000, type = 2 [drm:drm_addmap_core] 8192 13 f8a37000 [drm:drm_setup] [drm:drm_unlocked_ioctl] pid=4753, cmd=0xc0246400, nr=0x00, dev 0xe200, auth=1 [drm:drm_unlocked_ioctl] pid=4753, cmd=0xc0246400, nr=0x00, dev 0xe200, auth=1 [drm:drm_release] open_count = 1 [drm:drm_release] pid = 4753, device = 0xe200, open_count = 1 [drm:drm_fasync] fd = -1, device = 0xe200 [drm:drm_lastclose] [drm:drm_lastclose] driver lastclose completed [drm:drm_lastclose] lastclose completed [drm:drm_stub_open] [drm:drm_open_helper] pid = 4753, minor = 0 [drm:drm_addmap_core] offset = 0x00000000, size = 0x00002000, type = 2 [drm:drm_addmap_core] 8192 13 f8a37000 [drm:drm_setup] [drm:drm_unlocked_ioctl] pid=4753, cmd=0xc0246400, nr=0x00, dev 0xe200, auth=1 [drm:drm_unlocked_ioctl] pid=4753, cmd=0xc0246400, nr=0x00, dev 0xe200, auth=1 [drm:drm_release] open_count = 1 [drm:drm_release] pid = 4753, device = 0xe200, open_count = 1 [drm:drm_fasync] fd = -1, device = 0xe200 [drm:drm_lastclose] [drm:drm_lastclose] driver lastclose completed [drm:drm_lastclose] lastclose completed [drm:drm_stub_open] [drm:drm_open_helper] pid = 4753, minor = 0 [drm:drm_addmap_core] offset = 0x00000000, size = 0x00002000, type = 2 [drm:drm_addmap_core] 8192 13 f8a37000 [drm:drm_setup] [drm:drm_unlocked_ioctl] pid=4753, cmd=0xc0106407, nr=0x07, dev 0xe200, auth=1 [drm:drm_unlocked_ioctl] pid=4753, cmd=0xc0086401, nr=0x01, dev 0xe200, auth=1 [drm:drm_unlocked_ioctl] pid=4753, cmd=0xc0086401, nr=0x01, dev 0xe200, auth=1 [drm:drm_unlocked_ioctl] pid=4753, cmd=0xc0106407, nr=0x07, dev 0xe200, auth=1 [drm:drm_unlocked_ioctl] pid=4753, cmd=0xc0186415, nr=0x15, dev 0xe200, auth=1 [drm:drm_addmap_core] offset = 0x00000000, size = 0x00002000, type = 2 [drm:drm_mmap_locked] start = 0xb7b39000, end = 0xb7b3b000, page offset = 0xf8a37 [drm:drm_vm_open_locked] 0xb7b39000,0x00002000 [drm:drm_do_vm_shm_nopage] shm_nopage 0xb7b39000 [drm:drm_do_vm_shm_nopage] shm_nopage 0xb7b3a000 [drm:drm_unlocked_ioctl] pid=4753, cmd=0xc0186415, nr=0x15, dev 0xe200, auth=1 [drm:drm_addmap_core] offset = 0x3fc00000, size = 0x00001000, type = 0 [drm:drm_unlocked_ioctl] pid=4753, cmd=0xc0086426, nr=0x26, dev 0xe200, auth=1 [drm:drm_unlocked_ioctl] pid=4753, cmd=0xc0086426, nr=0x26, dev 0xe200, auth=1 [drm:drm_unlocked_ioctl] pid=4753, cmd=0xc0086420, nr=0x20, dev 0xe200, auth=1 [drm:drm_addctx] 1 [drm:drm_unlocked_ioctl] pid=4753, cmd=0x40086422, nr=0x22, dev 0xe200, auth=1 [drm:drm_unlocked_ioctl] pid=4753, cmd=0x4008642a, nr=0x2a, dev 0xe200, auth=1 [drm:drm_lock] 1 (pid 4753) requests lock (0x00000000), flags = 0x00000000 [drm:drm_lock] 1 has lock This first context (whatever it is) has a successful lock here. [drm:drm_fasync] fd = 10, device = 0xe200 [drm:drm_unlocked_ioctl] pid=4753, cmd=0xc0246400, nr=0x00, dev 0xe200, auth=1 [drm:drm_unlocked_ioctl] pid=4753, cmd=0xc0246400, nr=0x00, dev 0xe200, auth=1 [drm:drm_unlocked_ioctl] pid=4753, cmd=0x800c64d6, nr=0xd6, dev 0xe200, auth=1 [drm:drm_unlocked_ioctl] pid=4753, cmd=0xc0086420, nr=0x20, dev 0xe200, auth=1 [drm:drm_addctx] 2 [drm:drm_unlocked_ioctl] pid=4753, cmd=0xc0106403, nr=0x03, dev 0xe200, auth=1 [drm:drm_irq_by_busid] 0:2:0 => IRQ 17 [drm:drm_unlocked_ioctl] pid=4753, cmd=0x40086414, nr=0x14, dev 0xe200, auth=1 [drm:drm_irq_install] drm_irq_install: irq=17 [psb:0x01:psb_irq_postinstall] Setting up MSVDX IRQs..... [drm:drm_unlocked_ioctl] pid=4753, cmd=0x4008642a, nr=0x2a, dev 0xe200, auth=1 [drm:drm_lock] 2 (pid 4753) requests lock (0x80000001), flags = 0x00000000 [drm:drm_lock] 2 interrupted This second lock failed here. This is where we Ctrl-C'ed the X server running under gdb. Now to figure out what this second lock is.... [drm:drm_unlocked_ioctl] ret = -512 [drm:drm_vm_shm_close] 0xb7b39000,0x00002000 [drm:drm_release] open_count = 1 [drm:drm_release] pid = 4753, device = 0xe200, open_count = 1 [drm:drm_release] File f7762a80 released, freeing lock for context 1 [drm:drm_fasync] fd = -1, device = 0xe200 [drm:drm_lastclose] [drm:drm_lastclose] driver lastclose completed [drm:drm_irq_uninstall] drm_irq_uninstall: irq=17 [drm:drm_lastclose] lastclose completed Regards, Amit On Jan 17, 2008 1:21 AM, Amit Kucheria <amit@ubuntu.com> wrote: > I am currently reading through that part of the code to make sure that > some Kconfig options are not responsible for this behaviour. If you > can think of any, it would be a help. > > Regards, > Amit > > > On Jan 17, 2008 1:17 AM, Bastian, Waldo <waldo.bastian@intel.com> wrote: > > DRM_IOCTL_LOCK ends up with drm_lock() in drm_lock.c part of drm.ko > > > > Cheers, > > Waldo > > > > Intel Corporation - Platform Software Engineering, UMG - Hillsboro, > > Oregon > > > > > > -----Original Message----- > > From: ubuntu-mobile-bounces@lists.ubuntu.com > > [mailto:ubuntu-mobile-bounces@lists.ubuntu.com] On Behalf Of Bryce > > Harrington > > Sent: Wednesday, January 16, 2008 2:55 PM > > To: Gunawardana, Inuka > > Cc: ubuntu-mobile@lists.ubuntu.com > > Subject: Backtrace > > > > Finally got a readable backtrace: > > > > #0 0xb7fd440e in __kernel_vsyscall () > > #1 0xb7e25bc9 in ioctl () from /lib/libc.so.6 > > #2 0xb7bc4a1d in drmGetLock (fd=10, context=2, flags=3213662516) at > > xf86drm.c:1259 > > #3 0xb7bb951b in psbDRILock (pScrn=0x820bcd0, flags=0) at psb_dri.c:724 > > #4 0xb7baf983 in psbScreenInit (scrnIndex=0, pScreen=0x821b2d8, argc=6, > > argv=0xbf8c9b74) at psb_driver.c:1342 > > #5 0x08073ddb in AddScreen (pfnInit=0xb7baf7f0 <psbScreenInit>, argc=6, > > argv=0xbf8c9b74) at ../../dix/main.c:769 > > #6 0x080a6e39 in InitOutput (pScreenInfo=0x81fa640, argc=6, > > argv=0xbf8c9b74) at ../../../../hw/xfree86/common/xf86Init.c:850 > > #7 0x08074590 in main (argc=6, argv=0xbf8c9b74, envp=Cannot access > > memory at address 0x40086432 > > ) at ../../dix/main.c:369 > > > > This also confirms my explorations from the other side, that the issue > > is within psbDRILock. > > > > drmGetLock is defined in libdrm, as this: > > > > int drmGetLock(int fd, drm_context_t context, drmLockFlags flags) > > { > > drm_lock_t lock; > > > > lock.context = context; > > lock.flags = 0; > > if (flags & DRM_LOCK_READY) lock.flags |= _DRM_LOCK_READY; > > if (flags & DRM_LOCK_QUIESCENT) lock.flags |= _DRM_LOCK_QUIESCENT; > > if (flags & DRM_LOCK_FLUSH) lock.flags |= _DRM_LOCK_FLUSH; > > if (flags & DRM_LOCK_FLUSH_ALL) lock.flags |= _DRM_LOCK_FLUSH_ALL; > > if (flags & DRM_HALT_ALL_QUEUES) lock.flags |= _DRM_HALT_ALL_QUEUES; > > if (flags & DRM_HALT_CUR_QUEUES) lock.flags |= _DRM_HALT_CUR_QUEUES; > > > > while (ioctl(fd, DRM_IOCTL_LOCK, &lock)) > > ; > > return 0; > > } > > > > Bryce > > > > > > -- > > Ubuntu-mobile mailing list > > Ubuntu-mobile@lists.ubuntu.com > > Modify settings or unsubscribe at: > > https://lists.ubuntu.com/mailman/listinfo/ubuntu-mobile > > > > -- > > Ubuntu-mobile mailing list > > Ubuntu-mobile@lists.ubuntu.com > > Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-mobile > > > -- Ubuntu-mobile mailing list Ubuntu-mobile@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-mobile |
| All times are GMT. The time now is 11:25 PM. |
VBulletin, Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.