Re: libdiskfs assertion failed
Sergey Bugaev writes: > On Wed, Jun 14, 2023, 20:38 Joshua Branson wrote: >> Then I added this line above line 107 in extfs: >> ../../libdiskfs/disk-pager.c >> >> if (scp->sc_error != EKERN_MEMORY_ERROR) >> fprintf(stderr, "error %d\n", scp->sc_error); >> >> Then I build the hurd via >> cd hurd-09.git/ >> dpkg-buildpackage -us -uc -nc -b -rfakeroot >> sudo dpkg -i ../*deb >> >> Then I rebooted. Then I shut down the hurd, and I got the same error >> message: >> >> >> error 2 >> extfs: ../../libdiskfs/disk-pager.c:112: fault_handler: Assertion >> 'scp->sc_error = 10' failed. >> startup: halting Hurd... > > Error code 2 is KERN_PROTECTION_FAILURE, most likely writing to > read-only memory. You should also print the faulting instruction > address (scp->sc_eip) and the faulting address (sigcode). See how it's > done in the error () call above. > > It would be easier for you to debug if you add an infinite loop after > the fprintf, so the system would just hang at that point. Then you > could attach GDB and inspect things. > > Sergey > I have not seen this error message for perhaps two or three weeks. I'm guessing someone fixed this tiny bug. Thanks! -- Joshua Branson Sent from the Hurd
Re: libdiskfs assertion failed
On Wed, Jun 14, 2023, 20:38 Joshua Branson wrote: > Then I added this line above line 107 in extfs: > ../../libdiskfs/disk-pager.c > > if (scp->sc_error != EKERN_MEMORY_ERROR) > fprintf(stderr, "error %d\n", scp->sc_error); > > Then I build the hurd via > cd hurd-09.git/ > dpkg-buildpackage -us -uc -nc -b -rfakeroot > sudo dpkg -i ../*deb > > Then I rebooted. Then I shut down the hurd, and I got the same error > message: > > > error 2 > extfs: ../../libdiskfs/disk-pager.c:112: fault_handler: Assertion > 'scp->sc_error = 10' failed. > startup: halting Hurd... Error code 2 is KERN_PROTECTION_FAILURE, most likely writing to read-only memory. You should also print the faulting instruction address (scp->sc_eip) and the faulting address (sigcode). See how it's done in the error () call above. It would be easier for you to debug if you add an infinite loop after the fprintf, so the system would just hang at that point. Then you could attach GDB and inspect things. Sergey
Re: libdiskfs assertion failed
Samuel Thibault writes: > Joshua Branson, le ven. 26 mai 2023 11:02:44 -0400, a ecrit: >> Samuel Thibault writes: >> > Joshua Branson, le jeu. 25 mai 2023 22:32:24 -0400, a ecrit: >> >> So I updated my T43 to the bleeding edge Debian in real hardware, which >> >> come on that is pretty cool! The update process was pretty easy. I >> >> will describe that in the postscript. I did get this error recently >> >> when I shutdown the Hurd: >> >> >> >> extfs: ../../libdiskfs/disk-pager.c:107: fault_handler: Assertion >> >> 'scp->sc_error = 10' failed. >> > >> > Mmm, perhaps you can make it print the scp->sc_error value so we get an >> > idea of what that is? >> >> How would I go about printing that scp->sc_error value? > > Add before the assert > > if (scp->sc_error != EKERN_MEMORY_ERROR) > fprintf(stderr, "error %d\n", scp->sc_error); > > and rebuild. > >> I am running this in machine in real hardware. I get that error message >> after I run "sudo poweroff". I see that error message right before the >> Hurd gets halted. I imagine I need to turn on the kernel debugger to >> print that value. > > It'll be hard to catch it from the kernel, which doesn't really care > much when some program exits. > So I built the hurd via the usual: apt source hurd apt install fakeroot build-essential Then I added this line above line 107 in extfs: ../../libdiskfs/disk-pager.c if (scp->sc_error != EKERN_MEMORY_ERROR) fprintf(stderr, "error %d\n", scp->sc_error); Then I build the hurd via cd hurd-09.git/ dpkg-buildpackage -us -uc -nc -b -rfakeroot sudo dpkg -i ../*deb Then I rebooted. Then I shut down the hurd, and I got the same error message: error 2 extfs: ../../libdiskfs/disk-pager.c:112: fault_handler: Assertion 'scp->sc_error = 10' failed. startup: halting Hurd... You will notice that the line number changed. The error message used to be at line 107 and now it is at line 112. Is there a log file that I should check? Thanks, Joshua -- Joshua Branson Sent from the Hurd
Re: libdiskfs assertion failed
Joshua Branson, le ven. 26 mai 2023 11:02:44 -0400, a ecrit: > Samuel Thibault writes: > > Joshua Branson, le jeu. 25 mai 2023 22:32:24 -0400, a ecrit: > >> So I updated my T43 to the bleeding edge Debian in real hardware, which > >> come on that is pretty cool! The update process was pretty easy. I > >> will describe that in the postscript. I did get this error recently > >> when I shutdown the Hurd: > >> > >> extfs: ../../libdiskfs/disk-pager.c:107: fault_handler: Assertion > >> 'scp->sc_error = 10' failed. > > > > Mmm, perhaps you can make it print the scp->sc_error value so we get an > > idea of what that is? > > How would I go about printing that scp->sc_error value? Add before the assert if (scp->sc_error != EKERN_MEMORY_ERROR) fprintf(stderr, "error %d\n", scp->sc_error); and rebuild. > I am running this in machine in real hardware. I get that error message > after I run "sudo poweroff". I see that error message right before the > Hurd gets halted. I imagine I need to turn on the kernel debugger to > print that value. It'll be hard to catch it from the kernel, which doesn't really care much when some program exits. > >> #+BEGIN_SRC shell > >> wget > >> http://ftp.de.debian.org/debian/pool/main/d/debian-ports-archive-keyring/debian-ports-archive-keyring_2023.02.01_all.deb > >> #+END_SRC > > > > Rather use https > > > >> #+BEGIN_SRC > >> apt-get update > >> apt-get dist-upgrade > >> #+END_SRC > >> > >> The "apt-get dist-upgrade" command did fail for me. > > > > How did it fail? > > I wish I had written it down. It downloaded all the packages, then > tried to update gnumach, then that failed and it said that I needed to > upgrade gnumach, reboot, update libc, then upgrade the Hurd. Or > something like that. Which image did you start from? There used to be this upgrading process yes, but that dates back glibc 2.33, not glibc 2.34. Samuel
Re: libdiskfs assertion failed
Samuel Thibault writes: > Hello, > > Joshua Branson, le jeu. 25 mai 2023 22:32:24 -0400, a ecrit: >> So I updated my T43 to the bleeding edge Debian in real hardware, which >> come on that is pretty cool! The update process was pretty easy. I >> will describe that in the postscript. I did get this error recently >> when I shutdown the Hurd: >> >> extfs: ../../libdiskfs/disk-pager.c:107: fault_handler: Assertion >> 'scp->sc_error = 10' failed. > > Mmm, perhaps you can make it print the scp->sc_error value so we get an > idea of what that is? I am definitely game to help you figure out what that is, because it seems to be happening everytime I turn off this machine. It does not seem to be a massively terrible bug, but it is there. How would I go about printing that scp->sc_error value? I am running this in machine in real hardware. I get that error message after I run "sudo poweroff". I see that error message right before the Hurd gets halted. I imagine I need to turn on the kernel debugger to print that value. > >> #+BEGIN_SRC shell >> wget >> http://ftp.de.debian.org/debian/pool/main/d/debian-ports-archive-keyring/debian-ports-archive-keyring_2023.02.01_all.deb >> #+END_SRC > > Rather use https > >> #+BEGIN_SRC >> apt-get update >> apt-get dist-upgrade >> #+END_SRC >> >> The "apt-get dist-upgrade" command did fail for me. > > How did it fail? I wish I had written it down. It downloaded all the packages, then tried to update gnumach, then that failed and it said that I needed to upgrade gnumach, reboot, update libc, then upgrade the Hurd. Or something like that. It said something about hurd-dev package depending on libc, which needed to be a later version. It was pretty sly of apt to tell me to run "apt --fix-broken install", because that just worked. > The Debian release notes recommend to run > > apt upgrade --without-new-pkgs > > before apt dist-upgrade good to know! sounds like I need to update the qemu page that shows how to use the rumpkernel again... > > Samuel > -- Joshua Branson Sent from the Hurd
Re: libdiskfs assertion failed
Hello, Joshua Branson, le jeu. 25 mai 2023 22:32:24 -0400, a ecrit: > So I updated my T43 to the bleeding edge Debian in real hardware, which > come on that is pretty cool! The update process was pretty easy. I > will describe that in the postscript. I did get this error recently > when I shutdown the Hurd: > > extfs: ../../libdiskfs/disk-pager.c:107: fault_handler: Assertion > 'scp->sc_error = 10' failed. Mmm, perhaps you can make it print the scp->sc_error value so we get an idea of what that is? > #+BEGIN_SRC shell > wget > http://ftp.de.debian.org/debian/pool/main/d/debian-ports-archive-keyring/debian-ports-archive-keyring_2023.02.01_all.deb > #+END_SRC Rather use https > #+BEGIN_SRC > apt-get update > apt-get dist-upgrade > #+END_SRC > > The "apt-get dist-upgrade" command did fail for me. How did it fail? The Debian release notes recommend to run apt upgrade --without-new-pkgs before apt dist-upgrade Samuel
libdiskfs assertion failed
Hey friends! So I updated my T43 to the bleeding edge Debian in real hardware, which come on that is pretty cool! The update process was pretty easy. I will describe that in the postscript. I did get this error recently when I shutdown the Hurd: extfs: ../../libdiskfs/disk-pager.c:107: fault_handler: Assertion 'scp->sc_error = 10' failed. The above error did not seem to cause any major issues, but I just wanted to let ya'll know. Thanks, Joshua P.S. The upgrade process that I went through (it was really easy actually): I mostly copied Janneke's advice: #+BEGIN_SRC shell wget http://ftp.de.debian.org/debian/pool/main/d/debian-ports-archive-keyring/debian-ports-archive-keyring_2023.02.01_all.deb dpkg -i debian-ports-archive-keyring_2023.02.01_all.deb #+END_SRC Then I added the proper sources to my /etc/apt/sources.list deb http://deb.debian.org/debian-ports unstable main deb-src http://deb.debian.org/debian unstable main deb http://deb.debian.org/debian-ports unreleased main #+BEGIN_SRC apt-get update apt-get dist-upgrade #+END_SRC The "apt-get dist-upgrade" command did fail for me. I rebooted, and then apt told me to run "apt --fix-broken install". That actually seemed to upgrade everthing propery.. Then I ran "apt upgrade" and all my packages were upgraded. #+BEGIN_SRC shell uname -a #+END_SRC #+RESULTS: : GNU debian 0.9 GNU-Mach 1.8+git20230520-486/Hurd-0.9 i686-AT386 GNU -- Joshua Branson Sent from the Hurd on real hardware It's a T43 (1.5 GB RAM)