libthr or libgthread (devel/glib20) bug?
Jeremy Messenger
mezz7 at cox.net
Wed Jun 4 17:12:00 PDT 2003
Any apps that are depending on libgthread-2.0.so.200 always will crash if
it's linking to libthr (using libmap.conf). My previous email about gst-
register, it will not crash anymore if I set libgthread links to libc_r
instead libthr. All ports that I have installed have been compiled with the
debug (-g). Anyway, here's gdb info of ggv:
===============================
% gdb ggv
(gdb) r
Starting program: /usr/X11R6/bin/ggv
GThread-ERROR **: file gthread-posix.c: line 135 (): error 'Invalid
argument' during 'pthread_getschedparam (pthread_self(), &policy, &sched)'
aborting...
Program received signal SIGABRT, Aborted.
0x28ab3313 in kill () at {standard input}:15
15 {standard input}: No such file or directory.
in {standard input}
Current language: auto; currently asm
(gdb) bt
#0 0x28ab3313 in kill () at {standard input}:15
#1 0x28b1eecc in abort () at /usr/src/lib/libc/stdlib/abort.c:72
#2 0x288824fb in g_logv (log_domain=0x288571c1 "GThread",
log_level=G_LOG_LEVEL_ERROR, format=0x0, args1=0x0) at gmessages.c:508
#3 0x288825c4 in g_log (log_domain=0x0, log_level=0, format=0x0)
at gmessages.c:527
#4 0x2885542e in g_thread_impl_init () at gthread-posix.c:135
#5 0x28856692 in g_thread_init (init=0x0) at gthread-impl.c:330
#6 0x282b382b in bonobo_activation_pre_args_parse (program=0x0,
mod_info=0x0)
at gnome-init.c:117
#7 0x282af903 in gnome_program_preinit (program=0x8057af0,
app_id=0x8057be4 "", app_version=0x0, argc=1, argv=0xbfbffbc4)
at gnome-program.c:1322
#8 0x282b0698 in gnome_program_initv (type=134595648, app_id=0x0,
app_version=0x0, module_info=0x8057af0, argc=1, argv=0xbfbffbc4,
first_property_name=0x0, args=0x0) at gnome-program.c:1871
#9 0x282b031a in gnome_program_init (
app_id=0x2f6 <Error reading address 0x2f6: Bad address>,
app_version=0x2f6 <Error reading address 0x2f6: Bad address>,
module_info=0x2f6, argc=758, argv=0x2f6,
first_property_name=0x2f6 <Error reading address 0x2f6: Bad address>)
at gnome-program.c:1679
#10 0x0804f9e7 in main (argc=1, argv=0xbfbffbc4) at main.c:202
---Type <return> to continue, or q <return> to quit---
#11 0x0804c979 in _start ()
===============================
Here's gthread-posix.c source codes look like.. I don't know if it helps,
but at least I am trying..
100 to 146 line:
===============================
#if defined (POSIX_MIN_PRIORITY) && defined (POSIX_MAX_PRIORITY)
# define HAVE_PRIORITIES 1
static gint priority_normal_value;
# ifdef __FreeBSD__
/* FreeBSD threads use different priority values from the POSIX_
* defines so we just set them here. The corresponding macros
* PTHREAD_MIN_PRIORITY and PTHREAD_MAX_PRIORITY are implied to be
* exported by the docs, but they aren't.
*/
# define PRIORITY_LOW_VALUE 0
# define PRIORITY_URGENT_VALUE 31
# else /* !__FreeBSD__ */
# define PRIORITY_LOW_VALUE POSIX_MIN_PRIORITY
# define PRIORITY_URGENT_VALUE POSIX_MAX_PRIORITY
# endif /* !__FreeBSD__ */
# define PRIORITY_NORMAL_VALUE priority_normal_value
#endif /* POSIX_MIN_PRIORITY && POSIX_MAX_PRIORITY */
static gulong g_thread_min_stack_size = 0;
#define G_MUTEX_SIZE (sizeof (pthread_mutex_t))
#if defined(_SC_THREAD_STACK_MIN) || defined (HAVE_PRIORITIES)
#define HAVE_G_THREAD_IMPL_INIT
static void
g_thread_impl_init()
{
#ifdef _SC_THREAD_STACK_MIN
g_thread_min_stack_size = MAX (sysconf (_SC_THREAD_STACK_MIN), 0);
#endif /* _SC_THREAD_STACK_MIN */
#ifdef HAVE_PRIORITIES
# ifdef G_THREADS_IMPL_POSIX
{
struct sched_param sched;
int policy;
posix_check_cmd (pthread_getschedparam (pthread_self(), &policy,
&sched)); <-- 135 line
priority_normal_value = sched.sched_priority;
}
# else /* G_THREADS_IMPL_DCE */
posix_check_cmd (priority_normal_value =
pthread_getprio (*(pthread_t*)thread,
g_thread_priority_map [priority]));
# endif
#endif /* HAVE_PRIORITIES */
}
#endif /* _SC_THREAD_STACK_MIN || HAVE_PRIORITIES */
===============================
CVSup'ed around 30 - 45 minutes ago and buildworld/recompile kernel..
===============================
# uname -a
FreeBSD personal.mezzweb.com 5.1-CURRENT FreeBSD 5.1-CURRENT #0: Wed Jun 4
18:30:22 CDT 2003
mezz at personal.mezzweb.com:/usr/obj/usr/src/sys/BSDRULZ i386
===============================
Cheers,
Mezz
--
bsdforums.org 's moderator, mezz.
More information about the freebsd-gnome
mailing list