Bug 70436 - [sna] Assertion fail with skype and GM45
Summary: [sna] Assertion fail with skype and GM45
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/intel (show other bugs)
Version: git
Hardware: Other All
: medium normal
Assignee: Chris Wilson
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-10-13 21:20 UTC by Pavel Ondračka
Modified: 2013-10-14 08:36 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
Xorg.0.log with full debug (270.00 KB, text/plain)
2013-10-14 06:00 UTC, Pavel Ondračka
no flags Details

Description Pavel Ondračka 2013-10-13 21:20:24 UTC
When starting skype on my GM45, I'm getting this assertion:

Program received signal SIGABRT, Aborted.
0x00000030dd035c55 in __GI_raise (sig=sig@entry=6)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:63
63	  return INLINE_SYSCALL (tgkill, 3, pid, selftid, sig);
(gdb) bt full
#0  0x00000030dd035c55 in __GI_raise (sig=sig@entry=6)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:63
        resultvar = 0
        pid = 14596
        selftid = 14596
#1  0x00000030dd037408 in __GI_abort () at abort.c:90
        save_stage = 2
        act = {__sigaction_handler = {sa_handler = 0x7fff88526dbc, 
            sa_sigaction = 0x7fff88526dbc}, sa_mask = {__val = {209867729701, 
              139767813030208, 5817, 32, 41590272, 2287095152, 8589934595, 4, 
              140735480481824, 0, 0, 0, 209867729507, 21474836480, 
              139767825268736, 209867739752}}, sa_flags = 987289328, 
          sa_restorer = 0x7f1e3ad8ef75 <__PRETTY_FUNCTION__.26284>}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2  0x00000030dd02e972 in __assert_fail_base (
    fmt=0x30dd179268 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", 
    assertion=assertion@entry=0x7f1e3ad8d6f0 "has_coherent_ptr(sna, sna_pixmap(src_pixmap))", file=file@entry=0x7f1e3ad8c140 "sna_accel.c", 
    line=line@entry=5817, 
    function=function@entry=0x7f1e3ad8ef75 <__PRETTY_FUNCTION__.26284> "sna_copy_boxes") at assert.c:92
        str = 0x28bba80 ""
        total = 4096
#3  0x00000030dd02ea22 in __GI___assert_fail (
    assertion=0x7f1e3ad8d6f0 "has_coherent_ptr(sna, sna_pixmap(src_pixmap))", 
    file=0x7f1e3ad8c140 "sna_accel.c", line=5817, 
    function=0x7f1e3ad8ef75 <__PRETTY_FUNCTION__.26284> "sna_copy_boxes")
    at assert.c:101
No locals.
#4  0x00007f1e3ac929ce in sna_copy_boxes ()
   from /usr/local/lib/xorg/modules/drivers/intel_drv.so
No symbol table info available.
#5  0x00007f1e3ac93009 in sna_do_copy ()
   from /usr/local/lib/xorg/modules/drivers/intel_drv.so
No symbol table info available.
#6  0x00007f1e3ac93397 in sna_copy_area ()
   from /usr/local/lib/xorg/modules/drivers/intel_drv.so
No symbol table info available.
#7  0x000000000052e02d in damageCopyArea (pSrc=0x28ba330, pDst=0x28ba5b0, 
    pGC=0x28bb790, srcx=0, srcy=<optimized out>, width=64, height=64, dstx=0, 
    dsty=0) at damage.c:821
        ret = <optimized out>
        pGCPriv = 0x28bb878
        oldFuncs = 0x80c7c0 <damageGCFuncs>
#8  0x00000000004357eb in ProcCopyArea (client=0x2848750) at dispatch.c:1622
        pDst = 0x28ba5b0
        pSrc = 0x28ba330
        pGC = 0x28bb790
        stuff = 0x2848b20
        pRgn = <optimized out>
        rc = <optimized out>
#9  0x00000000004398ba in Dispatch () at dispatch.c:428
        clientReady = 0x26659f0
        result = <optimized out>
        client = 0x2848750
        nready = 0
        icheck = 0x8163f0 <checkForInput>
        start_tick = 1200
#10 0x00000000004282da in main (argc=12, argv=0x7fff88525068, 
    envp=<optimized out>) at main.c:298
        i = <optimized out>
        alwaysCheckForInput = {0, 1}

I'm sorry about the debug symbols missing, I'm not sure whats happening. I've compiled with --enable-debug and I've manually set CFLAGS="-g" to be sure, but still no symbols, however the assertions are working so really not sure what's going on...

This also can be reproduced with certain webpages and firefox, for example this one: http://recepty.vareni.cz/prirodni-veprovy-platek/

GPU: GM45
xf86-video-intel: 2987a6d5662fb3337f1400a51d016e1c5e21c063
Kernel: 3.10.14-100.fc18.x86_64
Libdrm: 2.4.46-1.fc18
Comment 1 Chris Wilson 2013-10-13 21:36:18 UTC
Does it happen on the first run (perhaps with a minimal X session)? The has_coherent_ptr() assertion is quite fragile and I may well have made a mistake in the assertion, so it would be very useful if I could look at a debug Xorg.0.log (i.e. xf86-video-intel.git built with ./configure --enable-debug=full).
Comment 2 Pavel Ondračka 2013-10-14 06:00:00 UTC
Created attachment 87578 [details]
Xorg.0.log with full debug

This is Xorg.0.log from "minimal" session (basically I've just logged into gnome and started skype).
Comment 3 Chris Wilson 2013-10-14 08:36:19 UTC
Looks like I missed a condition in the assertion. Should be fixed by:

commit 21577742e75165cb2bf34b1cab5bb2c3794c5b49
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Oct 14 09:33:52 2013 +0100

    sna: Tighten has_coherent_ptr() assertion
    
    Pass along the flags for read/write direction so that we know whether or
    not we expect the gpu bo to be in the CPU write domain.
    
    Reported-by: Pavel Ondračka <pavel.ondracka@email.cz>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70436
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>


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.