[Pidgin] #442: Program received signal SIGSEGV on startup, pidgin-2.0.0beta7 on FreeBSD (compiled manually, not through Ports)
Pidgin
trac at pidgin.im
Tue May 1 15:33:46 EDT 2007
#442: Program received signal SIGSEGV on startup, pidgin-2.0.0beta7 on FreeBSD
(compiled manually, not through Ports)
-------------------------+--------------------------------------------------
Reporter: fongsaiyuk | Owner:
Type: defect | Status: new
Priority: minor | Milestone:
Component: libpurple | Version: 2.0
Resolution: | Keywords:
Pending: 0 |
-------------------------+--------------------------------------------------
Comment (by fongsaiyuk):
All right, the problem definitely seems to be with Mozilla nss.
Compiling with the options
{{{
env CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib ./configure
--prefix=/usr/test --disable-gstreamer
}}}
Yields a segfault when I attempt to start pidgin, and the following
backtrace:
{{{
(gdb) run
Starting program: /usr/test/bin/pidgin
warning: Unable to get location for thread creation breakpoint: generic
error
[New LWP 100065]
[New Thread 0x80e6000 (LWP 100125)]
[New Thread 0x80e6200 (LWP 100123)]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x80e6000 (LWP 100124)]
0x291cf139 in PR_Lock () from /usr/local/lib/libplds4.so.1
(gdb) bt full
#0 0x291cf139 in PR_Lock () from /usr/local/lib/libplds4.so.1
No symbol table info available.
#1 0x291f5698 in PR_CallOnce () from /usr/local/lib/libplc4.so.1
No symbol table info available.
#2 0x298d8d92 in RNG_RNGInit () from /usr/local/lib/nss/libfreebl3.so.1
No symbol table info available.
#3 0x29521205 in RNG_RNGInit () from /usr/local/lib/nss/libsoftokn3.so.1
No symbol table info available.
#4 0x2950f009 in nsc_CommonInitialize ()
from /usr/local/lib/nss/libsoftokn3.so.1
No symbol table info available.
#5 0x2950f231 in NSC_Initialize () from
/usr/local/lib/nss/libsoftokn3.so.1
No symbol table info available.
#6 0x293db0d3 in secmod_ModuleInit () from
/usr/local/lib/nss/libnss3.so.1
No symbol table info available.
#7 0x293db301 in SECMOD_LoadPKCS11Module ()
from /usr/local/lib/nss/libnss3.so.1
No symbol table info available.
#8 0x293e2a77 in SECMOD_LoadModule () from
/usr/local/lib/nss/libnss3.so.1
No symbol table info available.
#9 0x293e2c16 in SECMOD_LoadModule () from
/usr/local/lib/nss/libnss3.so.1
No symbol table info available.
#10 0x293c5ad7 in nss_Init () from /usr/local/lib/nss/libnss3.so.1
No symbol table info available.
#11 0x293c5e1c in NSS_NoDB_Init () from /usr/local/lib/nss/libnss3.so.1
No symbol table info available.
#12 0x297516be in plugin_load (plugin=0x8147800) at ssl-nss.c:111
No locals.
#13 0x2891bc96 in purple_plugin_load (plugin=0x8147800) at plugin.c:619
loader = (PurplePlugin *) 0x16
loader_info = (PurplePluginLoaderInfo *) 0x16
dep_list = (GList *) 0x0
l = (GList *) 0x0
__PRETTY_FUNCTION__ = "purple_plugin_load"
#14 0x2891d2ce in purple_plugins_load_saved (
key=0x16 <Error reading address 0x16: Bad address>) at plugin.c:1285
basename = 0x81314c0 "ssl-nss"
plugin = (PurplePlugin *) 0x8147800
f = (GList *) 0x821b8b0
files = (GList *) 0x821baa0
__PRETTY_FUNCTION__ = "purple_plugins_load_saved"
#15 0x080a455e in main (argc=1, argv=0xbfbfeb8c) at gtkmain.c:747
opt_help = 0
opt_login = 0
opt_nologin = 0
opt_version = 0
opt_config_dir_arg = 0x0
opt_login_arg = 0x0
opt_session_arg = 0x0
search_path = 0x8118180 "/usr/test/lib/pidgin/"
accounts = (GList *) 0x8118180
sig_indx = 135364992
sigset = {__bits = {549895, 0, 0, 0}}
prev_sig_disp = (void (*)(int)) 0x16
errmsg =
"\036p(T翿\225\r(\006\177\032(!\v\000\000\000j\001X\017(\000k(\000\000\000\000t翿\024\r(\n(S38\a\000j(\001\000\000\000\210\032($\016\000\000\000j\001\005\r(!\021\021((\n(\225\r(\003($\016\000\000\224\001X\017(\000k(\000\000\000\000翿\024\r(!\021\021(\017S\216\a\000j(\001\000\000\000'('(\000`\016\b\000j(\005>\001\017S\216\a!\021\021(X\017(\004\016\021(\000\000\000\000迿\r(H\017(迿\001\000\000\000"...
segfault_message_tmp = 0x8118180 "/usr/test/lib/pidgin/"
error = (GError *) 0x0
opt = 22
gui_check = 22
debug_enabled = 0
migration_failed = 0
long_options = {{name = 0x80d5d14 "config", has_arg = 1, flag =
0x0,
val = 99}, {name = 0x80c98de "debug", has_arg = 0, flag = 0x0, val =
100},
{name = 0x80cb03e "help", has_arg = 0, flag = 0x0, val = 104}, {
name = 0x80c919b "login", has_arg = 2, flag = 0x0, val = 108}, {
name = 0x80d2a0b "nologin", has_arg = 0, flag = 0x0, val = 110}, {
name = 0x80d5d0a "session", has_arg = 1, flag = 0x0, val = 115}, {
name = 0x80cc9a5 "version", has_arg = 0, flag = 0x0, val = 118}, {
name = 0x0, has_arg = 0, flag = 0x0, val = 0}}
(gdb) quit
The program is running. Exit anyway? (y or n) y
}}}
I realize that's not the most useful backtrace (no symbol table info
available for most of these, just like the first one I posted).
I noticed that configure enables both Mozilla nss and GnuTLS by default,
so I recompiled pidgin yet again with the option --disable-gnutls
explicitly set just to rule out the possibility that the segfault was
caused by a conflict between nss and gnutls. When I did this, pidgin
segfaulted at startup just like before, but oddly enough I was unable to
obtain a backtrace. gdm exited with the following error:
{{{
(gdb) run
Starting program: /usr/test/bin/pidgin
warning: Unable to get location for thread creation breakpoint: generic
error
[New LWP 100079]
[New Thread 0x80e6000 (LWP 100079)]
[New Thread 0x80e6200 (LWP 100121)]
gdb in realloc(): error: pointer to wrong page
zsh: abort gdb /usr/test/bin/pidgin
}}}
If I can be of more help, please let me know (i.e. what I should do in
order to obtain symbol table info from gdm). The issue is definitely
related to having Mozilla nss enabled, though.
--
Ticket URL: <http://developer.pidgin.im/ticket/442#comment:4>
Pidgin <http://pidgin.im>
Pidgin
More information about the Tracker
mailing list