From mboxrd@z Thu Jan 1 00:00:00 1970 From: bugzilla-daemon@freedesktop.org Subject: [Bug 60929] [r600-llvm] mono games with opengl are blocking on start Date: Mon, 26 Aug 2013 09:11:58 +0000 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1414377754==" Return-path: Received: from culpepper.freedesktop.org (unknown [131.252.210.165]) by gabe.freedesktop.org (Postfix) with ESMTP id B3662E62E6 for ; Mon, 26 Aug 2013 02:11:58 -0700 (PDT) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org Errors-To: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org --===============1414377754== Content-Type: multipart/alternative; boundary="1377508318.BaD11.32287"; charset="us-ascii" --1377508318.BaD11.32287 Date: Mon, 26 Aug 2013 09:11:58 +0000 MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" https://bugs.freedesktop.org/show_bug.cgi?id=60929 --- Comment #15 from Nicholas Miell --- r600g initializes LLVM without first setting the llvm::DisablePrettyStackTrace variable to true. If this variable is false (the default), LLVM will register a bunch of signal handlers, including for SIGXCPU and SIGPWR, both of which are used by Mono's garbage collector. gallivm correctly sets llvm::DisablePrettyStackTrace to true, but it runs after r600g has already started calling into LLVM and the signal handlers have been registered. If you set a breakpoint on r600_create_context, manually set llvm::DisablePrettyStackTrace to true and then continue, the application will function correctly. I tested this using Fractal (a Unity game which deadlocks in sem_wait on startup), Bastion (a MonoGame, also deadlocks in sem_wait), and RepetierHost (an OpenTK app which dies in the SIGXCPU handler at startup). -- You are receiving this mail because: You are the assignee for the bug. --1377508318.BaD11.32287 Date: Mon, 26 Aug 2013 09:11:58 +0000 MIME-Version: 1.0 Content-Type: text/html; charset="UTF-8"

Comment # 15 on bug 60929 from
r600g initializes LLVM without first setting the llvm::DisablePrettyStackTrace
variable to true. If this variable is false (the default), LLVM will register a
bunch of signal handlers, including for SIGXCPU and SIGPWR, both of which are
used by Mono's garbage collector.

gallivm correctly sets llvm::DisablePrettyStackTrace to true, but it runs after
r600g has already started calling into LLVM and the signal handlers have been
registered.

If you set a breakpoint on r600_create_context, manually set
llvm::DisablePrettyStackTrace to true and then continue, the application will
function correctly. I tested this using Fractal (a Unity game which deadlocks
in sem_wait on startup), Bastion (a MonoGame, also deadlocks in sem_wait), and
RepetierHost (an OpenTK app which dies in the SIGXCPU handler at startup).


You are receiving this mail because:
  • You are the assignee for the bug.
--1377508318.BaD11.32287-- --===============1414377754== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel --===============1414377754==--