Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 21 Mar 2008 18:47:35 +0100
From:      Juergen Lock <nox@jelal.kn-bremen.de>
To:        Kostik Belousov <kostikbel@gmail.com>
Cc:        freebsd-emulation@freebsd.org, olli@lurza.secnetix.de
Subject:   Re: qemu coredumps on RELENG_7
Message-ID:  <20080321174735.GB93037@saturn.kn-bremen.de>
In-Reply-To: <20080320202852.GR10374@deviant.kiev.zoral.com.ua>
References:  <alpine.BSF.1.00.0803171507450.23872@duane.dbq.yournetplus.com> <200803202015.m2KKFTBX080186@saturn.kn-bremen.de> <20080320202852.GR10374@deviant.kiev.zoral.com.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Mar 20, 2008 at 10:28:52PM +0200, Kostik Belousov wrote:
> On Thu, Mar 20, 2008 at 09:15:29PM +0100, Juergen Lock wrote:
> > 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
> Me not :). Better print the message without the module load attempt.

Ok, fine with me, committed.  (the load attempt would only have worked
when running qemu as root and you rarely do that anyway...)

	Juergen



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080321174735.GB93037>