From owner-freebsd-emulation@FreeBSD.ORG Thu Mar 20 20:18:33 2008 Return-Path: Delivered-To: freebsd-emulation@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B3E2F106566C for ; Thu, 20 Mar 2008 20:18:33 +0000 (UTC) (envelope-from nox@saturn.kn-bremen.de) Received: from gwyn.kn-bremen.de (gwyn.kn-bremen.de [212.63.36.242]) by mx1.freebsd.org (Postfix) with ESMTP id 374B28FC1D for ; Thu, 20 Mar 2008 20:18:32 +0000 (UTC) (envelope-from nox@saturn.kn-bremen.de) Received: by gwyn.kn-bremen.de (Postfix, from userid 10) id 9517C2A4B50; Thu, 20 Mar 2008 21:18:30 +0100 (CET) Received: from saturn.kn-bremen.de (nox@localhost [127.0.0.1]) by saturn.kn-bremen.de (8.14.2/8.13.8) with ESMTP id m2KKFUKL080187; Thu, 20 Mar 2008 21:15:30 +0100 (CET) (envelope-from nox@saturn.kn-bremen.de) Received: (from nox@localhost) by saturn.kn-bremen.de (8.14.2/8.13.6/Submit) id m2KKFTBX080186; Thu, 20 Mar 2008 21:15:29 +0100 (CET) (envelope-from nox) Date: Thu, 20 Mar 2008 21:15:29 +0100 (CET) From: Juergen Lock Message-Id: <200803202015.m2KKFTBX080186@saturn.kn-bremen.de> To: olli@lurza.secnetix.de X-Newsgroups: local.list.freebsd.emulation In-Reply-To: <200803181152.m2IBq0Ih012824@lurza.secnetix.de> References: Organization: home Cc: freebsd-emulation@freebsd.org Subject: Re: qemu coredumps on RELENG_7 X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Mar 2008 20:18:33 -0000 In article <200803181152.m2IBq0Ih012824@lurza.secnetix.de> you write: >D Hill wrote: > > Rick C. Petty wrote: > > > Oliver Fromme wrote: > > > > Kostik Belousov wrote: > > > > > > > > > > Definitely, > > > > > kldload aio > > > > > before running qemu. > > > > > > > > Thank you, that seems to solve the problem indeed. > > > > Is that documented somewhere? It's not in the manpage. > > > > I think it should be in the manpage ... would have > > > > saved me quite some time. > > > Actually it is also documented in the pkg-message of the port(s), but apparently nobody reads that... (OK I could patch a pointer to that into the manpage, do other ports do that?) > > > Nope. It should be, or at least qemu should fail to start or at least > > > print a message instead of just randomly failing. > >Definitely. > > > > I ran into the same problem and only after spending hours trying to get it > > > to work did I remember to kldload aio. > > > > I don't know if this applies. However, I found this in > > /usr/ports/UPDATING: > > > > 20070206: > >It applies, but I think someone who installs qemu now >isn't supposed to read UPDATING all the way back to >February 2007. In fact, for fresh installs you should >not have to read UPDATING _at_ _all_. > >Important information like this should be in the manual >page, and -- as Rick pointed out -- the failure mode is >pathetic. It should print a useful error message right >at the start instead of randomly failing later. Anyway, this was easier than I thought: (it didn't occur to me that modfind(2) also finds modules that are statically linked into the kernel...) Index: qemu/vl.c @@ -8423,6 +8423,12 @@ nb_nics = 0; /* default mac address of the first network interface */ +#ifdef __FreeBSD__ + loadmodules(0, "aio", NULL); + if (modfind("aio") == -1) + fprintf(stderr, "warning: aio not (kld)loaded, may cause `Invalid system call' traps on disk IO\n"); +#endif + optind = 1; for(;;) { if (optind >= argc) Would everybody be satisfied with this now? :) Juergen