[prev in list] [next in list] [prev in thread] [next in thread] 

List:       prelude-user
Subject:    [prelude-user] "prelude-admin list" segfault due to an
From:       Rumko <rumcic () gmail ! com>
Date:       2008-12-10 10:25:14
Message-ID: gho5eb$oam$1 () ger ! gmane ! org
[Download RAW message or body]

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

Program received signal SIGABRT, Aborted.
0x2832ed88 in kill () at kill.S:2
2       RSYSCALL(kill)
(gdb) bt
#0  0x2832ed88 in kill () at kill.S:2
#1  0x2837a006 in abort () at /usr/src/lib/libc/../libc/stdlib/abort.c:69
#2  0x280a7aaf in prelude_client_profile_get_profile_dirname (cp=0x0,
buf=0xbfbfe554 "", size=1024) at prelude-client-profile.c:518
#3  0x080506c5 in list_cmd (argc=1, argv=0xbfbffa98) at prelude-admin.c:2021
#4  0x08050f12 in main (argc=2, argv=0xbfbffa94) at prelude-admin.c:2213


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     }


P.S.: tried with libprelude 0.9.21.1 as well as 0.9.21.3, both seg fault, but I
only debugged this with the 0.9.21.3 version
P.P.S.: the host system is DragonFly BSD using gcc 4.2.1, am compiling
libprelude wirh both the perl and python modules (but that shouldn't make a
difference right?) and am compiling it from pkgsrc (there are a few patches
for libprelude there but it shouldn't be the source of this problem)
(difference between what I'm compiling and the version accessible in pkgsrc is
only the version of libprelude, no additional patches or anything)

_______________________________________________
Prelude-user site list
Prelude-user@prelude-ids.org
http://lists.prelude-ids.org/mailman/listinfo/prelude-user


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic