From owner-freebsd-bugs@FreeBSD.ORG Sat Mar 28 00:00:13 2009 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 94F971065673 for ; Sat, 28 Mar 2009 00:00:13 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 6D26C8FC0C for ; Sat, 28 Mar 2009 00:00:13 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n2S00DhV037518 for ; Sat, 28 Mar 2009 00:00:13 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n2S00D54037512; Sat, 28 Mar 2009 00:00:13 GMT (envelope-from gnats) Resent-Date: Sat, 28 Mar 2009 00:00:13 GMT Resent-Message-Id: <200903280000.n2S00D54037512@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Alexander Best Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 25424106566B for ; Fri, 27 Mar 2009 23:58:18 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21]) by mx1.freebsd.org (Postfix) with ESMTP id 129308FC13 for ; Fri, 27 Mar 2009 23:58:18 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.14.3/8.14.3) with ESMTP id n2RNwHsr003531 for ; Fri, 27 Mar 2009 23:58:17 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.14.3/8.14.3/Submit) id n2RNwHlh003530; Fri, 27 Mar 2009 23:58:17 GMT (envelope-from nobody) Message-Id: <200903272358.n2RNwHlh003530@www.freebsd.org> Date: Fri, 27 Mar 2009 23:58:17 GMT From: Alexander Best To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Cc: Subject: kern/133144: linuxulator 2.6 crashes with nvidias libGL.so.1 X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Mar 2009 00:00:14 -0000 >Number: 133144 >Category: kern >Synopsis: linuxulator 2.6 crashes with nvidias libGL.so.1 >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sat Mar 28 00:00:12 UTC 2009 >Closed-Date: >Last-Modified: >Originator: Alexander Best >Release: 8.0-CURRENT >Organization: >Environment: FreeBSD moshnroll 8.0-CURRENT FreeBSD 8.0-CURRENT #24 r190416M: Wed Mar 25 18:12:28 UTC 2009 root@moshnroll:/usr/obj/usr/src/sys/ARUNDEL i38 >Description: with compat.linux.osrelease=2.6.16 and linux_base-f8 almost every 3d linux application crashes when using the closed source nvidia driver. when switching to graphics/linux_dri thus replacing the nvidia linux version of libGL.so.1 the error disappears. it seems the linuxulator 2.6 is missing a vital syscall (or doesn't fully support it) which is required by the nvidia version of libGL.so.1. switching to compat.linux.osrelease=2.4.2 and replacing linux_base-f8 with linux_base-fc4 resolves the problem. here are 2 excerpts from a linux_kdump: dump from unreal tournament 2004 demo: --- 1180 ut2004-bin RET close 0 1180 ut2004-bin CALL linux_brk(0xae5c000) 1180 ut2004-bin RET linux_brk 182829056/0xae5c000 1180 ut2004-bin CALL linux_getpid 1180 ut2004-bin RET linux_getpid 1180/0x49c 1180 ut2004-bin CALL linux_getpid 1180 ut2004-bin RET linux_getpid 1180/0x49c 1180 ut2004-bin CALL linux_getpid 1180 ut2004-bin RET linux_getpid 1180/0x49c 1180 ut2004-bin CALL linux_sys_futex(0x2b406e30,0x81,0x7fffffff,0,0x49c,0x7) 1180 ut2004-bin RET linux_sys_futex 1 1180 ut2004-bin PSIG SIGSEGV caught handler=0x874bd50 mask=0x0 code=0x0 1180 ut2004-bin CALL linux_fstat64(0x1,0xbfbfa9e8,0x28fe8ff4) 1180 ut2004-bin UNKNOWN(8) 1180 ut2004-bin RET linux_fstat64 0 1180 ut2004-bin CALL linux_mmap2(0,0x1000,0x3,0x22,0xffffffff,0) 1180 ut2004-bin RET linux_mmap2 688971776/0x2910e000 1180 ut2004-bin CALL write(0x1,0x2910e000,0x25) 1180 ut2004-bin GIO fd 1 wrote 37 bytes "Signal: SIGSEGV [segmentation fault] " 1180 ut2004-bin RET write 37/0x25 1180 ut2004-bin CALL write(0x1,0x2910e000,0xa) 1180 ut2004-bin GIO fd 1 wrote 10 bytes "Aborting. " 1180 ut2004-bin RET write 10/0xa 1180 ut2004-bin CALL write(0x1,0x2910e000,0x1) 1180 ut2004-bin GIO fd 1 wrote 1 byte " " 1180 ut2004-bin RET write 1 1180 ut2004-bin CALL write(0x1,0x2910e000,0x1) 1180 ut2004-bin GIO fd 1 wrote 1 byte " " 1180 ut2004-bin RET write 1 1180 ut2004-bin CALL write(0x1,0x2910e000,0x31) 1180 ut2004-bin GIO fd 1 wrote 49 bytes "Crash information will be saved to your logfile. " 1180 ut2004-bin RET write 49/0x31 1180 ut2004-bin CALL linux_sys_futex(0x28feba34,0x81,0x7fffffff,0,0xbfbfab14,0xbfbfaaec) 1180 ut2004-bin RET linux_sys_futex 1 1180 ut2004-bin CALL linux_sys_futex(0x28e8eb48,0x81,0x7fffffff,0,0xbfbfaa30,0xbfbfa93c) 1180 ut2004-bin RET linux_sys_futex 1 1180 ut2004-bin CALL write(0x4,0x937c3c8,0xc) --- dump from quake 4 demo: --- 1285 quake4.x86 RET close 0 1285 quake4.x86 CALL linux_getpid 1285 quake4.x86 RET linux_getpid 1285/0x505 1285 quake4.x86 CALL linux_getpid 1285 quake4.x86 RET linux_getpid 1285/0x505 1285 quake4.x86 CALL linux_getpid 1285 quake4.x86 RET linux_getpid 1285/0x505 1285 quake4.x86 CALL linux_sys_futex(0x2dbece30,0x81,0x7fffffff,0,0x505,0x7) 1285 quake4.x86 RET linux_sys_futex 1 1285 quake4.x86 PSIG SIGSEGV caught handler=0x8254b10 mask=0x0 code=0x0 1285 quake4.x86 CALL linux_sys_futex(0x286cd620,0x81,0x7fffffff,0,0x505,0xbfbfc51c) 1285 quake4.x86 RET linux_sys_futex 1 1285 quake4.x86 CALL write(0x1,0x283dd000,0x22) 1285 quake4.x86 GIO fd 1 wrote 34 bytes "signal caught: Segmentation fault " 1285 quake4.x86 RET write 34/0x22 1285 quake4.x86 CALL write(0x1,0x283dd000,0xa) 1285 quake4.x86 GIO fd 1 wrote 10 bytes "si_code 1 " 1285 quake4.x86 RET write 10/0xa 1285 quake4.x86 CALL write(0x1,0x283dd000,0x1c) 1285 quake4.x86 GIO fd 1 wrote 28 bytes "Trying to exit gracefully.. " 1285 quake4.x86 RET write 28/0x1c 1285 quake4.x86 CALL write(0x1,0x283dd000,0x2e) 1285 quake4.x86 GIO fd 1 wrote 46 bytes "--------------- BSE Shutdown ---------------- " 1285 quake4.x86 RET write 46/0x2e 1285 quake4.x86 CALL write(0x1,0x283dd000,0x2e) 1285 quake4.x86 GIO fd 1 wrote 46 bytes "--------------------------------------------- " 1285 quake4.x86 RET write 46/0x2e 1285 quake4.x86 CALL write(0x1,0x283dd000,0x35) 1285 quake4.x86 GIO fd 1 wrote 53 bytes "WARNING: rvServerScanGUI::Clear() - invalid scanGUI " 1285 quake4.x86 RET write 53/0x35 1285 quake4.x86 CALL munmap(0x2d0ee000,0x101000) 1285 quake4.x86 RET munmap 0 1285 quake4.x86 CALL munmap(0x2d1ef000,0x101000) --- for a discussion concerning this problem please take a look at the following thread: http://lists.freebsd.org/pipermail/freebsd-current/2009-March/004563.html i'm not sure the linux_kdump excerpts document the actual problem. if a complete dump is required (~40MB) or a different excerpt please drop me a note. i've also applied the futex patch. yet that didn't solve the issue. here's a linux_kdump from the quake 4 demo after appliying the patch: --- 1837 quake4.x86 CALL linux_sys_futex(0x2dbece30,0x81,0x7fffffff,0,0x72d,0x7) 1837 quake4.x86 RET linux_sys_futex 0 1837 quake4.x86 PSIG SIGSEGV caught handler=0x8254b10 mask=0x0 code=0x0 1837 quake4.x86 CALL linux_sys_futex(0x286ce620,0x81,0x7fffffff,0,0x72d,0xbfbfc4fc) 1837 quake4.x86 RET linux_sys_futex 0 1837 quake4.x86 CALL write(0x1,0x283dd000,0x22) 1837 quake4.x86 GIO fd 1 wrote 34 bytes "signal caught: Segmentation fault " 1837 quake4.x86 RET write 34/0x22 1837 quake4.x86 CALL write(0x1,0x283dd000,0xa) 1837 quake4.x86 GIO fd 1 wrote 10 bytes "si_code 1 " 1837 quake4.x86 RET write 10/0xa 1837 quake4.x86 CALL write(0x1,0x283dd000,0x1c) 1837 quake4.x86 GIO fd 1 wrote 28 bytes "Trying to exit gracefully.. " --- cheers. >How-To-Repeat: >Fix: >Release-Note: >Audit-Trail: >Unformatted: