> Very briefly, they are an optimization to avoid a lookup. Instead of > receiving a port name and looking up the associated object from it, > we use protected payloads, which are merely user-assigned arbitrary > values associated to ports, to store the address of the associated > object directly, and that's what you receive instead of the port > name.
I had a vague idea from what I read in the wiki, now it's clearer. Thanks! Finally this bug disappeared after switching to a fresh and newer Hurd image. I guess I broke something after compiling/installing so many libc and gcc versions in my image during the last year. Regards.