On Wed, Sep 18, 2024 at 10:52:09AM +0200, Stefan Fritsch wrote:
> On Tue, 17 Sep 2024, Courtney wrote:
> 
> > I'm trying to sysupgrade current in 2 VMs running on bhyve on SmartOS.
> > I was able sysupgrade these VMs until recently. One VM is
> > GENERIC.MP#242 and the other GENERIC.MP#272.
> > 
> > When I sysupgrade, I hit this error in bhyve
> > 
> > https://github.com/TritonDataCenter/illumos-joyent/blob/master/usr/src/cmd/bhyve/pci_virtio_viona.c#L1016-L1025
> > 
> > And the last messages I get in dmesg are setting up vio0 before bhyve core
> > dumps.
> 
> One of the recent changes introduced an off-by-one. Can you try 
> recompiling the kernel with the diff below and test if that fixes the 
> issue? bhyve should not crash in this case, but then we would not have 
> found the issue.
> 
> If the patch does not help, I would be interested in the boot output of a 
> kernel with VIRTIO_DEBUG set to 1 in sys/dev/pv/virtiovar.h .

ok jan@

> diff --git a/sys/dev/pci/virtio_pci.c b/sys/dev/pci/virtio_pci.c
> index 4a0c9037cf7..fb74bf98601 100644
> --- a/sys/dev/pci/virtio_pci.c
> +++ b/sys/dev/pci/virtio_pci.c
> @@ -284,7 +284,7 @@ virtio_pci_setup_intrs(struct virtio_softc *vsc)
>       if (sc->sc_irq_type == IRQ_NO_MSIX)
>               return;
>  
> -     for (i = 0; i <= vsc->sc_nvqs; i++) {
> +     for (i = 0; i < vsc->sc_nvqs; i++) {
>               unsigned vec = vsc->sc_vqs[i].vq_intr_vec;
>               virtio_pci_set_msix_queue_vector(sc, i, vec);
>       }
> 
> 

Reply via email to