IRC channel logs

2021-04-19.log

back to list of logs

<fossy><stikonas> fossy: for mes libc FILES variable, do we want one file per line?
<fossy>what about break at column 80?
<stikonas>fossy: yes, that's what I did
<stikonas>+ extra line break when parent folder changes
<fossy>yeah sounds good
<fossy>Ill review again in just a moment
<stikonas>cleaning up remaining texinfo files
<stikonas>but mnaybe in another PR then
<stikonas>this one is already getting big
<stikonas>fossy: oh, there is a typo in commit message...
<stikonas>I can update it
<stikonas>ok, I have no more ideas about the remaining 3 intermittent errors... https://github.com/fosslinux/live-bootstrap/issues
<stikonas>at least we caught the ones that were happening most frequently
<OriansJ`> https://github.com/fosslinux/live-bootstrap/issues/94 perhaps bash redirect pipe failed to flush to disk. checking for vti.tmp in the Post-mortem would either confirm or refute that hypothesis
<OriansJ`>This would be perl failing to write the makefile https://github.com/fosslinux/live-bootstrap/issues/102
<OriansJ`>( or M4 )
<stikonas>yes, and another one is similar with mkdir failure
<stikonas>but it's not clear why...
<stikonas>and I think those runs are in QEMU (initramfs)
<stikonas>so there shouldn't be disk
<OriansJ`> https://github.com/fosslinux/live-bootstrap/issues/103 this seems like a sync to disk bug would issuing sync fix it in testing?
<stikonas>gforce_de1977: can you try inserting sync there?
<stikonas>(after mkdir)
<stikonas>anyway, those errors are infrequent even in gforce_de1977's runs
<stikonas>and gforce_de1977 somehow has higher failure rate for intermittent errors
<OriansJ`>stikonas[m]: well look at how much RAM you are using stikonas[m] and how much gforce_de1977 is.
<OriansJ`>in sufficient memory will reduce RAM caching by the kernel and lead to exposing disk issues.
<stikonas[m]>Hmm, that's true
<OriansJ`>especially if the disk IO is choked by a swapfile and applications doing lots of swapping.
<OriansJ`>All posix kernels have permission to fail on any system call and applications are expected to check syscall returns for errors but most don't
<OriansJ`>So mkdir could have easily gotten an error code and ignored it and happily went on its way to create a bug
<OriansJ`>The same for application writes (which are not being retried)
<OriansJ`>we could tweak our libc to test that hypothesis and have it write to stderr on a write syscall failure and see if the error message we expect shows up.
<Hagfish>that's clever, i've never thought of adding something like that to a libc
<OriansJ`>Hagfish: benefits of bootstrapping. no source is immune from being pried open and being played with, so that we can understand how it works.
<c4droid>Hi, emm, someone know how to use the bootstrap seeds to build something or write some package definitions?
<c4droid>I watched the document, but I still have a little confused
<c4droid>I'm current work on make Linux From Scratch to reproducible, using the guix power, but I stucked at using bootstrap seeds build temp toolchain
<OriansJ`>c4droid: if you look at https://github.com/oriansj/mescc-tools/blob/master/mescc-tools.scm you'll see you can use guix to just run a straight make
<c4droid>OriansJ`: I watch that, maybe I should make some research for it
<c4droid>OriansJ`: Hi, I just take some research, first using mes tool to build guix, then build the lfs cross toolchain, and build the lfs final system, it's that right?
<c4droid>mes tool->guix-mesboot->lfs-cross-toolchain(guix-mesboot)->lfs-final-system(guix-mesboot+lfs-cross-toolchain)
<c4droid>maybe I wrong..
<gforce_d11977>stikonas: ok, will add a 'sync' after each 'mkdir' too see if it helps. OriansJ: let me first check if a 'sync' helps, if not we can output every write syscall error using stderr
***ChanServ sets mode: +o rekado_
***rekado_ is now known as rekado
***roptat_ is now known as roptat
***terpri_ is now known as terpri
<bauen1> /18
<OriansJ`>c4droid: hopefully I am understanding you correctly but you appear to wish to be doing a full bootstrap for Linux from Scratch; in which case you probably wish to follow these steps: https://github.com/fosslinux/live-bootstrap/ which have the following dependency graph: https://github.com/oriansj/talk-notes/blob/master/live-bootstrap.pdf and from which you should be able to do a full Linux from Scratch using the version of GCC
<OriansJ`>produced. For Guix is different than Linux from Scratch and implements a different bootstrap map: https://github.com/oriansj/talk-notes/blob/master/Current%20bootstrap%20map.pdf and requires a static guile binary as well to drive the steps (and it does use pregenerated files as of right now.)