From owner-freebsd-current@FreeBSD.ORG Sat Mar 14 12:52:17 2009 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 00ABE1065670 for ; Sat, 14 Mar 2009 12:52:17 +0000 (UTC) (envelope-from a_best01@uni-muenster.de) Received: from zivm-out3.uni-muenster.de (ZIVM-OUT3.UNI-MUENSTER.DE [128.176.192.18]) by mx1.freebsd.org (Postfix) with ESMTP id 2B19D8FC0C for ; Sat, 14 Mar 2009 12:52:15 +0000 (UTC) (envelope-from a_best01@uni-muenster.de) X-IronPort-AV: E=Sophos;i="4.38,362,1233529200"; d="scan'208";a="1699836" Received: from zivmaildisp2.uni-muenster.de (HELO ZIVMAILUSER03.UNI-MUENSTER.DE) ([128.176.188.143]) by zivm-relay3.uni-muenster.de with ESMTP; 14 Mar 2009 13:52:14 +0100 Received: by ZIVMAILUSER03.UNI-MUENSTER.DE (Postfix, from userid 149459) id 3C84E1B075A; Sat, 14 Mar 2009 13:52:14 +0100 (CET) Date: Sat, 14 Mar 2009 13:52:14 +0100 (CET) From: Alexander Best Sender: Organization: Westfaelische Wilhelms-Universitaet Muenster To: Message-ID: In-Reply-To: <20090314085905.GA3591@dchagin.static.corbina.ru> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Cc: Chagin Dmitry Subject: Re: linux 3d applications keep crashing X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Mar 2009 12:52:17 -0000 thanks for the patch. i applied it and recompiled/reinstalled the kernel. i ran quake 4 afterwards and the app still crashes: =2E.. 1837 quake4.x86 CALL linux_sys_futex(0x2dbece30,0x81,0x7fffffff,0,0x72d,0x= 7) 1837 quake4.x86 RET linux_sys_futex 0 1837 quake4.x86 PSIG SIGSEGV caught handler=3D0x8254b10 mask=3D0x0 code= =3D0x0 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.. " =2E.. the only difference seems to be that now linux_sys_futex is returning 0 as return value. without the patch it returned 1. cheers. Chagin Dmitry schrieb am 2009-03-14: > On Sat, Mar 14, 2009 at 12:03:25AM +0100, Alexander Best wrote: > > hi there, > > a lot of people who are using the nvidia closed source driver are > > having > > problems running linux 3d applications. the libGL.so.1 library > > (linux version > > in /compat/linux/usr/lib) causes almost every linux 3d app to > > segfault. since > > the library is the very same one that get's installed under linux > > the problem > > very likely resides in the linuxulator. > > i ran two linux games with ktrace. this is the output from > > linux_kdump. i hope > > i copy&pasted the important pieces of the dump that report the > > crash. > > 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=3D0x874bd50 mask=3D0x0 > > code=3D0x0 > > 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) > > ... > > and 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=3D0x8254b10 mask=3D0x0 > > code=3D0x0 > > 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) > > ... > > to me it looks like the app crashes during the futex syscall, but > > i'm far from > > beeing an expert. > > it would be great if somebody could take a closer look at this. > pls uname -a and try patch bellow (current) > http://78.107.232.239/futex.c.33.patch