qemu coredumps on RELENG_7
Kostik Belousov
kostikbel at gmail.com
Thu Mar 20 20:29:10 UTC 2008
On Thu, Mar 20, 2008 at 09:15:29PM +0100, Juergen Lock wrote:
> In article <200803181152.m2IBq0Ih012824 at lurza.secnetix.de> you write:
> >D Hill <d.hill at 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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-emulation/attachments/20080320/e8860ada/attachment.pgp
More information about the freebsd-emulation
mailing list