Call for pkgsrc help - Firefox broken
Ferruccio Zamuner
nonsolosoft at diff.org
Sat Jul 5 03:48:40 PDT 2008
Hasso Tepper wrote:
/scratch/www/firefox/work/mozilla/security/nss/cmd/shlibsign/DragonFly1.13_OPT.OBJ/shlibsign -v -i /scratch/www/firefox/work/mozilla/dist/lib/libsoftokn3.so
Bus error (core dumped)
make[3]: *** [/scratch/www/firefox/work/mozilla/dist/lib/libsoftokn3.chk]
Error 138
Looking at backtrace of shlibsign.core it seems a recursive function
call that doesn't meet the exit condition:
ore was generated by `shlibsign'.
Program terminated with signal 10, Bus error.
#0 0x280aacb4 in RNG_RNGInit ()
from /usr/obj/pkgsrc/www/firefox/work/mozilla/dist/lib/libssl3.so
(gdb) backtrace
#0 0x280aacb4 in RNG_RNGInit ()
from /usr/obj/pkgsrc/www/firefox/work/mozilla/dist/lib/libssl3.so
#1 0x280aacea in RNG_RNGInit ()
from /usr/obj/pkgsrc/www/firefox/work/mozilla/dist/lib/libssl3.so
#2 0x280aacea in RNG_RNGInit ()
from /usr/obj/pkgsrc/www/firefox/work/mozilla/dist/lib/libssl3.so
[...]
#10139 0x280aacea in RNG_RNGInit ()
from /usr/obj/pkgsrc/www/firefox/work/mozilla/dist/lib/libssl3.so
[...] same as above
/usr/obj/pkgsrc/www/firefox/work/mozilla/security/nss/lib/freebl/prng_fips1861.c,
line 397:
/*
* Initialize the global RNG context and give it some seed input taken
* from the system. This function is thread-safe and will only allow
* the global context to be initialized once. The seed input is likely
* small, so it is imperative that RNG_RandomUpdate() be called with
* additional seed data before the generator is used. A good way to
* provide the generator with additional entropy is to call
* RNG_SystemInfoForRNG(). Note that NSS_Init() does exactly that.
*/
SECStatus
RNG_RNGInit(void)
{
/* Allow only one call to initialize the context */
PR_CallOnce(&coRNGInit, rng_init);
/* Make sure there is a context */
return (globalrng != NULL) ? PR_SUCCESS : PR_FAILURE;
}
and in
/usr/obj/pkgsrc/www/firefox/work/mozilla/security/nss/lib/freebl/loader.c
line: 923:
SECStatus
RNG_RNGInit(void)
{
if (!vector && PR_SUCCESS != freebl_RunLoaderOnce())
return SECFailure;
return (vector->p_RNG_RNGInit)();
}
but in
/usr/obj/pkgsrc/www/firefox/work/mozilla/security/nss/lib/freebl/prng_fips1861.c
there is note:
/* Use NSPR to prevent RNG_RNGInit from being called from separate
* threads, creating a race condition.
*/
static const PRCallOnceType pristineCallOnce;
static PRCallOnceType coRNGInit;
static PRStatus rng_init(void)
{
[...]
}
I hope that this could be usefull as investigation to fix the bug.
bye, \fer
More information about the Users
mailing list