Re: "prelude-admin list" segfault due to an uninitialized lock
Yoann Vandoorselaere <[email protected]>
| Newsgroups | gmane.comp.security.ids.prelude.user |
|---|---|
| Message-ID | <1247235485.31201.52.camel@arwen> |
Hi,
Le mercredi 10 décembre 2008 à 11:25 +0100, Rumko a écrit :
> calling "prelude-admin list" results in a segfault ...
>
> the problem is line 518 in prelude-client-profile.c ... it tries to
> lock "lock", but the problem is that variable is null, so phtread_mutex_lock
> (from what i was able to find out, I believe it should be calling that
> function) returns EINVAL ... who should have initialized the lock or where
> should the lock have been initialized? main() in prelude-admin, prelude_init()
> perhaps?
> I'm new to prelude's source code so it's a tad more difficult for me to locate
> the problem without additional directions.
>
> GDB backtrace:
> Starting
> program: /usr/obj/pkgsrc/security/libprelude/work/libprelude-0.9.21.3/prelude-admin/.libs/lt-prelude-admin
> list
[...]
> some more info from GDB:
> Breakpoint 2, prelude_client_profile_get_profile_dirname (cp=0x0,
> buf=0xbfbfe2d4 "", size=1024) at prelude-client-profile.c:509
> 509 const char *prefix, *name_sep = "", *name = "";
> (gdb) s
> 511 prelude_return_if_fail(buf);
> (gdb) s
> 513 if ( cp && cp->name ) {
> (gdb) s
> 518 gl_lock_lock(lock);
> (gdb) print lock
> $1 = (gl_lock_t) 0x0
> (gdb) s
> _pthread_fake_inval () at /usr/src/lib/libc/../libc/gen/pthread_fake.c:163
> 163 }
This is most probably due to a GnuLib glthread implementation issue on
this specific platform. In order to make sure the problem is not fixed
already, could you try to reproduce this issue with libprelude 0.9.24?
Thanks,
--
Yoann Vandoorselaere <[email protected]>
_______________________________________________
Prelude-user site list
[email protected]
http://lists.prelude-ids.org/mailman/listinfo/prelude-user