Re: newfs silently fails if random is not ready (?)

From: Lev Serebryakov <lev_at_FreeBSD.org>
Date: Wed, 5 Sep 2018 00:10:35 +0300
Hello Conrad,

Wednesday, September 5, 2018, 12:05:43 AM, you wrote:

> On Tue, Sep 4, 2018 at 1:55 PM, Lev Serebryakov <lev_at_freebsd.org> wrote:
>> Tuesday, September 4, 2018, 11:37:59 PM, you wrote:
>>> Is newfs tripping on a raise()/abort() in arc4random(3) /
>>> getentropy(3)?
>>   Nope, it is silently does nothing

> I think it is tripping on raise/abort() in one of these routines, but
> nothing is printing that information.  See below.
 Maybe, it should be fixed? One second after that random is ready to use and
newfs works as intended. It is, really, some race between early init script
(rc.initdiskless) and kernel. I don't think, that newfs must be
killed/aborted in such situation, it could wait!

>>>   Is your program that runs newfs checking for non-zero
>>> exit status?
>>   It is not "my" program, it is system mdmfs(8), and it checks exit
>>  statuses, as far as I can see from source code.

> Ah, thanks.  I missed this.  mdmfs(8) has a bug in its run() function.
> It treats programs that exit with a signal (KILL, ABRT, ILL, SEGV...)
> the same as programs that exit with success.  This is a (major)
> problem and the reason raise/abort is not visible.
 And it is another problem. But if it will be fixed, it doesn't help to init
system properly in my case, only diagnostic will be better.

-- 
Best regards,
 Lev                            mailto:lev_at_FreeBSD.org
Received on Tue Sep 04 2018 - 19:10:36 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:18 UTC