Date: Thu, 20 Mar 2008 21:15:29 +0100 (CET) From: Juergen Lock <nox@jelal.kn-bremen.de> To: olli@lurza.secnetix.de Cc: freebsd-emulation@freebsd.org Subject: Re: qemu coredumps on RELENG_7 Message-ID: <200803202015.m2KKFTBX080186@saturn.kn-bremen.de> In-Reply-To: <200803181152.m2IBq0Ih012824@lurza.secnetix.de> References: <alpine.BSF.1.00.0803171507450.23872@duane.dbq.yournetplus.com>
next in thread | previous in thread | raw e-mail | index | archive | help
In article <200803181152.m2IBq0Ih012824@lurza.secnetix.de> you write: >D Hill <d.hill@yournetplus.com> 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200803202015.m2KKFTBX080186>