Re: libdiskfs assertion failed

2023-09-14 Thread Joshua Branson
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

2023-06-14 Thread Sergey Bugaev
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

2023-06-14 Thread Joshua Branson
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

2023-05-27 Thread Samuel Thibault
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

2023-05-26 Thread Joshua Branson
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

2023-05-26 Thread Samuel Thibault
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

2023-05-25 Thread Joshua Branson


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)