IRC channel logs

2022-02-26.log

back to list of logs

<damo22>youpi: how do you know where to protect a thread with mutexes when making it multithreaded?
<damo22>i mean in the context of a translator like rumpdisk
<damo22>also, when you take the mutex, what is supposed to happen when it's already locked? EBUSY?
<damo22>demo@zamhurd:~$ sudo grub-install /dev/wd0
<damo22>Installing for i386-pc platform.
<damo22>grub-install: error: cannot find a GRUB drive for part:2:device:wd0. Check your device.map.
<youpi>damo22: when you take a mutex, as long as it's busy the mutex_lock call blocks
<youpi>so you don't have to care
<youpi>you have to protect any shared data structure
<youpi>so e.g. a list of things
<youpi>between someone that adds something to it and someone that reads it
<youpi>I'd need a backtrace etc. for the grub issue, I'm not getting this
<damo22>do you use part:2:device:wd0 in your root= or do you use /dev/wd0s2
<youpi>part:2:device:wd0
<youpi>but update-grub doesn't look at that
<damo22>thats strange because i do too, but /etc/mtab says /dev/wd0s2
<youpi>it looks at the ext2fsb mount
<youpi>which says wd0s2
<damo22>how can grub detect part:2:...
<damo22>it prints that in its error message
<damo22>when you say you need a backtrace, it does not crash so where would you like the trace?
<youpi>going through the code
<youpi>to see where it gets that info from
<damo22>ok
<damo22>is this what i test? https://git.savannah.gnu.org/git/grub.git/
<damo22>or do i go through the debian package
<damo22>grub_util_get_grub_dev
<damo22>has 3 methods
<damo22>it tries 3 different ways to get the disk from the device
<damo22>grub-install has no debug symbols
<damo22>0x08121409 in grub_util_biosdisk_get_grub_dev ()
<damo22>(gdb) bt
<damo22>#0 0x08121409 in grub_util_biosdisk_get_grub_dev ()
<damo22>#1 0x081210f2 in grub_util_get_grub_dev ()
<damo22>#2 0x0803f875 in main ()
<damo22>it goes through all three
<damo22>Thread 4 hit Breakpoint 2, 0x08121cb9 in grub_util_find_hurd_root_device ()
<damo22>(gdb) bt
<damo22>#0 0x08121cb9 in grub_util_find_hurd_root_device ()
<damo22>#1 0x0812233e in grub_guess_root_devices ()
<damo22>#2 0x0803f7c2 in main ()
<damo22>i cant get debugging symbols :|
<youpi>did you install the -dbgsym packages?
<damo22>yes
<damo22>i installed grub*dbg*
<damo22>not via that command but i searched the list and installed htme
<youpi>I have found missing parsing for part: before device:
<youpi>I have uploaded a fixed package to debian-ports
<damo22>\o/
<youpi>I have uploaded them on http://dept-info.labri.fr/~thibault/tmp/ if you want to give it a try
<youpi>you should only need grub-common and grub2-common
<damo22>grub-install: error: Storage information for `/dev/wd0s2' does not include type.
<youpi>usually you'd install on /dev/wd0 not /dev/wd0s2
<damo22>i did /dev/wd0
<damo22>demo@zamhurd:~$ sudo grub-install /dev/wd0
<damo22>Installing for i386-pc platform.
<damo22>grub-install: error: Storage information for `/dev/wd0s2' does not include type.
<youpi>I'm not getting this with a freshl yinstalled system
<youpi>and grub-common grub2-common version +hurd.6
<damo22>ok
<damo22>should i reboot and try again?
<youpi>I don't think that'll change anything
<youpi>the diff between +hurd.5 and +hurd.6 is in the parsing, not grub.Cfg generation
*youpi gotta sleep
<damo22>goonight
<damo22>goodnight*
<damo22>i had the wrong settrans on /dev/wd0s2
<damo22>demo@zamhurd:~$ showtrans /dev/wd0s2
<damo22>/hurd/storeio -T typed part:2:device:@/dev/disk:/dev/wd0
<damo22>should have been /hurd/storeio -T typed part:2:device:@/dev/disk:wd0
<damo22>fixed
<damo22>+hurd.6 works!
<damo22>demo@zamhurd:~$ showtrans /dev/wd0s2
<damo22>/hurd/storeio -T typed part:2:device:@/dev/disk:wd0
<damo22>demo@zamhurd:~$ sudo grub-install /dev/wd0
<damo22>Installing for i386-pc platform.
<damo22>Installation finished. No error reported.
<damo22>how do you ensure that the mutex only applies per thread? do you have to make it a global?
<damo22>i think my mutex patch might fix the refcount even though multithreading is not enabled yet
<youpi>damo22: a mutex has to be global otherwise it's useless :)
<youpi>yes, that'd fix the refcount as well
<damo22>i sent in a patch :)
<damo22>here's an example of what you can do with 12 microphones and only free software: https://zamaudio.com/mbox2/chimes_20220226.flac i hope to be able to use Hurd for this kind of thing one day :)
<biblio>damo22: I believe soon. :)
<youpi>if anybody sees curiosa, tell that +hurd.6 should solving the issue
<user_oreloznog>damo22: Nice!
<Jari-->hi all + Richard Stallman friends
<Jari-->Personally I am building a CP/M Plus revision of 2022.
<Jari-->X86 based OS.
***Guest8046 is now known as roptat
<ThinkT510>Jari--: got a public repo to follow?
<spk121>CP/M was my first OS. All I remember is that there was a command called 'pip' and a word processor called WordStar
<Gooberpatrol66>damo22: that's a really awesome song