Hello, On Tue, Jul 07, 2009 at 09:24:27PM +0300, Sergiu Ivanov wrote: > I tried to set *underlying to MACH_PORT_NULL, but it (in a quite > expected way) refused to work. I then tried to do > > *underlying = underlying_node; > > where underlying_node is a port right describing a port to the > underlying node of the unionfs translator. This led to the following > error: > > unionfs: /var/tmp/hurd-20090404/./libports/complete-deallocate.c:29: > _ports_complete_deallocate: Assertion `(pi->flags & 0x0001) == 0' > failed. > /hurd/filterfs: Translator startup failure: fsys_startup: (ipc/mig) > server died
The problem was that in the code I was testing this idea I accidentally included in the #if 0 ... #endif block the whole port creation port. The error, therefore, appeared not due to reusing a port right (this would have been strange, anyways), but due to the fact that I tried to dereference a port that did not exist :-( I removed the bogus line and it works now. Thanks for your help! Regards, scolobb