diff options
author | Karel Klic <kklic@redhat.com> | 2010-10-14 16:36:12 +0200 |
---|---|---|
committer | Karel Klic <kklic@redhat.com> | 2010-10-14 16:36:12 +0200 |
commit | 43c74514d0faa39d343a26f39f31ec7689334b7b (patch) | |
tree | 700b3a6a06e3dc02ea94e558cdf46f25144915de /tests | |
parent | 704a86ddf32df845f7eca34bcb727e398dce8fa2 (diff) | |
download | abrt-43c74514d0faa39d343a26f39f31ec7689334b7b.tar.gz abrt-43c74514d0faa39d343a26f39f31ec7689334b7b.tar.xz abrt-43c74514d0faa39d343a26f39f31ec7689334b7b.zip |
btparser integration: merge it into ABRT's directory hierarchy
Diffstat (limited to 'tests')
-rw-r--r-- | tests/Makefile.am | 55 | ||||
-rw-r--r-- | tests/atlocal.in | 15 | ||||
-rw-r--r-- | tests/btparser/Makefile.am | 15 | ||||
-rw-r--r-- | tests/btparser/backtrace.at | 152 | ||||
-rw-r--r-- | tests/btparser/backtraces/621492.bt | 2668 | ||||
-rw-r--r-- | tests/btparser/frame.at | 615 | ||||
-rw-r--r-- | tests/btparser/strbuf.at | 73 | ||||
-rw-r--r-- | tests/btparser/thread.at | 349 | ||||
-rw-r--r-- | tests/btparser/utils.at | 442 | ||||
-rw-r--r-- | tests/local.at | 27 | ||||
-rw-r--r-- | tests/testsuite.at | 8 |
11 files changed, 4419 insertions, 0 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am new file mode 100644 index 00000000..30569d48 --- /dev/null +++ b/tests/Makefile.am @@ -0,0 +1,55 @@ +SUBDIRS = btparser + +## ------------ ## +## package.m4. ## +## ------------ ## + +package.m4: Makefile.in + { \ + echo '# Signature of the current package.' && \ + echo 'm4_define([AT_PACKAGE_NAME],' && \ + echo ' [@PACKAGE_NAME@])' && \ + echo 'm4_define([AT_PACKAGE_TARNAME],' && \ + echo ' [@PACKAGE_TARNAME@])' && \ + echo 'm4_define([AT_PACKAGE_VERSION],' && \ + echo ' [@PACKAGE_VERSION@])' && \ + echo 'm4_define([AT_PACKAGE_STRING],' && \ + echo ' [@PACKAGE_STRING@])' && \ + echo 'm4_define([AT_PACKAGE_BUGREPORT],' && \ + echo ' [@PACKAGE_BUGREPORT@])'; \ + echo 'm4_define([AT_PACKAGE_URL],' && \ + echo ' [@PACKAGE_URL@])'; \ + } >'package.m4' +EXTRA_DIST = package.m4 + +## ------------ ## +## Test suite. ## +## ------------ ## + +TESTSUITE_AT = \ + local.at \ + testsuite.at + +EXTRA_DIST += $(TESTSUITE_AT) +TESTSUITE = $(srcdir)/testsuite +MAINTAINERCLEANFILES = Makefile.in $(TESTSUITE) +check_DATA = atconfig atlocal $(TESTSUITE) +DISTCLEANFILES = atconfig +EXTRA_DIST += atlocal.in + +atconfig: $(top_builddir)/config.status + (cd ${top_builddir} && ./config.status ${subdir}/atconfig) + +check-local: $(check_DATA) + $(SHELL) '$(TESTSUITE)' $(TESTSUITEFLAGS) ||: + +installcheck-local: $(check_DATA) + $(SHELL) '$(TESTSUITE)' AUTOTEST_PATH='$(bindir)' $(TESTSUITEFLAGS) ||: + +clean-local: + test ! -f '$(TESTSUITE)' || $(SHELL) '$(TESTSUITE)' --clean + +AUTOTEST = $(AUTOM4TE) --language=autotest +$(TESTSUITE): $(TESTSUITE_AT) $(srcdir)/package.m4 + $(AUTOTEST) -I '$(srcdir)' -o $@.tmp $@.at + mv $@.tmp $@ diff --git a/tests/atlocal.in b/tests/atlocal.in new file mode 100644 index 00000000..068214b2 --- /dev/null +++ b/tests/atlocal.in @@ -0,0 +1,15 @@ +# @configure_input@ -*- shell-script -*- +# Configurable variable values for btparser test suite. + +# We need a C compiler. +CC='@CC@' +LIBTOOL="$abs_top_builddir/libtool" + +# We want no optimization. +CFLAGS="@O0CFLAGS@ -I$abs_top_builddir -D_GNU_SOURCE" + +# Are special link options needed? +LDFLAGS="@LDFLAGS@ $abs_top_builddir/src/libbtparser.la" + +# Are special libraries needed? +LIBS="@LIBS@" diff --git a/tests/btparser/Makefile.am b/tests/btparser/Makefile.am new file mode 100644 index 00000000..57805452 --- /dev/null +++ b/tests/btparser/Makefile.am @@ -0,0 +1,15 @@ +EXTRA_DIST = backtraces + +## ------------ ## +## Test suite. ## +## ------------ ## + +TESTSUITE_AT = \ + utils.at \ + strbuf.at \ + frame.at \ + thread.at \ + backtrace.at + +EXTRA_DIST += $(TESTSUITE_AT) +MAINTAINERCLEANFILES = Makefile.in diff --git a/tests/btparser/backtrace.at b/tests/btparser/backtrace.at new file mode 100644 index 00000000..057d2e63 --- /dev/null +++ b/tests/btparser/backtrace.at @@ -0,0 +1,152 @@ +# Checking the btparser. -*- Autotest -*- + +AT_BANNER([Backtraces]) + +## --------------------------------------- ## +## btp_backtrace_remove_threads_except_one ## +## --------------------------------------- ## +AT_TESTFUN([btp_backtrace_remove_threads_except_one], +[[ +#include <lib/backtrace.h> +#include <lib/thread.h> +#include <assert.h> +#include <stdlib.h> + +int main(void) +{ + /* Delete the thread except the middle one. */ + struct btp_thread *thread2 = btp_thread_new(); + struct btp_thread *thread1 = btp_thread_new(); + thread1->next = thread2; + struct btp_thread *thread0 = btp_thread_new(); + thread0->next = thread1; + struct btp_backtrace *backtrace = btp_backtrace_new(); + backtrace->threads = thread0; + btp_backtrace_remove_threads_except_one(backtrace, thread1); + assert(backtrace->threads == thread1); + assert(NULL == backtrace->threads->next); + + /* Delete all threads except one when there is only one. */ + btp_backtrace_remove_threads_except_one(backtrace, thread1); + assert(backtrace->threads == thread1); + assert(NULL == backtrace->threads->next); + + /* Delete all threads except the first one. */ + thread0 = btp_thread_new(); + backtrace->threads = thread0; + thread0->next = thread1; // already exists + thread2 = btp_thread_new(); + thread1->next = thread2; + btp_backtrace_remove_threads_except_one(backtrace, thread0); + assert(backtrace->threads == thread0); + assert(NULL == backtrace->threads->next); + + /* Delete all threads except the last one. */ + thread1 = btp_thread_new(); + thread0->next = thread1; + thread2 = btp_thread_new(); + thread1->next = thread2; + btp_backtrace_remove_threads_except_one(backtrace, thread2); + assert(backtrace->threads == thread2); + assert(NULL == backtrace->threads->next); + + btp_backtrace_free(backtrace); + return 0; +} +]]) + +## ------------------------------- ## +## btp_backtrace_find_crash_thread ## +## ------------------------------- ## +AT_TESTFUN([btp_backtrace_find_crash_thread], +[ +#include <lib/backtrace.h> +#include <lib/thread.h> +#include <lib/frame.h> +#include <lib/location.h> +#include <lib/utils.h> +#include <assert.h> + +int main(void) +{ + /* Load the backtrace from Red Hat Bugzilla bug #621492. */ + struct btp_location location; + btp_location_init(&location); + char *full_input = btp_file_to_string("../../backtraces/621492.bt"); + assert(full_input); + char *input = full_input; + struct btp_backtrace *backtrace = btp_backtrace_parse(&input, &location); + assert(backtrace); + + /* Check that the crash thread is found. */ + struct btp_thread *crash_thread = btp_backtrace_find_crash_thread(backtrace); + assert(crash_thread); + assert(0 == strcmp(crash_thread->frames->function_name, "raise")); + btp_backtrace_free(backtrace); + return 0; +} +]) + +## ------------------------------- ## +## btp_backtrace_limit_frame_depth ## +## ------------------------------- ## +AT_TESTFUN([btp_backtrace_limit_frame_depth], +[[ +#include <lib/backtrace.h> +#include <lib/thread.h> +#include <lib/location.h> +#include <lib/utils.h> +#include <assert.h> + +int main(void) +{ + /* Load the backtrace from Red Hat Bugzilla bug #621492. */ + struct btp_location location; + btp_location_init(&location); + char *full_input = btp_file_to_string("../../backtraces/621492.bt"); + assert(full_input); + char *input = full_input; + struct btp_backtrace *backtrace = btp_backtrace_parse(&input, &location); + assert(backtrace); + + /* Check the frame depth limit. */ + btp_backtrace_limit_frame_depth(backtrace, 5); + assert(11 == btp_backtrace_get_thread_count(backtrace)); + struct btp_thread *thread = backtrace->threads; + while (thread) + { + assert(5 == btp_thread_get_frame_count(thread)); + thread = thread->next; + } + + btp_backtrace_free(backtrace); + return 0; +} +]]) + +## ----------------------------- ## +## btp_backtrace_quality_complex ## +## ----------------------------- ## +AT_TESTFUN([btp_backtrace_quality_complex], +[[ +#include <lib/backtrace.h> +#include <lib/thread.h> +#include <lib/location.h> +#include <lib/utils.h> +#include <assert.h> + +int main(void) +{ + /* Load the backtrace from Red Hat Bugzilla bug #621492. */ + struct btp_location location; + btp_location_init(&location); + char *full_input = btp_file_to_string("../../backtraces/621492.bt"); + assert(full_input); + char *input = full_input; + struct btp_backtrace *backtrace = btp_backtrace_parse(&input, &location); + assert(backtrace); + assert(1.0f == btp_backtrace_quality_complex(backtrace)); + btp_backtrace_free(backtrace); + return 0; +} +]]) diff --git a/tests/btparser/backtraces/621492.bt b/tests/btparser/backtraces/621492.bt new file mode 100644 index 00000000..f1e5404e --- /dev/null +++ b/tests/btparser/backtraces/621492.bt @@ -0,0 +1,2668 @@ +[New Thread 19947] +[New Thread 19948] +[New Thread 19949] +[New Thread 19955] +[New Thread 19962] +[New Thread 19963] +[New Thread 21889] +[New Thread 19950] +[New Thread 19951] +[New Thread 19961] +[New Thread 19965] +Core was generated by `/usr/lib64/thunderbird-3.1/thunderbird-bin'. +Program terminated with signal 11, Segmentation fault. +#0 0x0000003848c0f30b in raise (sig=<value optimized out>) + at ../nptl/sysdeps/unix/sysv/linux/pt-raise.c:42 +42 ../nptl/sysdeps/unix/sysv/linux/pt-raise.c: No such file or directory. + in ../nptl/sysdeps/unix/sysv/linux/pt-raise.c + +Thread 11 (Thread 19965): +#0 0x00000038484d7de3 in __poll (fds=<value optimized out>, + nfds=<value optimized out>, timeout=<value optimized out>) + at ../sysdeps/unix/sysv/linux/poll.c:87 + __arg2 = 2 + _a3 = -1 + _a1 = 140258994637568 + resultvar = <value optimized out> + __arg3 = 72197854784913407 + __arg1 = 140258994637568 + _a2 = 2 + resultvar = <value optimized out> + oldtype = 0 + result = <value optimized out> +#1 0x00007f90879e4c0f in poll_func (ufds=0x7f90978d4b00, nfds=2, timeout=-1, + userdata=0x7f908807ec70) at pulse/thread-mainloop.c:75 + mutex = 0x7f908807ec70 + r = -1752347904 + __func__ = "poll_func" + __PRETTY_FUNCTION__ = "poll_func" +#2 0x00007f90879d4ae6 in pa_mainloop_poll (m=0x7f9088088200) + at pulse/mainloop.c:879 + __func__ = "pa_mainloop_poll" + __PRETTY_FUNCTION__ = "pa_mainloop_poll" +#3 0x00007f90879d5ec9 in pa_mainloop_iterate (m=0x7f9088088200, + block=<value optimized out>, retval=0x0) at pulse/mainloop.c:961 + r = 0 + __func__ = "pa_mainloop_iterate" + __PRETTY_FUNCTION__ = "pa_mainloop_iterate" +#4 0x00007f90879d5f80 in pa_mainloop_run (m=0x7f9088088200, retval=0x0) + at pulse/mainloop.c:979 + r = <value optimized out> +#5 0x00007f90879e4a0b in thread (userdata=0x7f908807ec10) + at pulse/thread-mainloop.c:94 + mask = {__val = {18446744067267100671, + 18446744073709551615 <repeats 15 times>}} +#6 0x00007f90877a1878 in internal_thread_func (userdata=0x7f9088049380) + at pulsecore/thread-posix.c:72 + t = 0x7f9088049380 + __func__ = "internal_thread_func" + __PRETTY_FUNCTION__ = "internal_thread_func" +#7 0x0000003848c07761 in start_thread (arg=0x7f9082edf710) + at pthread_create.c:301 + __res = <value optimized out> + pd = 0x7f9082edf710 + now = <value optimized out> + unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140258648651536, + -555364893392092215, 241738781088, 140258648652240, 0, 3, + 534792876637569993, -560026272429489207}, + mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, + data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}} + not_first_call = <value optimized out> + sp = <value optimized out> + freesize = <value optimized out> +#8 0x00000038484e14ed in clone () + at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115 +No locals. + +Thread 10 (Thread 19961): +#0 pthread_cond_wait@@GLIBC_2.3.2 () + at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162 +No locals. +#1 0x0000003858c23cce in PR_WaitCondVar (cvar=0x7f9097c6f600, + timeout=4294967295) + at ../../../mozilla/nsprpub/pr/src/pthreads/ptsynch.c:417 + rv = <value optimized out> + thred = 0x7f908baa5780 +#2 0x00007f908aa93fd5 in nsSSLThread::Run (this=0x7f9097c6f5c0) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/security/manager/ssl/src/nsSSLThread.cpp:980 + threadLock = {<nsAutoLockBase> = {<No data fields>}, + mLock = 0x7f9097c80a80, mLocked = 1} + pending_work = 0 + busy_socket_ssl_state = <value optimized out> + needToSetPollableEvent = <value optimized out> + socketToDestroy = 0x0 +#3 0x0000003858c29843 in _pt_root (arg=0x7f908baa5780) + at ../../../mozilla/nsprpub/pr/src/pthreads/ptthread.c:228 + thred = 0x7f908baa5780 + detached = 0 +#4 0x0000003848c07761 in start_thread (arg=0x7f909932a710) + at pthread_create.c:301 + __res = <value optimized out> + pd = 0x7f909932a710 + now = <value optimized out> + unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140259022251792, + -555364893392092215, 140734046858640, 140259022252496, 0, 3, + 534733149211739081, -560026272429489207}, + mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, + data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}} + not_first_call = <value optimized out> + sp = <value optimized out> + freesize = <value optimized out> +#5 0x00000038484e14ed in clone () + at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115 +No locals. + +Thread 9 (Thread 19951): +#0 pthread_cond_timedwait@@GLIBC_2.3.2 () + at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:212 +No locals. +#1 0x0000003858c23049 in pt_TimedWait (cv=0x7f90a82fbd88, ml=0x7f90a82f7320, + timeout=658) at ../../../mozilla/nsprpub/pr/src/pthreads/ptsynch.c:292 + rv = <value optimized out> + now = {tv_sec = 1281000337, tv_usec = 584686} + tmo = {tv_sec = 1281000338, tv_nsec = 242686000} + ticks = <value optimized out> +#2 0x0000003858c23c2c in PR_WaitCondVar (cvar=0x7f90a82fbd80, timeout=658) + at ../../../mozilla/nsprpub/pr/src/pthreads/ptsynch.c:419 + rv = <value optimized out> + thred = 0x7f90a8212360 +#3 0x0000003139a6fbea in TimerThread::Run (this=0x7f90a8222440) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/xpcom/threads/TimerThread.cpp:344 + waitFor = <value optimized out> + lock = {<nsAutoLockBase> = {<No data fields>}, + mLock = 0x7f90a82f7320, mLocked = 1} +#4 0x0000003139a6c765 in nsThread::ProcessNextEvent (this=0x7f90a0a9caa0, + mayWait=1, result=0x7f909bbfebdc) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/xpcom/threads/nsThread.cpp:527 + event = {<nsCOMPtr_base> = { + mRawPtr = 0x7f90a8222440}, <No data fields>} + notifyGlobalObserver = 1 + obs = {<nsCOMPtr_base> = {mRawPtr = 0x0}, <No data fields>} + rv = 0 +#5 0x0000003139a3db88 in NS_ProcessNextEvent_P ( + thread=<value optimized out>, mayWait=<value optimized out>) + at nsThreadUtils.cpp:250 + val = 1 +#6 0x0000003139a6ce3b in nsThread::ThreadFunc (arg=0x7f90a0a9caa0) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/xpcom/threads/nsThread.cpp:254 + self = 0x7f90a0a9caa0 + event = {<nsCOMPtr_base> = {mRawPtr = 0x0}, <No data fields>} +#7 0x0000003858c29843 in _pt_root (arg=0x7f90a8212360) + at ../../../mozilla/nsprpub/pr/src/pthreads/ptthread.c:228 + thred = 0x7f90a8212360 + detached = 0 +#8 0x0000003848c07761 in start_thread (arg=0x7f909bbff710) + at pthread_create.c:301 + __res = <value optimized out> + pd = 0x7f909bbff710 + now = <value optimized out> + unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140259065067280, + -555364893392092215, 140734046875760, 140259065067984, 0, 3, + 534738605430817737, -560026272429489207}, + mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, + data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}} + not_first_call = <value optimized out> + sp = <value optimized out> + freesize = <value optimized out> +#9 0x00000038484e14ed in clone () + at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115 +No locals. + +Thread 8 (Thread 19950): +#0 pthread_cond_timedwait@@GLIBC_2.3.2 () + at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:212 +No locals. +#1 0x0000003858c23049 in pt_TimedWait (cv=0x7f90a0ef59c8, ml=0x7f90a0a16e20, + timeout=0) at ../../../mozilla/nsprpub/pr/src/pthreads/ptsynch.c:292 + rv = <value optimized out> + now = {tv_sec = 1281000336, tv_usec = 939599} + tmo = {tv_sec = 1281000337, tv_nsec = 939599000} + ticks = <value optimized out> +#2 0x0000003858c23c2c in PR_WaitCondVar (cvar=0x7f90a0ef59c0, timeout=1000) + at ../../../mozilla/nsprpub/pr/src/pthreads/ptsynch.c:419 + rv = <value optimized out> + thred = 0x7f90a8211ae0 +#3 0x00007f909e7f6657 in XPCJSRuntime::WatchdogMain (arg=0x7f90a0a2ac00) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/js/src/xpconnect/src/xpcjsruntime.cpp:808 + cx = <value optimized out> + self = 0x7f90a0a2ac00 + lock = {mJSRuntime = 0x7f90a0ee0000} +#4 0x0000003858c29843 in _pt_root (arg=0x7f90a8211ae0) + at ../../../mozilla/nsprpub/pr/src/pthreads/ptthread.c:228 + thred = 0x7f90a8211ae0 + detached = 1 +#5 0x0000003848c07761 in start_thread (arg=0x7f909ddbd710) + at pthread_create.c:301 + __res = <value optimized out> + pd = 0x7f909ddbd710 + now = <value optimized out> + unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140259100448528, + -555364893392092215, 140734046874544, 140259100449232, 0, 3, + 534742145557611465, -560026272429489207}, + mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, + data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}} + not_first_call = <value optimized out> + sp = <value optimized out> + freesize = <value optimized out> +#6 0x00000038484e14ed in clone () + at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115 +No locals. + +Thread 7 (Thread 21889): +#0 pthread_cond_timedwait@@GLIBC_2.3.2 () + at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:212 +No locals. +#1 0x0000003858c23049 in pt_TimedWait (cv=0x7f90a0e68e88, ml=0x7f90a0a168a0, + timeout=0) at ../../../mozilla/nsprpub/pr/src/pthreads/ptsynch.c:292 + rv = <value optimized out> + now = {tv_sec = 1281000208, tv_usec = 213698} + tmo = {tv_sec = 1281000508, tv_nsec = 213698000} + ticks = <value optimized out> +#2 0x0000003858c23c2c in PR_WaitCondVar (cvar=0x7f90a0e68e80, timeout=300000) + at ../../../mozilla/nsprpub/pr/src/pthreads/ptsynch.c:419 + rv = <value optimized out> + thred = 0x7f9081cd1040 +#3 0x00007f909fd4f15f in nsHostResolver::GetHostToLookup ( + this=0x7f90a0e67700, result=0x7f9089ad3bf8) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/netwerk/dns/src/nsHostResolver.cpp:773 + epoch = 1099954005 + timeout = 300000 + timedOut = <value optimized out> + now = <value optimized out> + lock = {<nsAutoLockBase> = {<No data fields>}, + mLock = 0x7f90a0a168a0, mLocked = 1} +#4 0x00007f909fd4fa24 in nsHostResolver::ThreadFunc (arg=0x7f90a0e67700) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/netwerk/dns/src/nsHostResolver.cpp:877 + rs = {mLastReset = 1099039833} + resolver = 0x7f90a0e67700 + rec = 0x7f9088b50f00 + ai = <value optimized out> +#5 0x0000003858c29843 in _pt_root (arg=0x7f9081cd1040) + at ../../../mozilla/nsprpub/pr/src/pthreads/ptthread.c:228 + thred = 0x7f9081cd1040 + detached = 1 +#6 0x0000003848c07761 in start_thread (arg=0x7f9089ad4710) + at pthread_create.c:301 + __res = <value optimized out> + pd = 0x7f9089ad4710 + now = <value optimized out> + unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140258761852688, + -555364893392092215, 140259133114112, 140258761853392, 0, 3, + 534769230158250953, -560026272429489207}, + mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, + data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}} + not_first_call = <value optimized out> + sp = <value optimized out> + freesize = <value optimized out> +#7 0x00000038484e14ed in clone () + at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115 +No locals. + +Thread 6 (Thread 19963): +#0 pthread_cond_wait@@GLIBC_2.3.2 () + at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162 +No locals. +#1 0x0000003858c23cce in PR_WaitCondVar (cvar=0x7f9097c6f680, + timeout=4294967295) + at ../../../mozilla/nsprpub/pr/src/pthreads/ptsynch.c:417 + rv = <value optimized out> + thred = 0x7f908baa59a0 +#2 0x0000003858c23d46 in PR_Wait (mon=0x7f908ba8f570, + timeout=<value optimized out>) + at ../../../mozilla/nsprpub/pr/src/pthreads/ptsynch.c:601 + rv = -512 + saved_entries = 1 + saved_owner = 140258929596176 +#3 0x0000003139a6bb17 in Wait (this=0x7f908af9b980, mayWait=1, + result=0x7f9093accb70) at ../../dist/include/nsAutoLock.h:340 +No locals. +#4 nsEventQueue::GetEvent (this=0x7f908af9b980, mayWait=1, + result=0x7f9093accb70) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/xpcom/threads/nsEventQueue.cpp:85 + mon = {<nsAutoLockBase> = {<No data fields>}, + mMonitor = 0x7f908ba8f570, mLockCount = 1} +#5 0x0000003139a6c748 in GetEvent (this=0x7f908af9b940, mayWait=1, + result=0x7f9093accbdc) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/xpcom/threads/nsThread.h:112 +No locals. +#6 nsThread::ProcessNextEvent (this=0x7f908af9b940, mayWait=1, + result=0x7f9093accbdc) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/xpcom/threads/nsThread.cpp:521 + event = {<nsCOMPtr_base> = {mRawPtr = 0x0}, <No data fields>} + notifyGlobalObserver = 1 + obs = {<nsCOMPtr_base> = {mRawPtr = 0x0}, <No data fields>} + rv = 0 +#7 0x0000003139a3db88 in NS_ProcessNextEvent_P ( + thread=<value optimized out>, mayWait=<value optimized out>) + at nsThreadUtils.cpp:250 + val = 1 +#8 0x0000003139a6ce3b in nsThread::ThreadFunc (arg=0x7f908af9b940) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/xpcom/threads/nsThread.cpp:254 + self = 0x7f908af9b940 + event = {<nsCOMPtr_base> = {mRawPtr = 0x0}, <No data fields>} +#9 0x0000003858c29843 in _pt_root (arg=0x7f908baa59a0) + at ../../../mozilla/nsprpub/pr/src/pthreads/ptthread.c:228 + thred = 0x7f908baa59a0 + detached = 0 +#10 0x0000003848c07761 in start_thread (arg=0x7f9093acd710) + at pthread_create.c:301 + __res = <value optimized out> + pd = 0x7f9093acd710 + now = <value optimized out> + unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140258929596176, + -555364893392092215, 140734046859216, 140258929596880, 0, 3, + 534756052661715913, -560026272429489207}, + mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, + data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}} + not_first_call = <value optimized out> + sp = <value optimized out> + freesize = <value optimized out> +#11 0x00000038484e14ed in clone () + at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115 +No locals. + +Thread 5 (Thread 19962): +#0 pthread_cond_wait@@GLIBC_2.3.2 () + at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162 +No locals. +#1 0x0000003858c23cce in PR_WaitCondVar (cvar=0x7f9097c6f640, + timeout=4294967295) + at ../../../mozilla/nsprpub/pr/src/pthreads/ptsynch.c:417 + rv = <value optimized out> + thred = 0x7f908baa5890 +#2 0x00007f908aa94de2 in nsCertVerificationThread::Run (this=0x7f908af9b8b0) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/security/manager/ssl/src/nsCertVerificationThread.cpp:138 + threadLock = {<nsAutoLockBase> = {<No data fields>}, + mLock = 0x7f9097c80b30, mLocked = 1} + job = 0x0 +#3 0x0000003858c29843 in _pt_root (arg=0x7f908baa5890) + at ../../../mozilla/nsprpub/pr/src/pthreads/ptthread.c:228 + thred = 0x7f908baa5890 + detached = 0 +#4 0x0000003848c07761 in start_thread (arg=0x7f90926cb710) + at pthread_create.c:301 + __res = <value optimized out> + pd = 0x7f90926cb710 + now = <value optimized out> + unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140258908616464, + -555364893392092215, 140734046858640, 140258908617168, 0, 3, + 534756599196304329, -560026272429489207}, + mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, + data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}} + not_first_call = <value optimized out> + sp = <value optimized out> + freesize = <value optimized out> +#5 0x00000038484e14ed in clone () + at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115 +No locals. + +Thread 4 (Thread 19955): +#0 pthread_cond_wait@@GLIBC_2.3.2 () + at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162 +No locals. +#1 0x0000003858c23cce in PR_WaitCondVar (cvar=0x7f90983d9b40, + timeout=4294967295) + at ../../../mozilla/nsprpub/pr/src/pthreads/ptsynch.c:417 + rv = <value optimized out> + thred = 0x7f9098866120 +#2 0x0000003858c23d46 in PR_Wait (mon=0x7f9097d48de0, + timeout=<value optimized out>) + at ../../../mozilla/nsprpub/pr/src/pthreads/ptsynch.c:601 + rv = -512 + saved_entries = 1 + saved_owner = 140258919106320 +#3 0x0000003139a6bb17 in Wait (this=0x7f9097b69420, mayWait=1, + result=0x7f90930cbb70) at ../../dist/include/nsAutoLock.h:340 +No locals. +#4 nsEventQueue::GetEvent (this=0x7f9097b69420, mayWait=1, + result=0x7f90930cbb70) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/xpcom/threads/nsEventQueue.cpp:85 + mon = {<nsAutoLockBase> = {<No data fields>}, + mMonitor = 0x7f9097d48de0, mLockCount = 1} +#5 0x0000003139a6c748 in GetEvent (this=0x7f9097b693e0, mayWait=1, + result=0x7f90930cbbdc) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/xpcom/threads/nsThread.h:112 +No locals. +#6 nsThread::ProcessNextEvent (this=0x7f9097b693e0, mayWait=1, + result=0x7f90930cbbdc) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/xpcom/threads/nsThread.cpp:521 + event = {<nsCOMPtr_base> = {mRawPtr = 0x0}, <No data fields>} + notifyGlobalObserver = 1 + obs = {<nsCOMPtr_base> = {mRawPtr = 0x0}, <No data fields>} + rv = 0 +#7 0x0000003139a3db88 in NS_ProcessNextEvent_P ( + thread=<value optimized out>, mayWait=<value optimized out>) + at nsThreadUtils.cpp:250 + val = 1 +#8 0x0000003139a6ce3b in nsThread::ThreadFunc (arg=0x7f9097b693e0) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/xpcom/threads/nsThread.cpp:254 + self = 0x7f9097b693e0 + event = {<nsCOMPtr_base> = {mRawPtr = 0x0}, <No data fields>} +#9 0x0000003858c29843 in _pt_root (arg=0x7f9098866120) + at ../../../mozilla/nsprpub/pr/src/pthreads/ptthread.c:228 + thred = 0x7f9098866120 + detached = 0 +#10 0x0000003848c07761 in start_thread (arg=0x7f90930cc710) + at pthread_create.c:301 + __res = <value optimized out> + pd = 0x7f90930cc710 + now = <value optimized out> + unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140258919106320, + -555364893392092215, 140734046849712, 140258919107024, 0, 3, + 534754674514084809, -560026272429489207}, + mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, + data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}} + not_first_call = <value optimized out> + sp = <value optimized out> + freesize = <value optimized out> +#11 0x00000038484e14ed in clone () + at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115 +No locals. + +Thread 3 (Thread 19949): +#0 pthread_cond_wait@@GLIBC_2.3.2 () + at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162 +No locals. +#1 0x0000003858c23cce in PR_WaitCondVar (cvar=0x7f90a0ef5980, + timeout=4294967295) + at ../../../mozilla/nsprpub/pr/src/pthreads/ptsynch.c:417 + rv = <value optimized out> + thred = 0x7f90a82118c0 +#2 0x0000003b8ae92582 in JSBackgroundThread::work (this=0x7f90a0efb490) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/js/src/jstask.cpp:91 + t = <value optimized out> +#3 0x0000003858c29843 in _pt_root (arg=0x7f90a82118c0) + at ../../../mozilla/nsprpub/pr/src/pthreads/ptthread.c:228 + thred = 0x7f90a82118c0 + detached = 0 +#4 0x0000003848c07761 in start_thread (arg=0x7f909e7be710) + at pthread_create.c:301 + __res = <value optimized out> + pd = 0x7f909e7be710 + now = <value optimized out> + unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140259110938384, + -555364893392092215, 140734046874480, 140259110939088, 0, 3, + 534747917456786377, -560026272429489207}, + mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, + data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}} + not_first_call = <value optimized out> + sp = <value optimized out> + freesize = <value optimized out> +#5 0x00000038484e14ed in clone () + at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115 +No locals. + +Thread 2 (Thread 19948): +#0 0x00000038484d7de3 in __poll (fds=<value optimized out>, + nfds=<value optimized out>, timeout=<value optimized out>) + at ../sysdeps/unix/sysv/linux/poll.c:87 + __arg2 = 1 + _a3 = -1 + _a1 = 140259133114288 + resultvar = <value optimized out> + __arg3 = 244813135871 + __arg1 = 140259133114288 + _a2 = 1 + resultvar = <value optimized out> + oldtype = 0 + result = <value optimized out> +#1 0x0000003858c256ef in _pr_poll_with_poll (pds=0x7f90a0e929c0, + npds=<value optimized out>, timeout=<value optimized out>) + at ../../../mozilla/nsprpub/pr/src/pthreads/ptio.c:3915 + stack_syspoll = {{fd = 12, events = 1, revents = 0}, {fd = 4217387, + events = 0, revents = 0}, {fd = 2144215040, events = 32656, + revents = 0}, {fd = 2, events = 0, revents = 0}, { + fd = 2144215040, events = 32656, revents = 0}, {fd = 2256, + events = 0, revents = 0}, {fd = 2106593272, events = 32656, + revents = 0}, {fd = -1472524016, events = 32656, revents = 0}, { + fd = -1979709176, events = 32656, revents = 0}, {fd = 1489124226, + events = 56, revents = 0}, {fd = 1, events = 0, revents = 0}, { + fd = -1748911488, events = 32656, revents = 0}, {fd = -1, + events = 0, revents = 0}, {fd = 0, events = 0, + revents = 0} <repeats 11 times>, {fd = -1963357272, + events = 32656, revents = 0}, {fd = 2106664992, events = 32656, + revents = 0}, {fd = 2121073600, events = 32656, revents = 0}, { + fd = 967017730, events = 49, revents = 0}, {fd = 0, events = 0, + revents = 0}, {fd = 4217387, events = 28, revents = 0}, { + fd = -1968406804, events = 32656, revents = 0}, {fd = 1489124803, + events = 2, revents = 0}, {fd = -1963357168, events = 32656, + revents = 0}, {fd = -1963357216, events = 32656, revents = 0}, { + fd = 105462118, events = 0, revents = 0}, {fd = 967016693, + events = 49, revents = 0}, {fd = -1750069088, events = 32656, + revents = 0}, {fd = -1472521960, events = 32656, revents = 0}, { + fd = -1770357160, events = 32656, revents = 0}, {fd = 967018203, + events = 49, revents = 0}, {fd = 0, events = 0, revents = 0}, { + fd = 4217387, events = 0, revents = 0}, {fd = 2121073600, + events = 32656, revents = 0}, {fd = 1489124812, events = 56, + revents = 0}, {fd = 0, events = 0, revents = 0}, { + fd = -1951811472, events = 32656, revents = 0}, { + fd = -1770357248, events = 32656, revents = 0}, { + fd = -1968544452, events = 32656, revents = 0}, {fd = 0, + events = 0, revents = 0}, {fd = 4217387, events = 0, + revents = 0}, {fd = 1, events = 0, revents = 0}, {fd = 4217387, + events = 0, revents = 0}, {fd = 0, events = 0, revents = 0}, { + fd = 1489124812, events = 56, revents = 0}, {fd = 3, events = 0, + revents = 0}, {fd = -1474197528, events = 32656, revents = 0}, { + fd = -1613870704, events = 32656, revents = 0}, {fd = 853538836, + events = 32767, revents = 0}, {fd = -1613870688, events = 32656, + revents = 0}, {fd = 853538836, events = 32767, revents = 0}, { + fd = -1613870624, events = 32656, revents = 0}, {fd = 0, + events = 0, revents = 0}, {fd = -1613870656, events = 32656, + revents = 0}, {fd = 853539004, events = 32767, revents = 0}} + syspoll = <value optimized out> + index = <value optimized out> + msecs = -1 + ready = <value optimized out> + start = <value optimized out> + elapsed = <value optimized out> + remaining = <value optimized out> +#2 0x00007f909fd45bbd in nsSocketTransportService::Poll ( + this=<value optimized out>, wait=<value optimized out>, + interval=0x7f909fce4a4c) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/netwerk/base/src/nsSocketTransportService2.cpp:355 + rv = <value optimized out> + pollList = 0x7f90a0e929c0 + pollCount = 1 + pollTimeout = 4294967295 + ts = 1100069864 + passedInterval = <value optimized out> +#3 0x00007f909fd46078 in nsSocketTransportService::DoPollIteration ( + this=0x7f90a0e92000, wait=1) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/netwerk/base/src/nsSocketTransportService2.cpp:660 + i = -1 + count = <value optimized out> + pollInterval = 32656 + n = <value optimized out> +#4 0x00007f909fd4628a in nsSocketTransportService::OnProcessNextEvent ( + this=0x7f90a0e92000, thread=0x7f90a8243af0, + mayWait=<value optimized out>, depth=<value optimized out>) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/netwerk/base/src/nsSocketTransportService2.cpp:539 + val = 0 +#5 0x0000003139a6c712 in nsThread::ProcessNextEvent (this=0x7f90a8243af0, + mayWait=1, result=0x7f909fce4b1c) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/xpcom/threads/nsThread.cpp:508 + notifyGlobalObserver = 1 + obs = {<nsCOMPtr_base> = {mRawPtr = 0x7f90a0e92010}, <No data fields>} + rv = <value optimized out> +#6 0x0000003139a3db88 in NS_ProcessNextEvent_P ( + thread=<value optimized out>, mayWait=<value optimized out>) + at nsThreadUtils.cpp:250 + val = 32656 +#7 0x00007f909fd45dce in nsSocketTransportService::Run (this=0x7f90a0e92000) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/netwerk/base/src/nsSocketTransportService2.cpp:581 + thread = 0x7f90a8243af0 + threadInt = {<nsCOMPtr_base> = { + mRawPtr = 0x7f90a8243af0}, <No data fields>} + i = <value optimized out> +#8 0x0000003139a6c765 in nsThread::ProcessNextEvent (this=0x7f90a8243af0, + mayWait=1, result=0x7f909fce4bdc) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/xpcom/threads/nsThread.cpp:527 + event = {<nsCOMPtr_base> = { + mRawPtr = 0x7f90a0e92018}, <No data fields>} + notifyGlobalObserver = 0 + obs = {<nsCOMPtr_base> = {mRawPtr = 0x0}, <No data fields>} + rv = 0 +#9 0x0000003139a3db88 in NS_ProcessNextEvent_P ( + thread=<value optimized out>, mayWait=<value optimized out>) + at nsThreadUtils.cpp:250 + val = 1 +#10 0x0000003139a6ce3b in nsThread::ThreadFunc (arg=0x7f90a8243af0) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/xpcom/threads/nsThread.cpp:254 + self = 0x7f90a8243af0 + event = {<nsCOMPtr_base> = {mRawPtr = 0x0}, <No data fields>} +#11 0x0000003858c29843 in _pt_root (arg=0x7f90a82117b0) + at ../../../mozilla/nsprpub/pr/src/pthreads/ptthread.c:228 + thred = 0x7f90a82117b0 + detached = 0 +#12 0x0000003848c07761 in start_thread (arg=0x7f909fce5710) + at pthread_create.c:301 + __res = <value optimized out> + pd = 0x7f909fce5710 + now = <value optimized out> + unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140259133118224, + -555364893392092215, 140734046876304, 140259133118928, 0, 3, + 534746444819874761, -560026272429489207}, + mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, + data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}} + not_first_call = <value optimized out> + sp = <value optimized out> + freesize = <value optimized out> +#13 0x00000038484e14ed in clone () + at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115 +No locals. + +Thread 1 (Thread 19947): +#0 0x0000003848c0f30b in raise (sig=<value optimized out>) + at ../nptl/sysdeps/unix/sysv/linux/pt-raise.c:42 + resultvar = 0 + pid = <value optimized out> +#1 0x0000003139e1f34e in nsProfileLock::FatalSignalHandler (signo=11, + info=<value optimized out>, context=<value optimized out>) + at nsProfileLock.cpp:213 + unblock_sigs = {__val = {1024, 0 <repeats 15 times>}} + oldact = <value optimized out> +#2 <signal handler called> +No symbol table info available. +#3 0x00007f909544e763 in nsTreeBodyFrame::PrefillPropertyArray ( + this=0x7f909108c8a8, aRowIndex=-1, aCol=0x7f908861f760) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/layout/xul/base/src/tree/src/nsTreeBodyFrame.cpp:2055 + sorted = 0 +#4 0x00007f909544ebef in nsTreeBodyFrame::PaintColumn (this=0x7f909108c8a8, + aColumn=0x7f908861f760, aColumnRect=..., aPresContext=0x7f9097882000, + aRenderingContext=..., aDirtyRect=<value optimized out>) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/layout/xul/base/src/tree/src/nsTreeBodyFrame.cpp:2915 + colContext = <value optimized out> + colRect = {x = -1860605664, y = 32656, width = -1861695320, + height = 32656} + colMargin = {top = 0, right = 0, bottom = 15060, left = 0} +#5 0x00007f909545064b in nsTreeBodyFrame::PaintTreeBody ( + this=0x7f909108c8a8, aRenderingContext=..., aDirtyRect=..., aPt=...) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/layout/xul/base/src/tree/src/nsTreeBodyFrame.cpp:2873 + dirtyRect = {x = 60, y = 7140, width = 15060, height = 48300} + colRect = {x = 60, y = 7140, width = 15060, height = 48300} + rv = <value optimized out> + currCol = 0x7f908861f760 + oldPageCount = <value optimized out> +#6 0x00007f909545094d in PaintTreeBody (aFrame=<value optimized out>, + aCtx=<value optimized out>, aDirtyRect=<value optimized out>, + aPt=<value optimized out>) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/layout/xul/base/src/tree/src/nsTreeBodyFrame.cpp:2811 +No locals. +#7 0x00007f90950bb986 in nsDisplayGeneric::Paint (this=0x7f907fab5938, + aBuilder=<value optimized out>, aCtx=0x7f907d912a60) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/layout/base/nsDisplayList.h:968 +No locals. +#8 0x00007f9095082ffe in nsDisplayList::Paint (this=<value optimized out>, + aBuilder=0x7fff32dee530, aCtx=0x7f907d912a60) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/layout/base/nsDisplayList.cpp:405 + i = 0x7f907fab5938 +#9 0x00007f9095083150 in Paint (this=0x7f907fab59f0, + aBuilder=0x7fff32dee530, aCtx=0x7f907d912a60) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/layout/base/nsDisplayList.cpp:1007 +No locals. +#10 nsDisplayClip::Paint (this=0x7f907fab59f0, aBuilder=0x7fff32dee530, + aCtx=0x7f907d912a60) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/layout/base/nsDisplayList.cpp:1203 +No locals. +#11 0x00007f9095082ffe in nsDisplayList::Paint (this=<value optimized out>, + aBuilder=0x7fff32dee530, aCtx=0x7f907d912a60) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/layout/base/nsDisplayList.cpp:405 + i = 0x7f907fab59f0 +#12 0x00007f9095096400 in nsLayoutUtils::PaintFrame ( + aRenderingContext=0x7f907d912a60, aFrame=0x7f9096786110, + aDirtyRegion=..., aBackstop=4294967295, aFlags=<value optimized out>) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/layout/base/nsLayoutUtils.cpp:1161 + builder = {mReferenceFrame = 0x7f9096786110, mMovingFrame = 0x0, + mSaveVisibleRegionOfMovingContent = 0x0, mIgnoreScrollFrame = 0x0, + mMoveDelta = {x = 0, y = 118}, mPool = {first = { + next = 0x7f907fab5800, base = 140734046856568, + limit = 140734046856568, avail = 140734046856568}, + current = 0x7f907fab5800, arenasize = 1024, mask = 7}, + mBoundingSelection = {<nsCOMPtr_base> = { + mRawPtr = 0x0}, <No data fields>}, + mPresShellStates = {<nsTArray<nsDisplayListBuilder::PresShellState>> = {<nsTArray_base> = {static sEmptyHdr = {mLength = 0, mCapacity = 0, + mIsAutoArray = 0}, + mHdr = 0x7fff32dee5a0}, <No data fields>}, + mAutoBuf = "\000\000\000\000\b\000\000\200\000\070\210\227\220\177", '\000' <repeats 14 times>"\377, \177\000\000v\000\000\000\377\177\000\000\000\000\000\000\377\177\000\000v\000\000\000\377\177\000\000\375\000\000\000\070\000\000\000'\003\000\000\000\000\000\000 \347\336\062\377\177\000\000\270\212c\210\220\177\000\000\001g@\000\000\000\000\000\360\346\336\062\377\177\000\000\270\212c\210\220\177\000\000\235\003", '\000' <repeats 38 times>, " U$K8", '\000' <repeats 11 times>, "<\035\001K8\000\000\000\000|\227}\220\177\000\000\001g@\000\000\000\000\000L\347\336\062\377\177\000"}, + mFramesMarkedForDisplay = {<nsTArray<nsIFrame*>> = {<nsTArray_base> = {static sEmptyHdr = {mLength = 0, mCapacity = 0, mIsAutoArray = 0}, + mHdr = 0x7fff32dee670}, <No data fields>}, + mAutoBuf = "\000\000\000\000d\000\000\200\020\347\336\062\377\177\000\000\240)\221}\220\177\000\000>j@\000\000\000\000\000\001\000\000\000\220\177\000\000\200\332'\250\220\177\000\000\000\000\000\000\220\177\000\000\000\000\000\000\000\000\000\000\340\353\336\062\377\177\000\000\000\000\000\000\000\000\000\000\340\353\336\062\377\177\000\000\316\372\202S8\000\000\000\000\373\000\000\000\000\000\000\000\373\000\000\000%\003", '\000' <repeats 14 times>, "%\003\000\340u\227}\220\177\000\000\267\327\201S8\000\000\000@\307\224}\220\177\000\000=\277\202S8", '\000' <repeats 11 times>"\232, \231\231\231\231\231\271?\000\000\000\000\000\000\000\000+Z@", '\000' <repeats 14 times>, "\005\000\000\265\003\000\000@\210\222}\220\177\000\000\375\000\000\000\004\000\000\000\000\000\000\000v\000\000\000\200\200\020\210\220\177\000\000\001\000\000\000\000\000\000\000\060\253/\250\220\177\000\000\000\000\000\000\000\000\000\000\300\330'\250"...}, mCurrentTableItem = 0x0, mBuildCaret = 1 '\001', + mEventDelivery = 0 '\000', mIsBackgroundOnly = 0 '\000', + mIsAtRootOfPseudoStackingContext = 0 '\000', + mPaintAllFrames = 0 '\000', mAccurateVisibleRegions = 0 '\000', + mInTransform = 0 '\000'} + list = {mSentinel = {mAbove = 0x7f907fab59f0}, mTop = 0x7f907fab59f8} + rv = 0 + frameType = <value optimized out> + disableAssert = {mOldValue = 0} + dirtyRect = {x = 60, y = 7140, width = 15060, height = 48300} + visibleRegion = {mRectCount = 0, mCurRect = 0x7fff32dee4a0, + mRectListHead = {<nsRegion::nsRectFast> = {<nsRect> = {x = 0, + y = 0, width = 0, height = 0}, <No data fields>}, + prev = 0x7fff32dee4a0, next = 0x7fff32dee4a0}, + mBoundRect = {<nsRect> = {x = 0, y = 0, width = 0, + height = 0}, <No data fields>}} +#13 0x00007f909509f128 in PresShell::Paint (this=0x7f9097883800, + aView=0x7f9099d40500, aRenderingContext=0x7f907d912a60, aDirtyRegion=...) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/layout/base/nsPresShell.cpp:5844 + bgcolor = <value optimized out> + frame = <value optimized out> +#14 0x00007f9095311ac9 in nsViewManager::RenderViews (this=0x7f9099d40280, + aView=<value optimized out>, aRC=..., aRegion=<value optimized out>) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/view/src/nsViewManager.cpp:533 + offsetToRoot = {x = 60, y = 7140} + damageRegion = {mRectCount = 1, mCurRect = 0x7f908868d5c8, + mRectListHead = {<nsRegion::nsRectFast> = {<nsRect> = {x = 0, + y = 0, width = 0, height = 0}, <No data fields>}, + prev = 0x7f908868d5c8, next = 0x7f908868d5c8}, + mBoundRect = {<nsRect> = {x = 60, y = 7140, width = 15060, + height = 48300}, <No data fields>}} + displayRoot = 0x7f9099d40500 + displayRootVM = <value optimized out> +#15 0x00007f9095312a10 in nsViewManager::Refresh (this=0x7f9099d40280, + aView=0x7f909116e680, aContext=0x7f907d912a60, + aRegion=<value optimized out>, aUpdateFlags=1) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/view/src/nsViewManager.cpp:492 + localcx = {<nsCOMPtr_base> = { + mRawPtr = 0x7f907d912a60}, <No data fields>} + p2a = 60 + ctx = {mRawPtr = 0x7f907d914f20} + viewRect = warning: bits 64-128 in computed object were optimized out; replacing with zeroes +{x = 0, y = 0, width = 0, height = 0} + vtowoffset = {x = 0, y = 0} + damageRegion = {mRectCount = 1, mCurRect = 0x7f90a0a7d448, + mRectListHead = {<nsRegion::nsRectFast> = {<nsRect> = {x = 0, + y = 0, width = 0, height = 0}, <No data fields>}, + prev = 0x7f90a0a7d448, next = 0x7f90a0a7d448}, + mBoundRect = {<nsRect> = {x = 0, y = 0, width = 15060, + height = 48300}, <No data fields>}} +#16 0x00007f9095312f8f in nsViewManager::DispatchEvent (this=0x7f9099d40280, + aEvent=0x7fff32deed40, aView=<value optimized out>, + aStatus=<value optimized out>) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/view/src/nsViewManager.cpp:1008 + rootVM = {mRawPtr = 0x7f9099d40280} + widget = {<nsCOMPtr_base> = { + mRawPtr = 0x7f9097878500}, <No data fields>} + transparentWindow = <value optimized out> + view = 0x7f909116e680 + didResize = 0 + event = 0x7fff32deed40 + region = {<nsCOMPtr_base> = { + mRawPtr = 0x7f907d933600}, <No data fields>} +#17 0x00007f909530deaa in HandleEvent (aEvent=0x7fff32deed40) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/view/src/nsView.cpp:167 + vm = {<nsCOMPtr_base> = {mRawPtr = 0x7f9099d40280}, <No data fields>} + result = nsEventStatus_eConsumeNoDefault + view = 0x7f909116e680 +#18 0x00007f909d169999 in nsWindow::DispatchEvent (this=0x7f90a8292b50, + aEvent=<value optimized out>, aStatus=@0x7fff32deeeb8) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/widget/src/gtk2/nsWindow.cpp:626 +No locals. +#19 0x00007f909d172912 in nsWindow::OnExposeEvent (this=0x7f90a8292b50, + aWidget=<value optimized out>, aEvent=0x7fff32def450) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/widget/src/gtk2/nsWindow.cpp:2614 + translucent = 0 + updateRegion = {<nsCOMPtr_base> = { + mRawPtr = 0x7f907d933600}, <No data fields>} + nrects = 1 + r = <value optimized out> + r_end = 0x7f907d918500 + rc = {<nsCOMPtr_base> = {mRawPtr = 0x7f907d912a60}, <No data fields>} + boundsRect = {x = 0, y = 0, width = 251, height = 805} + bufferPixmap = 0x7f907d92f310 + event = {<nsGUIEvent> = {<nsEvent> = {eventStructType = 6 '\006', + message = 130, refPoint = {x = 0, y = 0}, time = 0, flags = 1, + userType = {<nsCOMPtr_base> = { + mRawPtr = 0x0}, <No data fields>}, + target = {<nsCOMPtr_base> = {mRawPtr = 0x0}, <No data fields>}, + currentTarget = {<nsCOMPtr_base> = { + mRawPtr = 0x0}, <No data fields>}, + originalTarget = {<nsCOMPtr_base> = { + mRawPtr = 0x0}, <No data fields>}}, + widget = {<nsCOMPtr_base> = { + mRawPtr = 0x7f90a8292b50}, <No data fields>}, + nativeMsg = 0x0}, renderingContext = 0x7f907d912a60, region = + 0x7f907d933600, rect = 0x0} + rects = 0x7f907d9184f0 + bufferPixmapSize = <value optimized out> + ctx = {mRawPtr = 0x7f907d914ec0} + status = <value optimized out> + kRegionCID = {m0 = 3777450736, m1 = 61082, m2 = 4561, + m3 = "\250*\000@\225\232(\311"} + bufferPixmapSurface = {mRawPtr = 0x7f907d913f40} +#20 0x00007f909d172d68 in expose_event_cb (widget=0x7f9097d03700, + event=0x7fff32def450) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/widget/src/gtk2/nsWindow.cpp:5828 + window = {mRawPtr = 0x7f90a8292b50} +#21 0x0000003138b51003 in _gtk_marshal_BOOLEAN__BOXED ( + closure=0x7f90977a4c70, return_value=0x7fff32def110, + n_param_values=<value optimized out>, param_values=0x7f907d92f280, + invocation_hint=<value optimized out>, marshal_data=<value optimized out>) + at gtkmarshalers.c:84 + callback = 0x7f909d172d34 <expose_event_cb(GtkWidget*, GdkEventExpose*)> + cc = 0x7f90977a4c70 + data1 = 0x7f9097d03700 + data2 = 0x0 + v_return = <value optimized out> + __PRETTY_FUNCTION__ = "_gtk_marshal_BOOLEAN__BOXED" +#22 0x000000384b00b98e in IA__g_closure_invoke (closure=0x7f90977a4c70, + return_value=0x7fff32def110, n_param_values=2, + param_values=0x7f907d92f280, invocation_hint=0x7fff32def0d0) + at gclosure.c:767 + marshal = <value optimized out> + marshal_data = <value optimized out> + in_marshal = <value optimized out> + __PRETTY_FUNCTION__ = "IA__g_closure_invoke" +#23 0x000000384b01f947 in signal_emit_unlocked_R (node=<value optimized out>, + detail=0, instance=0x7f9097d03700, emission_return=0x7fff32def260, + instance_and_params=0x7f907d92f280) at gsignal.c:3248 + tmp = <value optimized out> + handler = 0x7f90977a4bb0 + accumulator = 0x7f90a82a0df0 + emission = {next = 0x7fff32df3460, instance = 0x7f9097d03700, + ihint = {signal_id = 41, detail = 0, + run_type = G_SIGNAL_RUN_FIRST}, state = EMISSION_RUN, + chain_type = 4} + class_closure = 0x7f90a8289100 + handler_list = 0x7f90977a4bb0 + return_accu = 0x7fff32def110 + accu = {g_type = 20, data = {{v_int = 0, v_uint = 0, v_long = 0, + v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, + v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, + v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, + v_float = 0, v_double = 0, v_pointer = 0x0}}} + signal_id = 41 + max_sequential_handler_number = 1552 + return_value_altered = 0 +#24 0x000000384b020c29 in IA__g_signal_emit_valist ( + instance=<value optimized out>, signal_id=<value optimized out>, + detail=<value optimized out>, var_args=0x7fff32def2c0) at gsignal.c:2991 + return_value = {g_type = 20, data = {{v_int = 0, v_uint = 0, + v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, + v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, + v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, + v_float = 0, v_double = 0, v_pointer = 0x0}}} + error = 0x0 + rtype = 20 + static_scope = 0 + instance_and_params = 0x7f907d92f280 + signal_return_type = 20 + param_values = 0x7f907d92f298 + node = 0x7f90a82882e0 + i = <value optimized out> + n_params = 1 + __PRETTY_FUNCTION__ = "IA__g_signal_emit_valist" +#25 0x000000384b0213a3 in IA__g_signal_emit (instance=<value optimized out>, + signal_id=<value optimized out>, detail=<value optimized out>) + at gsignal.c:3038 + var_args = {{gp_offset = 32, fp_offset = 48, + overflow_arg_area = 0x7fff32def3a0, + reg_save_area = 0x7fff32def2e0}} +#26 0x0000003138c8190f in gtk_widget_event_internal (widget=0x7f9097d03700, + event=0x7fff32def450) at gtkwidget.c:4958 + signal_num = <value optimized out> + return_val = 0 +#27 0x0000003138b4909e in IA__gtk_main_do_event (event=0x7fff32def450) + at gtkmain.c:1583 + event_widget = 0x7f9097d03700 + grab_widget = 0x7f9097d03700 + window_group = 0x7f90975dbd20 + rewritten_event = <value optimized out> + tmp_list = <value optimized out> + __PRETTY_FUNCTION__ = "IA__gtk_main_do_event" +#28 0x000000313924340a in _gdk_window_process_updates_recurse ( + window=0x7f909100a9d0, expose_region=0x7f907d92f250) at gdkwindow.c:5181 + event = {type = GDK_EXPOSE, any = {type = GDK_EXPOSE, + window = 0x7f909100a9d0, send_event = 0 '\000'}, expose = { + type = GDK_EXPOSE, window = 0x7f909100a9d0, + send_event = 0 '\000', area = {x = 0, y = 0, width = 251, + height = 805}, region = 0x7f907d92f250, count = 0}, + no_expose = {type = GDK_EXPOSE, window = 0x7f909100a9d0, + send_event = 0 '\000'}, visibility = {type = GDK_EXPOSE, + window = 0x7f909100a9d0, send_event = 0 '\000', + state = GDK_VISIBILITY_UNOBSCURED}, motion = {type = GDK_EXPOSE, + window = 0x7f909100a9d0, send_event = 0 '\000', time = 0, + x = 5.3262094353228335e-312, y = 6.9295894550159656e-310, + axes = 0x7f907d92f250, state = 0, is_hint = 32656, + device = 0x7f909100a9d0, x_root = 6.9296935438300264e-310, + y_root = 6.9296935367154811e-310}, button = {type = GDK_EXPOSE, + window = 0x7f909100a9d0, send_event = 0 '\000', time = 0, + x = 5.3262094353228335e-312, y = 6.9295894550159656e-310, + axes = 0x7f907d92f250, state = 0, button = 32656, + device = 0x7f909100a9d0, x_root = 6.9296935438300264e-310, + y_root = 6.9296935367154811e-310}, scroll = {type = GDK_EXPOSE, + window = 0x7f909100a9d0, send_event = 0 '\000', time = 0, + x = 5.3262094353228335e-312, y = 6.9295894550159656e-310, + state = 2106782288, direction = 32656, device = 0x7f9000000000, + x_root = 6.9297096482918431e-310, + y_root = 6.9296935438300264e-310}, key = {type = GDK_EXPOSE, + window = 0x7f909100a9d0, send_event = 0 '\000', time = 0, + state = 0, keyval = 251, length = 805, + string = 0x7f907d92f250 "\001", hardware_keycode = 0, + group = 0 '\000', is_modifier = 0}, crossing = { + type = GDK_EXPOSE, window = 0x7f909100a9d0, + send_event = 0 '\000', subwindow = 0xfb00000000, time = 805, + x = 6.92969354385137e-310, y = 6.9295894549761933e-310, + x_root = 6.9297096482918431e-310, + y_root = 6.9296935438300264e-310, mode = 2106637856, + detail = 32656, focus = 0, state = 0}, focus_change = { + type = GDK_EXPOSE, window = 0x7f909100a9d0, + send_event = 0 '\000', in = -22495}, configure = { + type = GDK_EXPOSE, window = 0x7f909100a9d0, + send_event = 0 '\000', x = 0, y = 0, width = 251, height = 805}, + property = {type = GDK_EXPOSE, window = 0x7f909100a9d0, + send_event = 0 '\000', atom = 0xfb00000000, time = 805, + state = 32656}, selection = {type = GDK_EXPOSE, + window = 0x7f909100a9d0, send_event = 0 '\000', + selection = 0xfb00000000, target = 0x7f9000000325, + property = 0x7f907d92f250, time = 0, requestor = 32656}, + owner_change = {type = GDK_EXPOSE, window = 0x7f909100a9d0, + send_event = 0 '\000', owner = 0, + reason = GDK_OWNER_CHANGE_NEW_OWNER, selection = 0x7f9000000325, + time = 2106782288, selection_time = 32656}, proximity = { + type = GDK_EXPOSE, window = 0x7f909100a9d0, + send_event = 0 '\000', time = 0, device = 0xfb00000000}, + client = {type = GDK_EXPOSE, window = 0x7f909100a9d0, + send_event = 0 '\000', message_type = 0xfb00000000, + data_format = 805, data = { + b = "P\362\222}\220\177\000\000\000\000\000\000\220\177\000\000\320\251\000\221", s = {-3504, 32146, 32656, 0, 0, 0, 32656, 0, -22064, + -28416}, l = {140258558800464, 140256452018176, + 140258884757968, 140258558800032, 140258558656032}}}, dnd = { + type = GDK_EXPOSE, window = 0x7f909100a9d0, + send_event = 0 '\000', context = 0xfb00000000, time = 805, + x_root = 32656, y_root = 0}, window_state = {type = GDK_EXPOSE, + window = 0x7f909100a9d0, send_event = 0 '\000', changed_mask = 0, + new_window_state = 0}, setting = {type = GDK_EXPOSE, + window = 0x7f909100a9d0, send_event = 0 '\000', + action = GDK_SETTING_ACTION_NEW, + name = 0xfb00000000 <Address 0xfb00000000 out of bounds>}, + grab_broken = {type = GDK_EXPOSE, window = 0x7f909100a9d0, + send_event = 0 '\000', keyboard = 0, implicit = 0, + grab_window = 0x7f9000000325}} + private = 0x7f909100a9d0 + child = <value optimized out> + child_region = <value optimized out> + r = {x = 2106781904, y = 32656, width = -1862227504, height = 32656} + l = <value optimized out> + children = 0x0 +#29 0x000000313923fecb in gdk_window_process_updates_internal ( + window=0x7f909100a9d0) at gdkwindow.c:5340 + expose_region = 0x7f907d92f250 + update_area = 0x7f907d92f0a0 + private = 0x7f909100a9d0 + impl_iface = <value optimized out> + save_region = 0 + clip_box = {x = 0, y = 0, width = 251, height = 805} +#30 0x0000003139244a41 in IA__gdk_window_process_all_updates () + at gdkwindow.c:5448 + private = 0x7f909100a9d0 + old_update_windows = 0x7f907d918480 + tmp_list = 0x7f907d918160 + in_process_all_updates = 1 + got_recursive_update = 1 +#31 0x0000003139244aa9 in gdk_window_update_idle (data=<value optimized out>) + at gdkwindow.c:5074 +No locals. +#32 0x000000313921d606 in gdk_threads_dispatch (data=0x7f907d9145a0) + at gdk.c:512 + dispatch = 0x7f907d9145a0 + ret = 0 +#33 0x0000003849c3bd02 in g_main_dispatch (context=0x7f90a82177a0) + at gmain.c:1960 + dispatch = 0x3849c39d70 <g_idle_dispatch> + was_in_call = 0 + user_data = 0x7f907d9145a0 + callback = 0x313921d5b0 <gdk_threads_dispatch> + cb_funcs = 0x3849efad30 + cb_data = 0x7f907d914760 + current_source_link = {data = 0x7f907d9126a0, next = 0x7fff32df3850} + need_destroy = <value optimized out> + source = 0x7f907d9126a0 + current = 0x7f9099d609d0 + i = <value optimized out> +#34 IA__g_main_context_dispatch (context=0x7f90a82177a0) at gmain.c:2513 +No locals. +#35 0x0000003849c3fae8 in g_main_context_iterate (context=0x7f90a82177a0, + block=1, dispatch=1, self=<value optimized out>) at gmain.c:2591 + max_priority = 120 + timeout = 0 + some_ready = 1 + nfds = 14 + allocated_nfds = <value optimized out> + fds = <value optimized out> + __PRETTY_FUNCTION__ = "g_main_context_iterate" +#36 0x0000003849c3fff5 in IA__g_main_loop_run (loop=0x7f907d921de0) + at gmain.c:2799 + self = 0x7f90a8210440 + __PRETTY_FUNCTION__ = "IA__g_main_loop_run" +#37 0x0000003138ac06d4 in IA__gtk_dialog_run (dialog=0x7f90823486c0) + at gtkdialog.c:1089 + ri = {dialog = 0x0, response_id = -1, loop = 0x7f907d921de0, + destroyed = 0} + was_modal = <value optimized out> + response_handler = 1453 + unmap_handler = 1454 + destroy_handler = 1456 + delete_handler = 1455 + __PRETTY_FUNCTION__ = "IA__gtk_dialog_run" +#38 0x00007f909d1799c7 in nsFilePicker::Show (this=0x7f907d95c900, + aReturn=0x7fff32defb20) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/widget/src/gtk2/nsFilePicker.cpp:541 + count = 1 + response = <value optimized out> + parent_widget = 0x7f907dab9ee0 + action = <value optimized out> + accept_button = <value optimized out> + file_chooser = 0x7f90823486c0 + title = {<nsCString> = {<nsACString_internal> = { + mData = 0x7f907d951a30 "Za\305\202\304\205cz plik do tej wiadomo\305\233ci", mLength = 32, mFlags = 9}, <No data fields>}, <No data fields>} + defaultName = {<nsCAutoString> = {<nsFixedCString> = {<nsCString> = {<nsACString_internal> = {mData = 0x7fff32def8a0 "", mLength = 0, + mFlags = 65553}, <No data fields>}, mFixedCapacity = 63, + mFixedBuf = 0x7fff32def8a0 ""}, + mStorage = "\000\016\032\235\220\177\000\000\b\000\000\000\001\000\000\000\240\241\313\177\220\177\000\000\001\000\000\000\t\000\000\000\300\267\224}\220\177\000\000\017\000\000\000\t\000\000\000\330\246\031\235\220\177\000\000\374\370\336\062\377\177\000"}, <No data fields>} + defaultPath = {<nsCOMPtr_base> = { + mRawPtr = 0x7f908c7f6780}, <No data fields>} +#39 0x0000003139a78001 in NS_InvokeByIndex_P (that=0x7f907d95c900, + methodIndex=17, paramCount=1, params=<value optimized out>) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_x86_64_unix.cpp:208 + nr_stack = <value optimized out> + gpregs = {140734046863264, 140734046862112, 0, 0, 140258884963168, + 140259009756772} + d0 = <value optimized out> + d5 = <value optimized out> + result = <value optimized out> + nr_gpr = 2 + d1 = <value optimized out> + d6 = <value optimized out> + nr_fpr = 0 + d2 = <value optimized out> + d7 = <value optimized out> + methodAddress = <value optimized out> + stack = 0x3139a77fdf + fpregs = {6.9296957829877067e-310, 6.9297208369785449e-310, + -nan(0xfffffffffffff), 1.4821969375237396e-323, + 6.9296935571784944e-310, 1.3137800876962641e-314, + 6.9531857754670951e-310, -1.983372149135684e-91} + d3 = <value optimized out> + d4 = <value optimized out> +#40 0x00007f909e801e8f in XPCWrappedNative::CallMethod (ccx=..., + mode=<value optimized out>) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/js/src/xpconnect/src/xpcwrappednative.cpp:2722 + req = warning: bits 96-128 in computed object were optimized out; replacing with zeroes +{mCX = 0x0, mDepth = -1745217232} + rv = <value optimized out> + retval = 0 + paramCount = 1 '\001' + err = <value optimized out> + tls = <value optimized out> + secAction = <value optimized out> + methodInfo = 0x7f909bdd8b08 + src = 0 + foundDependentParam = 0 + argc = 0 + i = 1 '\001' + xpcc = 0x7f90823f0700 + argv = 0x7f908097a2d0 + secFlag = <value optimized out> + autoStringUsed = 0 + invokeResult = <value optimized out> + param_iid = {m0 = 0, m1 = 0, m2 = 0, m3 = "\323\345\341\212;\000\000"} + ifaceInfo = 0x7f909103cb60 + paramBuffer = {{<nsXPTCMiniVariant> = {val = {i8 = 0 '\000', i16 = 0, + i32 = 0, i64 = 0, u8 = 0 '\000', u16 = 0, u32 = 0, u64 = 0, + f = 0, d = 0, b = 0, c = 0 '\000', wc = 0, p = 0x0}}, + ptr = 0x7fff32defb20, type = {<XPTTypeDescriptorPrefix> = { + flags = 1 '\001'}, <No data fields>}, flags = 1 '\001'}, + {<nsXPTCMiniVariant> = {val = {i8 = 33 '!', i16 = -14047, + i32 = -1964652255, i64 = 255733385505, u8 = 33 '!', + u16 = 51489, u32 = 2330315041, u64 = 255733385505, + f = -2.21275541e-32, d = 1.263490802726963e-312, + b = -1964652255, c = 33 '!', wc = 51489, p = 0x3b8ae5c921}}, + ptr = 0x7f90a0ee0470, type = {<XPTTypeDescriptorPrefix> = { + flags = 0 '\000'}, <No data fields>}, flags = 196 '\304'}, + {<nsXPTCMiniVariant> = {val = {i8 = -120 '\210', i16 = -1144, + i32 = 853474184, i64 = 140734046862216, u8 = 136 '\210', + u16 = 64392, u32 = 853474184, u64 = 140734046862216, + f = 2.59585846e-08, d = 6.9531857754833005e-310, + b = 853474184, c = -120 '\210', wc = 64392, + p = 0x7fff32defb88}}, ptr = 0x7fff32defbb8, + type = {<XPTTypeDescriptorPrefix> = { + flags = 184 '\270'}, <No data fields>}, flags = 251 '\373'}, + {<nsXPTCMiniVariant> = {val = {i8 = 0 '\000', i16 = 0, i32 = 0, + i64 = 0, u8 = 0 '\000', u16 = 0, u32 = 0, u64 = 0, f = 0, + d = 0, b = 0, c = 0 '\000', wc = 0, p = 0x0}}, + ptr = 0x7f9096d1c400, type = {<XPTTypeDescriptorPrefix> = { + flags = 0 '\000'}, <No data fields>}, flags = 196 '\304'}, + {<nsXPTCMiniVariant> = {val = {i8 = 0 '\000', i16 = 0, i32 = 0, + i64 = 0, u8 = 0 '\000', u16 = 0, u32 = 0, u64 = 0, f = 0, + d = 0, b = 0, c = 0 '\000', wc = 0, p = 0x0}}, + ptr = 0x3b8b0ca6b0, type = {<XPTTypeDescriptorPrefix> = { + flags = 184 '\270'}, <No data fields>}, flags = 251 '\373'}, + {<nsXPTCMiniVariant> = {val = {i8 = 62 '>', i16 = 15166, + i32 = 1489124158, i64 = 242007292734, u8 = 62 '>', + u16 = 15166, u32 = 1489124158, u64 = 242007292734, + f = 1.70847759e+15, d = 1.1956748938291532e-312, + b = 1489124158, c = 62 '>', wc = 15166, p = 0x3858c23b3e}}, + ptr = 0x1, type = {<XPTTypeDescriptorPrefix> = { + flags = 192 '\300'}, <No data fields>}, flags = 88 'X'}, + {<nsXPTCMiniVariant> = {val = {i8 = -1 '\377', i16 = -1, i32 = -1, + i64 = 4294967295, u8 = 255 '\377', u16 = 65535, + u32 = 4294967295, u64 = 4294967295, f = -nan(0x7fffff), + d = 2.1219957904712067e-314, b = -1, c = -1 '\377', + wc = 65535, p = 0xffffffff}}, ptr = 0x0, + type = {<XPTTypeDescriptorPrefix> = { + flags = 0 '\000'}, <No data fields>}, flags = 0 '\000'}, + {<nsXPTCMiniVariant> = {val = {i8 = -16 '\360', i16 = -784, + i32 = 853474544, i64 = 140734046862576, u8 = 240 '\360', + u16 = 64752, u32 = 853474544, u64 = 140734046862576, + f = 2.59592241e-08, d = 6.9531857755010868e-310, + b = 853474544, c = -16 '\360', wc = 64752, + p = 0x7fff32defcf0}}, ptr = 0x7f909873fe64, + type = {<XPTTypeDescriptorPrefix> = { + flags = 251 '\373'}, <No data fields>}, flags = 77 'M'}} + autoString = "\000+v\214\220\177", '\000' <repeats 27 times>, "yv\214\220\177\000\000\204Q~\236\220\177\000\000\a\000\000\000\000\000\000\000\360\271#\250\220\177\000\000\000+v\214\220\177\000\000\000\000\000\000\001\000\000\000@\354}\214\220\177\000\000\000|F\200\220\177\000\000@\354}\214\220\177\000\000\000|F\200\220\177\000\000\000|F\200\220\177\000\000@\000\337\062\377\177\000\000\000yv\214\220\177\000\000@\000\337\062\377\177\000\000\060\000\337\062\377\177\000\000\070\000\337\062\377\177\000" + dispatchParams = 0x7fff32defb20 + requiredArgs = <value optimized out> + sm = <value optimized out> + rt = 0x7f90a0a2ac00 + callee = 0x7f907d95c900 + vtblIndex = 17 + name = <value optimized out> +#41 0x00007f909e80b09d in XPC_WN_CallMethod (cx=0x7f9080467c00, + obj=0x7f908c762b00, argc=0, argv=0x7f908097a2d0, vp=<value optimized out>) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/js/src/xpconnect/src/xpcwrappednativejsops.cpp:1740 + funobj = <value optimized out> + wrapper = <value optimized out> + member = 0x7f907d971120 + ccx = {<nsAXPCNativeCallContext> = { + _vptr.nsAXPCNativeCallContext = 0x7f909ea74c50}, + mState = XPCCallContext::READY_TO_CALL, mXPC = 0x7f90a0a16c10, + mThreadData = 0x7f90a0aa1a60, mXPCContext = 0x7f90823f0700, + mJSContext = 0x7f9080467c00, mContextPopRequired = 0, + mDestroyJSContextInDestructor = 0, + mCallerLanguage = XPCContext::LANG_JS, + mPrevCallerLanguage = XPCContext::LANG_NATIVE, + mPrevCallContext = 0x7fff32df0940, + mOperandJSObject = 0x7f908c762b00, + mCurrentJSObject = 0x7f908c762b00, + mFlattenedJSObject = 0x7f908c762b00, mWrapper = 0x7f907dab9d00, + mTearOff = 0x7f907dab9d38, mScriptableInfo = 0x0, + mSet = 0x7f907d94b660, mInterface = 0x7f907d971000, + mMember = 0x7f907d971120, mName = 140259009756772, + mStaticMemberIsLocal = 0, mArgc = 0, mArgv = 0x7f908097a2d0, + mRetVal = 0x7fff32df0228, mReturnValueWasSet = 0, + mMethodIndex = 17, mCallee = 0x0, + mStringWrapperData = "d\376s\230\220\177\000\000\000|F\200\220\177\000\000\000\000\000\000\220\177\000\000\330\241\227\200\220\177\000\000\000\000\000\000\021\000\000\000\000\000\000\000\220\177\000"} + iface = 0x7f907d971000 +#42 0x0000003b8ae55084 in js_Invoke (cx=0x7f9080467c00, argc=0, + vp=0x7f908097a2c0, flags=2) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/js/src/jsinterp.cpp:1360 + frame = {regs = 0x0, imacpc = 0x0, slots = 0x0, callobj = 0x0, + argsobj = 0, varobj = 0x0, script = 0x0, fun = 0x7f90885e9af0, + thisp = 0x7f908c762b00, argc = 0, argv = 0x7f908097a2d0, rval = 22, + down = 0x7f908097a1d8, annotation = 0x0, + scopeChain = 0x7f90910dcb40, blockChain = 0x0, sharpDepth = 0, + sharpArray = 0x0, flags = 34, dormantNext = 0x0, displaySave = 0x0} + argv = 0x7f908097a2d0 + funobj = <value optimized out> + ok = 59 + clasp = <value optimized out> + i = <value optimized out> + mark = 0x7f908097a2f0 + sp = <value optimized out> + newvp = <value optimized out> + v = 140258808592640 + ops = <value optimized out> + hookData = 0x0 + parent = 0x7f908c762b00 + fun = <value optimized out> + rootedArgsFlag = 32 + native = 0x7f909e80afb5 <XPC_WN_CallMethod(JSContext*, JSObject*, uintN, jsval*, jsval*)> + script = 0x0 + nslots = <value optimized out> + hook = 0 +#43 0x0000003b8ae4e5d1 in js_Interpret (cx=0x7f9080467c00) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/js/src/jsops.cpp:2240 + getter = 0x7f90885e9af0 + op = JSOP_CALL + prop = 0x7f90885d2720 + npairs = -2137546048 + currentVersion = 12468 + obj = 0x7f908c767900 + d = 6.9296960457484177e-310 + off = 48 + fp = 0x7f908097a1d8 + inlineCallCount = 1 + regs = {pc = 0x7f907fd611b6 ":", sp = 0x7f908097a2d0} + pc2 = 0x7f9000000000 <Address 0x7f9000000000 out of bounds> + clasp = 0x0 + low = 0 + rt = 0x7f90a0ee0000 + op2 = JSOP_PROPINC + vp = 0x3a + script = 0x7f907fd61000 + originalVersion = 12468 + obj2 = 0x7f90910dcb40 + cond = 1 + lval = 58 + id = 140259009756772 + d2 = 0 + fun = 0x7f90885e9af0 + normalJumpTable = {0x3b8ae47d6e, 0x3b8ae47e55, 0x3b8ae47ef7, + 0x3b8ae47f34, 0x3b8ae47f78, 0x3b8ae47faa, 0x3b8ae48265, + 0x3b8ae482e8, 0x3b8ae483e1, 0x3b8ae4f5c6, 0x3b8ae48e31, + 0x3b8ae48e84, 0x3b8ae49091, 0x3b8ae490d5, 0x3b8ae491e3, + 0x3b8ae49532, 0x3b8ae49602, 0x3b8ae496d2, 0x3b8ae497a2, + 0x3b8ae49bf2, 0x3b8ae4a381, 0x3b8ae4a603, 0x3b8ae4a887, + 0x3b8ae4ab0f, 0x3b8ae4ad97, 0x3b8ae4ae6e, 0x3b8ae4af43, + 0x3b8ae4b019, 0x3b8ae4b3d5, 0x3b8ae4b505, 0x3b8ae4b635, + 0x3b8ae4b7ea, 0x3b8ae4b983, 0x3b8ae4ba19, 0x3b8ae4baa7, + 0x3b8ae4bb61, 0x3b8ae4bbc2, 0x3b8ae4bc96, 0x3b8ae4bd57, + 0x3b8ae4be50, 0x3b8ae4beab, 0x3b8ae4bfd4, 0x3b8ae4bef3, + 0x3b8ae4bedc, 0x3b8ae4bfd6, 0x3b8ae4bef5, 0x3b8ae4bede, + 0x3b8ae4bfd8, 0x3b8ae4bef7, 0x3b8ae4bee0, 0x3b8ae4bfd8, + 0x3b8ae4bef7, 0x3b8ae4bee0, 0x3b8ae4c984, 0x3b8ae4d1be, + 0x3b8ae4d92e, 0x3b8ae4dcc3, 0x3b8ae4e839, 0x3b8ae4e0f0, + 0x3b8ae4e839, 0x3b8ae4edd9, 0x3b8ae4edd9, 0x3b8ae4f059, + 0x3b8ae4f095, 0x3b8ae4f0d1, 0x3b8ae4c82b, 0x3b8ae4f10d, + 0x3b8ae4f149, 0x3b8ae484da, 0x3b8ae485a8, 0x3b8ae4f185, + 0x3b8ae4f35b, 0x3b8ae4a042, 0x3b8ae4a0b4, 0x3b8ae4e723, + 0x3b8ae48ce5, 0x3b8ae48d5f, 0x3b8ae48deb, 0x3b8ae4e0f2, + 0x3b8ae49129, 0x3b8ae4ee2c, 0x3b8ae47e91, 0x3b8ae4df8a, + 0x3b8ae4f552, 0x3b8ae4f70c, 0x3b8ae4f786, 0x3b8ae4f801, + 0x3b8ae4f8c5, 0x3b8ae4ebc9, 0x3b8ae50d1b, 0x3b8ae50db5, + 0x3b8ae50e0c, 0x3b8ae511c7, 0x3b8ae51306, 0x3b8ae513ec, + 0x3b8ae4c49f, 0x3b8ae4c488, 0x3b8ae4c4a6, 0x3b8ae4c494, + 0x3b8ae4c4ec, 0x3b8ae4c4d5, 0x3b8ae4c4f3, 0x3b8ae4c4e1, + 0x3b8ae49522, 0x3b8ae48ed7, 0x3b8ae48f90, 0x3b8ae4904d, + 0x3b8ae47ebb, 0x3b8ae4938e, 0x3b8ae4d1be, 0x3b8ae516df, + 0x3b8ae48ae5, 0x3b8ae518e1, 0x3b8ae51980, 0x3b8ae514d4, + 0x3b8ae515cb, 0x3b8ae51633, 0x3b8ae47e34, 0x3b8ae47d8f, + 0x3b8ae4a126, 0x3b8ae4825c, 0x3b8ae4e0f2, 0x3b8ae4de9c, + 0x3b8ae50881, 0x3b8ae50881, 0x3b8ae50068, 0x3b8ae4fe79, + 0x3b8ae4fe79, 0x3b8ae50675, 0x3b8ae50841, 0x3b8ae516ff, + 0x3b8ae4917a, 0x3b8ae47db0, 0x3b8ae51678, 0x3b8ae4fb6d, + 0x3b8ae4fb6d, 0x3b8ae4f61e, 0x3b8ae4f69d, 0x3b8ae50467, + 0x3b8ae4867f, 0x3b8ae48711, 0x3b8ae4881f, 0x3b8ae4892d, + 0x3b8ae48a09, 0x3b8ae5154a, 0x3b8ae4a24c, 0x3b8ae48676, + 0x3b8ae4f25c, 0x3b8ae4f354, 0x3b8ae527ba, 0x3b8ae527bc, + 0x3b8ae51698, 0x3b8ae47ef7, 0x3b8ae47fc8, 0x3b8ae4fbf4, + 0x3b8ae4fcd9, 0x3b8ae4c615, 0x3b8ae4c5e2, 0x3b8ae4c62e, + 0x3b8ae4c5fc, 0x3b8ae4ee9f, 0x3b8ae51a13, 0x3b8ae51a64, + 0x3b8ae51ab9, 0x3b8ae51b0c, 0x3b8ae51b81, 0x3b8ae51beb, + 0x3b8ae51c49, 0x3b8ae51ca5, 0x3b8ae51ca5, 0x3b8ae51d1f, + 0x3b8ae51d9f, 0x3b8ae51e70, 0x3b8ae51f21, 0x3b8ae52017, + 0x3b8ae52064, 0x3b8ae52182, 0x3b8ae521dc, 0x3b8ae52236, + 0x3b8ae5228c, 0x3b8ae52307, 0x3b8ae52393, 0x3b8ae5240a, + 0x3b8ae52481, 0x3b8ae4cd7d, 0x3b8ae4f940, 0x3b8ae4f940, + 0x3b8ae51f21, 0x3b8ae4ec27, 0x3b8ae4ed53, 0x3b8ae4edb4, + 0x3b8ae4edb4, 0x3b8ae47df2, 0x3b8ae47e13, 0x3b8ae4db85, + 0x3b8ae47fc8, 0x3b8ae4c984, 0x3b8ae51e70, 0x3b8ae4be50, + 0x3b8ae52558...} + len = 0 + str = 0x3a + ok = 58 + atom = 0x0 + rval = 140258808592640 + i = 58 + setter = 0x3a + index = 2157421248 + attrs = 2279691360 + flags = 0 + ltmp = 140258609439424 + j = 0 + atoms = 0x7f907fd61060 + parent = 0x7f908097a2c0 + argc = 0 + slot = 0 + str2 = 0x7f908097a2c0 + type = JSTYPE_VOID + interruptJumpTable = {0x3b8ae47cf9 <repeats 235 times>} + rtmp = 2 + sprop = 0x7f908097a2c0 +#44 0x0000003b8ae5508e in js_Invoke (cx=0x7f9080467c00, argc=1, + vp=0x7f908097a1a0, flags=0) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/js/src/jsinterp.cpp:1368 + frame = {regs = 0x7f908097a280, imacpc = 0x0, slots = 0x7f908097a1b8, + callobj = 0x0, argsobj = 0, varobj = 0x0, script = 0x7f9088581000, + fun = 0x7f90969d30e0, thisp = 0x7f9096ef1040, argc = 1, + argv = 0x7f908097a1b0, rval = 22, down = 0x7fff32df14c0, + annotation = 0x0, scopeChain = 0x7f90910dcb40, blockChain = 0x0, + sharpDepth = 0, sharpArray = 0x0, flags = 32, dormantNext = 0x0, + displaySave = 0x7f908097a070} + argv = 0x7f908097a1b0 + funobj = <value optimized out> + ok = 32656 + clasp = <value optimized out> + i = <value optimized out> + mark = 0x7f908097a1b8 + sp = <value optimized out> + newvp = <value optimized out> + v = 140258984268032 + ops = <value optimized out> + hookData = 0x0 + parent = 0x7f90910dcb40 + fun = <value optimized out> + rootedArgsFlag = 32 + native = 0 + script = 0x7f9088581000 + nslots = <value optimized out> + hook = 0 +#45 0x00007f909e7feddd in nsXPCWrappedJSClass::CallMethod ( + this=0x7f908c311500, wrapper=<value optimized out>, methodIndex=5, + info=0x7f909bddbee8, nativeParams=0x7fff32df0aa0) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/js/src/xpconnect/src/xpcwrappedjsclass.cpp:1696 + _val_1654 = {mVal = 0, mValPtr = 0x7fff32df07e8} + _automarker_1654 = {<AutoMarkingPtr> = { + _vptr.AutoMarkingPtr = 0x7f909ea74790, mNext = 0x0, + mTLS = 0x7f90a0aa1a60}, mPtr = 0x7fff32df0740} + stackbase = 0x7f908097a1a0 + paramCount = 1 '\001' + retval = 2147500037 + ssm = 0x7f90a8245740 + sp = 0x7f908097a1b8 + argc = 1 '\001' + fval = 140258984268032 + foundDependentParam = <value optimized out> + ccx = {<nsAXPCNativeCallContext> = { + _vptr.nsAXPCNativeCallContext = 0x7f909ea74c50}, + mState = XPCCallContext::HAVE_CONTEXT, mXPC = 0x7f90a0a16c10, + mThreadData = 0x7f90a0aa1a60, mXPCContext = 0x7f90823f0700, + mJSContext = 0x7f9080467c00, mContextPopRequired = 0, + mDestroyJSContextInDestructor = 0, + mCallerLanguage = XPCContext::LANG_NATIVE, + mPrevCallerLanguage = XPCContext::LANG_JS, + mPrevCallContext = 0x7fff32df1330, mOperandJSObject = 0x3858c23e28, + mCurrentJSObject = 0x7fff32df1330, + mFlattenedJSObject = 0x7f909e7e4781, mWrapper = 0x0, + mTearOff = 0x7f909e8067ba, mScriptableInfo = 0x2, + mSet = 0x7f907e685428, mInterface = 0x7f909ea74760, + mMember = 0x7fff32df0a80, mName = 140259147520608, + mStaticMemberIsLocal = 2106745680, mArgc = 32656, + mArgv = 0x7f907fb15720, mRetVal = 0xe11236a8, + mReturnValueWasSet = 655456, mMethodIndex = 0, + mCallee = 0x7f9096ef1100, + mStringWrapperData = "\000|F\200\220\177\000\000\021\n\200\236\220\177\000\000\000\000\000\000\220\177\000\000\060\023\337\062\377\177\000\000\060\023\337\062\377\177\000\000\000\000\000\000\220\177\000"} + scriptEval = {mJSContext = 0x7f9080467c00, mState = 0x0, + mErrorReporterSet = 0, mEvaluated = 1, + mContextHasThread = 140259272757312} + i = <value optimized out> + stack_size = <value optimized out> + success = <value optimized out> + readyToDoTheCall = -1474013376 + xpcc = 0x7f90823f0700 + context = <value optimized out> + param_iid = {m0 = 853478080, m1 = 32767, m2 = 0, + m3 = "\340n\316\177\220\177\000"} + mark = <value optimized out> + cx = 0x7f9080467c00 + popPrincipal = 1 + obj = 0x7f9096ef1040 + thisObj = 0x7f9096ef1040 + result = 0 + name = 0x7f909bddbf80 "doCommand" + kungFuDeathGrip = {<nsCOMPtr_base> = { + mRawPtr = 0x7f908c311500}, <No data fields>} +#46 0x0000003139a78be1 in PrepareAndDispatch (self=0x7f907fb15720, + methodIndex=<value optimized out>, args=<value optimized out>, + gpregs=0x7fff32df0ba0, fpregs=0x7fff32df0bd0) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_x86_64_linux.cpp:153 + paramCount = <value optimized out> + nr_fpr = <value optimized out> + value = <value optimized out> + paramBuffer = {{val = {i8 = 112 'p', i16 = -31376, i32 = 2106688880, + i64 = 140258558707056, u8 = 112 'p', u16 = 34160, + u32 = 2106688880, u64 = 140258558707056, f = 2.41788633e+37, + d = 6.9296935392364016e-310, b = 2106688880, c = 112 'p', + wc = 34160, p = 0x7f907d918570}}, {val = {i8 = 40 '(', + i16 = 3624, i32 = 853478952, i64 = 140734046866984, + u8 = 40 '(', u16 = 3624, u32 = 853478952, + u64 = 140734046866984, f = 2.59670543e-08, + d = 6.953185775718871e-310, b = 853478952, c = 40 '(', + wc = 3624, p = 0x7fff32df0e28}}, {val = {i8 = 104 'h', + i16 = 19048, i32 = 969689704, i64 = 211423087208, u8 = 104 'h', + u16 = 19048, u32 = 969689704, u64 = 211423087208, + f = 0.000389653491, d = 1.0445688412717071e-312, b = 969689704, + c = 104 'h', wc = 19048, p = 0x3139cc4a68}}, {val = { + i8 = 0 '\000', i16 = 16128, i32 = -1681244416, + i64 = 140259065741056, u8 = 0 '\000', u16 = 16128, + u32 = 2613722880, u64 = 140259065741056, f = -3.34588095e-22, + d = 6.929718590044469e-310, b = -1681244416, c = 0 '\000', + wc = 16128, p = 0x7f909bca3f00}}, {val = {i8 = -32 '\340', + i16 = -11552, i32 = 2106774240, i64 = 140258558792416, + u8 = 224 '\340', u16 = 53984, u32 = 2106774240, + u64 = 140258558792416, f = 2.43952766e+37, + d = 6.929693543453746e-310, b = 2106774240, c = -32 '\340', + wc = 53984, p = 0x7f907d92d2e0}}, {val = {i8 = -112 '\220', + i16 = 2960, i32 = 853478288, i64 = 140734046866320, + u8 = 144 '\220', u16 = 2960, u32 = 853478288, + u64 = 140734046866320, f = 2.59658748e-08, + d = 6.953185775686065e-310, b = 853478288, c = -112 '\220', + wc = 2960, p = 0x7fff32df0b90}}, {val = {i8 = 1 '\001', + i16 = 1, i32 = 1, i64 = 140733193388033, u8 = 1 '\001', + u16 = 1, u32 = 1, u64 = 140733193388033, f = 1.40129846e-45, + d = 6.9531436082559572e-310, b = 1, c = 1 '\001', wc = 1, + p = 0x7fff00000001}}, {val = {i8 = 14 '\016', i16 = -19698, + i32 = -1792036082, i64 = 2502931214, u8 = 14 '\016', + u16 = 45838, u32 = 2502931214, u64 = 2502931214, + f = -3.54822178e-26, d = 1.2366123267411253e-314, + b = -1792036082, c = 14 '\016', wc = 45838, p = 0x952fb30e}}, { + val = {i8 = 77 'M', i16 = 5197, i32 = 1208030285, + i64 = 241726198861, u8 = 77 'M', u16 = 5197, u32 = 1208030285, + u64 = 241726198861, f = 132177.203, + d = 1.1942861055700956e-312, b = 1208030285, c = 77 'M', + wc = 5197, p = 0x384801144d}}, {val = {i8 = 56 '8', i16 = 4152, + i32 = 853479480, i64 = 140734046867512, u8 = 56 '8', + u16 = 4152, u32 = 853479480, u64 = 140734046867512, + f = 2.59679922e-08, d = 6.9531857757449576e-310, b = 853479480, + c = 56 '8', wc = 4152, p = 0x7fff32df1038}}, {val = { + i8 = -48 '\320', i16 = 3024, i32 = 853478352, + i64 = 140734046866384, u8 = 208 '\320', u16 = 3024, + u32 = 853478352, u64 = 140734046866384, f = 2.59659885e-08, + d = 6.953185775689227e-310, b = 853478352, c = -48 '\320', + wc = 3024, p = 0x7fff32df0bd0}}, {val = {i8 = 40 '(', + i16 = 3624, i32 = 853478952, i64 = 140734046866984, + u8 = 40 '(', u16 = 3624, u32 = 853478952, + u64 = 140734046866984, f = 2.59670543e-08, + d = 6.953185775718871e-310, b = 853478952, c = 40 '(', + wc = 3624, p = 0x7fff32df0e28}}, {val = {i8 = -88 '\250', + i16 = 4264, i32 = 853479592, i64 = 140734046867624, + u8 = 168 '\250', u16 = 4264, u32 = 853479592, + u64 = 140734046867624, f = 2.59681912e-08, + d = 6.9531857757504912e-310, b = 853479592, c = -88 '\250', + wc = 4264, p = 0x7fff32df10a8}}, {val = {i8 = 0 '\000', + i16 = 31744, i32 = -2142864384, i64 = 140258604121088, + u8 = 0 '\000', u16 = 31744, u32 = 2152102912, + u64 = 140258604121088, f = -6.47296755e-39, + d = 6.9296957829877067e-310, b = -2142864384, c = 0 '\000', + wc = 31744, p = 0x7f9080467c00}}, {val = {i8 = -128 '\200', + i16 = -896, i32 = -1676280704, i64 = 140259070704768, + u8 = 128 '\200', u16 = 64640, u32 = 2618686592, + u64 = 140259070704768, f = -4.96263131e-22, + d = 6.9297188352844265e-310, b = -1676280704, c = -128 '\200', + wc = 64640, p = 0x7f909c15fc80}}, {val = {i8 = 26 '\032', + i16 = 3610, i32 = -1635840486, i64 = 2659126810, + u8 = 26 '\032', u16 = 3610, u32 = 2659126810, u64 = 2659126810, + f = -1.35025037e-20, d = 1.3137832047564237e-314, + b = -1635840486, c = 26 '\032', wc = 3610, p = 0x9e7f0e1a}}} + dispatchParams = <value optimized out> + info = 0x7f909bddbee8 + nr_gpr = <value optimized out> + i = <value optimized out> + result = 2147500037 + ap = 0x7fff32df0c20 +#47 0x0000003139a780a3 in SharedStub () + from /usr/lib64/thunderbird-3.1/libxpcom_core.so +No symbol table info available. +#48 0x0000003139a78001 in NS_InvokeByIndex_P (that=0x7f907fb15720, + methodIndex=5, paramCount=1, params=<value optimized out>) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_x86_64_unix.cpp:208 + nr_stack = <value optimized out> + gpregs = {140259272788352, 140258558707056, 0, 0, 140258804115488, + 140259010974516} + d0 = <value optimized out> + d5 = <value optimized out> + result = <value optimized out> + nr_gpr = 2 + d1 = <value optimized out> + d6 = <value optimized out> + nr_fpr = 0 + d2 = <value optimized out> + d7 = <value optimized out> + methodAddress = <value optimized out> + stack = 0x3139a77fdf + fpregs = {6.9297056640239467e-310, 6.9297158842153043e-310, + 6.9531857757825066e-310, 1.263489511150433e-312, + 6.9297154859551136e-310, 6.9297208330274031e-310, + 9.5023411082278302e-315, 1.8656250996705733e-314} + d3 = <value optimized out> + d4 = <value optimized out> +#49 0x00007f909e801e8f in XPCWrappedNative::CallMethod (ccx=..., + mode=<value optimized out>) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/js/src/xpconnect/src/xpcwrappednative.cpp:2722 + req = warning: bits 96-128 in computed object were optimized out; replacing with zeroes +{mCX = 0x0, mDepth = -1745217232} + rv = <value optimized out> + retval = 0 + paramCount = 1 '\001' + err = <value optimized out> + tls = <value optimized out> + secAction = <value optimized out> + methodInfo = 0x7f909bddbee8 + src = 140259002913588 + foundDependentParam = 0 + argc = 1 + i = 1 '\001' + xpcc = 0x7f90823f0700 + argv = 0x7f908097a158 + secFlag = <value optimized out> + autoStringUsed = 0 + invokeResult = <value optimized out> + param_iid = {m0 = 1, m1 = 0, m2 = 0, m3 = "\323\345\341\212;\000\000"} + ifaceInfo = 0x7f908c322820 + paramBuffer = {{<nsXPTCMiniVariant> = {val = {i8 = 112 'p', + i16 = -31376, i32 = 2106688880, i64 = 140258558707056, + u8 = 112 'p', u16 = 34160, u32 = 2106688880, + u64 = 140258558707056, f = 2.41788633e+37, + d = 6.9296935392364016e-310, b = 2106688880, c = 112 'p', + wc = 34160, p = 0x7f907d918570}}, ptr = 0x7f9097fa18c0, + type = {<XPTTypeDescriptorPrefix> = { + flags = 144 '\220'}, <No data fields>}, flags = 0 '\000'}, + {<nsXPTCMiniVariant> = {val = {i8 = 33 '!', i16 = -14047, + i32 = -1964652255, i64 = 255733385505, u8 = 33 '!', + u16 = 51489, u32 = 2330315041, u64 = 255733385505, + f = -2.21275541e-32, d = 1.263490802726963e-312, + b = -1964652255, c = 33 '!', wc = 51489, p = 0x3b8ae5c921}}, + ptr = 0x7f90a0ee0470, type = {<XPTTypeDescriptorPrefix> = { + flags = 0 '\000'}, <No data fields>}, flags = 196 '\304'}, + {<nsXPTCMiniVariant> = {val = {i8 = 120 'x', i16 = 3704, + i32 = 853479032, i64 = 140734046867064, u8 = 120 'x', + u16 = 3704, u32 = 853479032, u64 = 140734046867064, + f = 2.59671964e-08, d = 6.9531857757228235e-310, + b = 853479032, c = 120 'x', wc = 3704, p = 0x7fff32df0e78}}, + ptr = 0x7fff32df0ea8, type = {<XPTTypeDescriptorPrefix> = { + flags = 168 '\250'}, <No data fields>}, flags = 14 '\016'}, + {<nsXPTCMiniVariant> = {val = {i8 = 0 '\000', i16 = 0, i32 = 0, + i64 = 0, u8 = 0 '\000', u16 = 0, u32 = 0, u64 = 0, f = 0, + d = 0, b = 0, c = 0 '\000', wc = 0, p = 0x0}}, + ptr = 0x7f9096d1c400, type = {<XPTTypeDescriptorPrefix> = { + flags = 0 '\000'}, <No data fields>}, flags = 196 '\304'}, + {<nsXPTCMiniVariant> = {val = {i8 = 0 '\000', i16 = 0, i32 = 0, + i64 = 0, u8 = 0 '\000', u16 = 0, u32 = 0, u64 = 0, f = 0, + d = 0, b = 0, c = 0 '\000', wc = 0, p = 0x0}}, + ptr = 0x3b8b0ca6b0, type = {<XPTTypeDescriptorPrefix> = { + flags = 168 '\250'}, <No data fields>}, flags = 14 '\016'}, + {<nsXPTCMiniVariant> = {val = {i8 = 62 '>', i16 = 15166, + i32 = 1489124158, i64 = 242007292734, u8 = 62 '>', + u16 = 15166, u32 = 1489124158, u64 = 242007292734, + f = 1.70847759e+15, d = 1.1956748938291532e-312, + b = 1489124158, c = 62 '>', wc = 15166, p = 0x3858c23b3e}}, + ptr = 0x1, type = {<XPTTypeDescriptorPrefix> = { + flags = 192 '\300'}, <No data fields>}, flags = 88 'X'}, + {<nsXPTCMiniVariant> = {val = {i8 = -1 '\377', i16 = -1, i32 = -1, + i64 = 4294967295, u8 = 255 '\377', u16 = 65535, + u32 = 4294967295, u64 = 4294967295, f = -nan(0x7fffff), + d = 2.1219957904712067e-314, b = -1, c = -1 '\377', + wc = 65535, p = 0xffffffff}}, ptr = 0x0, + type = {<XPTTypeDescriptorPrefix> = { + flags = 0 '\000'}, <No data fields>}, flags = 0 '\000'}, + {<nsXPTCMiniVariant> = {val = {i8 = -32 '\340', i16 = 4064, + i32 = 853479392, i64 = 140734046867424, u8 = 224 '\340', + u16 = 4064, u32 = 853479392, u64 = 140734046867424, + f = 2.59678359e-08, d = 6.9531857757406099e-310, + b = 853479392, c = -32 '\340', wc = 4064, + p = 0x7fff32df0fe0}}, ptr = 0x7f9098869334, + type = {<XPTTypeDescriptorPrefix> = { + flags = 251 '\373'}, <No data fields>}, flags = 77 'M'}} + autoString = "\000?\312\233\220\177\000\000\000\000\000\000\000\000\000\000\001", '\000' <repeats 15 times>"\200, *v\214\220\177\000\000\204Q~\236\220\177\000\000\a\000\000\000\000\000\000\000\360\271#\250\220\177\000\000\000?\312\233\220\177\000\000\000\000\000\000\001\000\000\000\004\222\206\230\220\177\000\000\000|F\200\220\177", '\000' <repeats 11 times>, "|F\200\220\177\000\000\000|F\200\220\177\000\000\060\023\337\062\377\177\000\000\200*v\214\220\177\000\000\060\023\337\062\377\177\000\000 \023\337\062\377\177\000\000(\023\337\062\377\177\000" + dispatchParams = 0x7fff32df0e10 + requiredArgs = <value optimized out> + sm = <value optimized out> + rt = 0x7f90a0a2ac00 + callee = 0x7f907fb15720 + vtblIndex = 5 + name = <value optimized out> +#50 0x00007f909e80b09d in XPC_WN_CallMethod (cx=0x7f9080467c00, + obj=0x7f909bca3f00, argc=1, argv=0x7f908097a158, vp=<value optimized out>) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/js/src/xpconnect/src/xpcwrappednativejsops.cpp:1740 + funobj = <value optimized out> + wrapper = <value optimized out> + member = 0x7f907d9263b0 + ccx = {<nsAXPCNativeCallContext> = { + _vptr.nsAXPCNativeCallContext = 0x7f909ea74c50}, + mState = XPCCallContext::READY_TO_CALL, mXPC = 0x7f90a0a16c10, + mThreadData = 0x7f90a0aa1a60, mXPCContext = 0x7f90823f0700, + mJSContext = 0x7f9080467c00, mContextPopRequired = 0, + mDestroyJSContextInDestructor = 0, + mCallerLanguage = XPCContext::LANG_JS, + mPrevCallerLanguage = XPCContext::LANG_UNKNOWN, + mPrevCallContext = 0x0, mOperandJSObject = 0x7f909bca3f00, + mCurrentJSObject = 0x7f909bca3f00, + mFlattenedJSObject = 0x7f909bca3f00, mWrapper = 0x7f907d92d2e0, + mTearOff = 0x7f907d92d318, mScriptableInfo = 0x0, + mSet = 0x7f907d9144a0, mInterface = 0x7f907d926350, + mMember = 0x7f907d9263b0, mName = 140259010974516, + mStaticMemberIsLocal = 0, mArgc = 1, mArgv = 0x7f908097a158, + mRetVal = 0x7fff32df1518, mReturnValueWasSet = 0, mMethodIndex = 5, + mCallee = 0x0, + mStringWrapperData = "4\223\206\230\220\177\000\000\000|F\200\220\177\000\000\000\000\000\000\220\177\000\000p\240\227\200\220\177\000\000\000\000\000\000\005\000\000\000\000\000\000\000\220\177\000"} + iface = 0x7f907d926350 +#51 0x0000003b8ae55084 in js_Invoke (cx=0x7f9080467c00, argc=1, + vp=0x7f908097a148, flags=2) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/js/src/jsinterp.cpp:1360 + frame = {regs = 0x0, imacpc = 0x0, slots = 0x0, callobj = 0x0, + argsobj = 0, varobj = 0x0, script = 0x0, fun = 0x7f9088563150, + thisp = 0x7f909bca3f00, argc = 1, argv = 0x7f908097a158, rval = 22, + down = 0x7f908097a070, annotation = 0x0, + scopeChain = 0x7f90910dcb40, blockChain = 0x0, sharpDepth = 0, + sharpArray = 0x0, flags = 34, dormantNext = 0x0, displaySave = 0x0} + argv = 0x7f908097a158 + funobj = <value optimized out> + ok = 59 + clasp = <value optimized out> + i = <value optimized out> + mark = 0x7f908097a190 + sp = <value optimized out> + newvp = <value optimized out> + v = 140258808572544 + ops = <value optimized out> + hookData = 0x0 + parent = 0x7f909bca3f00 + fun = <value optimized out> + rootedArgsFlag = 32 + native = 0x7f909e80afb5 <XPC_WN_CallMethod(JSContext*, JSObject*, uintN, jsval*, jsval*)> + script = 0x0 + nslots = <value optimized out> + hook = 0 +#52 0x0000003b8ae4e5d1 in js_Interpret (cx=0x7f9080467c00) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/js/src/jsops.cpp:2240 + getter = 0x7f9088563150 + op = JSOP_CALL + prop = 0x7f90974243d8 + npairs = -2137546424 + currentVersion = 12468 + obj = 0x7f908c762a80 + d = 6.9296960457298409e-310 + off = 48 + fp = 0x7f908097a070 + inlineCallCount = 1 + regs = {pc = 0x7f9097606612 ":", sp = 0x7f908097a160} + pc2 = 0x7f9000000001 <Address 0x7f9000000001 out of bounds> + clasp = 0x0 + low = 0 + rt = 0x7f90a0ee0000 + op2 = JSOP_PROPINC + vp = 0x3a + script = 0x7f9097606500 + originalVersion = 8192 + obj2 = 0x7f908cc7c980 + cond = 1 + lval = 58 + id = 140259010974516 + d2 = 0 + fun = 0x7f9088563150 + normalJumpTable = {0x3b8ae47d6e, 0x3b8ae47e55, 0x3b8ae47ef7, + 0x3b8ae47f34, 0x3b8ae47f78, 0x3b8ae47faa, 0x3b8ae48265, + 0x3b8ae482e8, 0x3b8ae483e1, 0x3b8ae4f5c6, 0x3b8ae48e31, + 0x3b8ae48e84, 0x3b8ae49091, 0x3b8ae490d5, 0x3b8ae491e3, + 0x3b8ae49532, 0x3b8ae49602, 0x3b8ae496d2, 0x3b8ae497a2, + 0x3b8ae49bf2, 0x3b8ae4a381, 0x3b8ae4a603, 0x3b8ae4a887, + 0x3b8ae4ab0f, 0x3b8ae4ad97, 0x3b8ae4ae6e, 0x3b8ae4af43, + 0x3b8ae4b019, 0x3b8ae4b3d5, 0x3b8ae4b505, 0x3b8ae4b635, + 0x3b8ae4b7ea, 0x3b8ae4b983, 0x3b8ae4ba19, 0x3b8ae4baa7, + 0x3b8ae4bb61, 0x3b8ae4bbc2, 0x3b8ae4bc96, 0x3b8ae4bd57, + 0x3b8ae4be50, 0x3b8ae4beab, 0x3b8ae4bfd4, 0x3b8ae4bef3, + 0x3b8ae4bedc, 0x3b8ae4bfd6, 0x3b8ae4bef5, 0x3b8ae4bede, + 0x3b8ae4bfd8, 0x3b8ae4bef7, 0x3b8ae4bee0, 0x3b8ae4bfd8, + 0x3b8ae4bef7, 0x3b8ae4bee0, 0x3b8ae4c984, 0x3b8ae4d1be, + 0x3b8ae4d92e, 0x3b8ae4dcc3, 0x3b8ae4e839, 0x3b8ae4e0f0, + 0x3b8ae4e839, 0x3b8ae4edd9, 0x3b8ae4edd9, 0x3b8ae4f059, + 0x3b8ae4f095, 0x3b8ae4f0d1, 0x3b8ae4c82b, 0x3b8ae4f10d, + 0x3b8ae4f149, 0x3b8ae484da, 0x3b8ae485a8, 0x3b8ae4f185, + 0x3b8ae4f35b, 0x3b8ae4a042, 0x3b8ae4a0b4, 0x3b8ae4e723, + 0x3b8ae48ce5, 0x3b8ae48d5f, 0x3b8ae48deb, 0x3b8ae4e0f2, + 0x3b8ae49129, 0x3b8ae4ee2c, 0x3b8ae47e91, 0x3b8ae4df8a, + 0x3b8ae4f552, 0x3b8ae4f70c, 0x3b8ae4f786, 0x3b8ae4f801, + 0x3b8ae4f8c5, 0x3b8ae4ebc9, 0x3b8ae50d1b, 0x3b8ae50db5, + 0x3b8ae50e0c, 0x3b8ae511c7, 0x3b8ae51306, 0x3b8ae513ec, + 0x3b8ae4c49f, 0x3b8ae4c488, 0x3b8ae4c4a6, 0x3b8ae4c494, + 0x3b8ae4c4ec, 0x3b8ae4c4d5, 0x3b8ae4c4f3, 0x3b8ae4c4e1, + 0x3b8ae49522, 0x3b8ae48ed7, 0x3b8ae48f90, 0x3b8ae4904d, + 0x3b8ae47ebb, 0x3b8ae4938e, 0x3b8ae4d1be, 0x3b8ae516df, + 0x3b8ae48ae5, 0x3b8ae518e1, 0x3b8ae51980, 0x3b8ae514d4, + 0x3b8ae515cb, 0x3b8ae51633, 0x3b8ae47e34, 0x3b8ae47d8f, + 0x3b8ae4a126, 0x3b8ae4825c, 0x3b8ae4e0f2, 0x3b8ae4de9c, + 0x3b8ae50881, 0x3b8ae50881, 0x3b8ae50068, 0x3b8ae4fe79, + 0x3b8ae4fe79, 0x3b8ae50675, 0x3b8ae50841, 0x3b8ae516ff, + 0x3b8ae4917a, 0x3b8ae47db0, 0x3b8ae51678, 0x3b8ae4fb6d, + 0x3b8ae4fb6d, 0x3b8ae4f61e, 0x3b8ae4f69d, 0x3b8ae50467, + 0x3b8ae4867f, 0x3b8ae48711, 0x3b8ae4881f, 0x3b8ae4892d, + 0x3b8ae48a09, 0x3b8ae5154a, 0x3b8ae4a24c, 0x3b8ae48676, + 0x3b8ae4f25c, 0x3b8ae4f354, 0x3b8ae527ba, 0x3b8ae527bc, + 0x3b8ae51698, 0x3b8ae47ef7, 0x3b8ae47fc8, 0x3b8ae4fbf4, + 0x3b8ae4fcd9, 0x3b8ae4c615, 0x3b8ae4c5e2, 0x3b8ae4c62e, + 0x3b8ae4c5fc, 0x3b8ae4ee9f, 0x3b8ae51a13, 0x3b8ae51a64, + 0x3b8ae51ab9, 0x3b8ae51b0c, 0x3b8ae51b81, 0x3b8ae51beb, + 0x3b8ae51c49, 0x3b8ae51ca5, 0x3b8ae51ca5, 0x3b8ae51d1f, + 0x3b8ae51d9f, 0x3b8ae51e70, 0x3b8ae51f21, 0x3b8ae52017, + 0x3b8ae52064, 0x3b8ae52182, 0x3b8ae521dc, 0x3b8ae52236, + 0x3b8ae5228c, 0x3b8ae52307, 0x3b8ae52393, 0x3b8ae5240a, + 0x3b8ae52481, 0x3b8ae4cd7d, 0x3b8ae4f940, 0x3b8ae4f940, + 0x3b8ae51f21, 0x3b8ae4ec27, 0x3b8ae4ed53, 0x3b8ae4edb4, + 0x3b8ae4edb4, 0x3b8ae47df2, 0x3b8ae47e13, 0x3b8ae4db85, + 0x3b8ae47fc8, 0x3b8ae4c984, 0x3b8ae51e70, 0x3b8ae4be50, + 0x3b8ae52558...} + len = 0 + str = 0x3a + ok = 58 + atom = 0x0 + rval = 140258808572544 + i = 58 + setter = 0x3a + index = 2157420872 + attrs = 2823501960 + flags = 0 + ltmp = 140258609439048 + j = 0 + atoms = 0x7f9097606570 + parent = 0x7f908097a148 + argc = 1 + slot = 0 + str2 = 0x7f908097a148 + type = JSTYPE_VOID + interruptJumpTable = {0x3b8ae47cf9 <repeats 235 times>} + rtmp = 0 + sprop = 0x7f908097a148 +#53 0x0000003b8ae5508e in js_Invoke (cx=0x7f9080467c00, argc=1, + vp=0x7f908097a040, flags=0) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/js/src/jsinterp.cpp:1368 + frame = {regs = 0x7f908097a118, imacpc = 0x0, slots = 0x7f908097a058, + callobj = 0x0, argsobj = 0, varobj = 0x0, script = 0x7f9088605160, + fun = 0x7f90885469a0, thisp = 0x7f908c762700, argc = 1, + argv = 0x7f908097a050, rval = 22, down = 0x0, annotation = 0x0, + scopeChain = 0x7f908c762700, blockChain = 0x0, sharpDepth = 0, + sharpArray = 0x0, flags = 32, dormantNext = 0x0, displaySave = 0x0} + argv = 0x7f908097a050 + funobj = <value optimized out> + ok = 32656 + clasp = <value optimized out> + i = <value optimized out> + mark = 0x7f908097a058 + sp = <value optimized out> + newvp = <value optimized out> + v = 140258808571776 + ops = <value optimized out> + hookData = 0x0 + parent = 0x7f908c762700 + fun = <value optimized out> + rootedArgsFlag = 32 + native = 0 + script = 0x7f9088605160 + nslots = <value optimized out> + hook = 0 +#54 0x0000003b8ae553fe in js_InternalInvoke (cx=0x7f9080467c00, + obj=0x7f908c762700, fval=140258808571776, flags=0, + argc=<value optimized out>, argv=<value optimized out>, + rval=0x7fff32df1a20) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/js/src/jsinterp.cpp:1423 + invokevp = 0x7f908097a040 + mark = 0x7f908097a040 + ok = <value optimized out> +#55 0x0000003b8ae1d3d7 in JS_CallFunctionValue (cx=0x7f9080467c00, + obj=<value optimized out>, fval=<value optimized out>, + argc=<value optimized out>, argv=<value optimized out>, + rval=<value optimized out>) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/js/src/jsapi.cpp:5112 + ok = <value optimized out> +#56 0x00007f909531b526 in nsJSContext::CallEventHandler (this=0x7f9087e15460, + aTarget=<value optimized out>, aScope=<value optimized out>, + aHandler=0x7f908c762780, aargv=0x7f907d94b300, arv=0x7fff32df1cb0) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/dom/base/nsJSEnvironment.cpp:2177 + argv = 0x7f908097a038 + funval = 140258808571776 + ok = <value optimized out> + mark = 0x7f908097a028 + argc = 1 + stackGuard = {mContext = 0x7f9080467c00, mStack = 0x7f908097a028} + ar = {mContext = 0x7f9080467c00, mSaveDepth = 0} + rv = 0 + holder = {mContext = 0x7f9087e15460, mTerminations = 0x0} + targetVal = 140258808571648 + tvr = {mContext = 0x7f9080467c00, mTvr = {down = 0x0, count = 1, u = { + value = 140734046870064, object = 0x7fff32df1a30, + xml = 0x7fff32df1a30, trace = 0x7fff32df1a30, + sprop = 0x7fff32df1a30, weakRoots = 0x7fff32df1a30, + compiler = 0x7fff32df1a30, script = 0x7fff32df1a30, + array = 0x7fff32df1a30}}} + target = 0x7f908c762700 + rval = 22 + stack = {<nsCOMPtr_base> = { + mRawPtr = 0x7f90a0a16c48}, <No data fields>} + ar = {mContext = 0x7f908234b420, mSaveDepth = -1471465336} +#57 0x00007f909535925f in nsJSEventListener::HandleEvent ( + this=0x7f9082311680, aEvent=0x7f907ffe8f38) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/dom/src/events/nsJSEventListener.cpp:266 + rv = 0 + iargv = {<nsCOMPtr_base> = { + mRawPtr = 0x7f907d94b300}, <No data fields>} + eventString = {<nsFixedString> = {<nsString> = {<nsAString_internal> = {mData = 0x7f907d94b2e8, mLength = 9, mFlags = 65541}, <No data fields>}, + mFixedCapacity = 63, mFixedBuf = 0x7fff32df1b40}, mStorage = {99, + 111, 109, 109, 97, 110, 100, 0, 31744, 32838, 32656, 0, 7488, + 13023, 32767, 0, 7, 0, 0, 0, 46112, 33332, 32656, 0, 53832, + 34808, 32656, 0, 29, 0, 5, 1, 63, 0, 32767, 0, 7056, 13023, + 32767, 0, 0, 0, 0, 0, 16384, 0, 0, 0, 61252, 61793, 0, 0, 14097, + 14756, 49, 0, 45800, 32148, 32656, 0, 9, 0, 0, 0}} + atomName = {<nsCOMPtr_base> = { + mRawPtr = 0x7f909768f4a0}, <No data fields>} + funcval = {mObject = 0x7f908c762780, mContext = {<nsCOMPtr_base> = { + mRawPtr = 0x7f9087e15460}, <No data fields>}} + handledScriptError = <value optimized out> + vrv = {<nsCOMPtr_base> = {mRawPtr = 0x0}, <No data fields>} +#58 0x00007f90952308e4 in nsEventListenerManager::HandleEventSubType ( + this=0x7f908ba7a700, aListenerStruct=0x7f908ba7a740, + aListener=0x7f9082311680, aDOMEvent=0x7f907ffe8f38, + aCurrentTarget=0x7f908234b420, aPhaseFlags=<value optimized out>) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/content/events/src/nsEventListenerManager.cpp:1041 + result = <value optimized out> +#59 0x00007f9095230cce in nsEventListenerManager::HandleEvent ( + this=0x7f908ba7a700, aPresContext=0x7f9080228c00, aEvent=0x7f907dab9940, + aDOMEvent=0x7fff32df20a0, aCurrentTarget=0x7f908234b420, aFlags=6, + aEventStatus=0x7fff32df20a8) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/content/events/src/nsEventListenerManager.cpp:1147 + kungFuDeathGrip = {mRawPtr = 0x7f9082311680} + ls = 0x7f908ba7a740 + useTypeInterface = 0 + useGenericInterface = 1 + popupStatePusher = {mOldState = openAllowed} + hasListener = 1 + pusher = {mScx = {<nsCOMPtr_base> = { + mRawPtr = 0x7f9087e15460}, <No data fields>}, + mScriptIsRunning = 0, mPushedSomething = 1} + currentGroup = 0 + typeData = 0x0 + dispData = 0x0 + iter = {<nsAutoTObserverArray<nsListenerStruct, 2u>::ForwardIterator> = {<nsAutoTObserverArray<nsListenerStruct, 2u>::Iterator> = {<nsTObserverArray_base::Iterator_base> = {mPosition = 1, mNext = 0x0}, + mArray = @0x7f908ba7a728}, <No data fields>}, + mEnd = {<nsAutoTObserverArray<nsListenerStruct, 2u>::Iterator> = {<nsTObserverArray_base::Iterator_base> = {mPosition = 1, + mNext = 0x7fff32df1ee0}, + mArray = @0x7f908ba7a728}, <No data fields>}} +#60 0x00007f90952447a6 in nsEventTargetChainItem::HandleEvent ( + this=0x7f9097d17d20, aVisitor=..., aFlags=6, + aMayHaveNewListenerManagers=1) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/content/events/src/nsEventDispatcher.cpp:246 +No locals. +#61 0x00007f90952448ca in nsEventTargetChainItem::HandleEventTargetChain ( + this=0x7f9097d17690, aVisitor=..., aFlags=6, aCallback=0x0, + aMayHaveNewListenerManagers=1) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/content/events/src/nsEventDispatcher.cpp:310 + createdELMs = 2410 + firstTarget = {<nsCOMPtr_base> = { + mRawPtr = 0x7f908234b420}, <No data fields>} + item = 0x7f9097d17d20 +#62 0x00007f9095244f69 in nsEventDispatcher::Dispatch ( + aTarget=<value optimized out>, aPresContext=<value optimized out>, + aEvent=0x7f907dab9940, aDOMEvent=0x7f907ffe8f38, + aEventStatus=0x7fff32df21ec, aCallback=0x0, aTargets=0x0) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/content/events/src/nsEventDispatcher.cpp:573 + postVisitor = {<nsEventChainVisitor> = { + mPresContext = 0x7f9080228c00, mEvent = 0x7f907dab9940, + mDOMEvent = 0x7f907ffe8f38, mEventStatus = nsEventStatus_eIgnore, + mItemFlags = 0, mItemData = {<nsCOMPtr_base> = { + mRawPtr = 0x0}, <No data fields>}}, <No data fields>} + t = {<nsCOMPtr_base> = {mRawPtr = 0x7f908234b420}, <No data fields>} + topEtci = 0x7f9097d17690 + rv = 0 + pool = {static sEtciPool = 0x7f909782f600, static sEtciPoolUsers = 3} + targetEtci = 0x7f9097d17d20 + preVisitor = {<nsEventChainVisitor> = {mPresContext = 0x7f9080228c00, + mEvent = 0x7f907dab9940, mDOMEvent = 0x7f907ffe8f38, + mEventStatus = nsEventStatus_eIgnore, mItemFlags = 0, + mItemData = {<nsCOMPtr_base> = { + mRawPtr = 0x7f9080467400}, <No data fields>}}, + mCanHandle = 1 '\001', mForceContentDispatch = 1 '\001', + mRelatedTargetIsInAnon = 0 '\000', + mOriginalTargetIsInAnon = 0 '\000', + mWantsWillHandleEvent = 0 '\000', mParentTarget = 0x0, + mEventTargetAtParent = 0x0} + content = {<nsCOMPtr_base> = { + mRawPtr = 0x7f908234b420}, <No data fields>} + isInAnon = <value optimized out> + status = <value optimized out> + target = {<nsCOMPtr_base> = { + mRawPtr = 0x7f908234b420}, <No data fields>} + externalDOMEvent = 1 + kungFuDeathGrip = {<nsCOMPtr_base> = { + mRawPtr = 0x7f9080228c00}, <No data fields>} +#63 0x00007f9095245244 in nsEventDispatcher::DispatchDOMEvent ( + aTarget=0x7f908234b420, aEvent=<value optimized out>, + aDOMEvent=0x7f907ffe8f38, aPresContext=0x7f9080228c00, + aEventStatus=0x7fff32df21ec) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/content/events/src/nsEventDispatcher.cpp:636 + innerEvent = 0x7f907dab9940 + dontResetTrusted = 0 + privEvt = {<nsCOMPtr_base> = { + mRawPtr = 0x7f907ffe8f48}, <No data fields>} +#64 0x00007f909522e773 in nsEventListenerManager::DispatchEvent ( + this=<value optimized out>, aEvent=0x7f907ffe8f38, _retval=0x7fff32df2318) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/content/events/src/nsEventListenerManager.cpp:1274 + context = {<nsCOMPtr_base> = { + mRawPtr = 0x7f9080228c00}, <No data fields>} + status = nsEventStatus_eIgnore + rv = <value optimized out> + targetNode = {<nsCOMPtr_base> = { + mRawPtr = 0x7f908234b420}, <No data fields>} + document = {<nsCOMPtr_base> = { + mRawPtr = 0x7f907fff1000}, <No data fields>} + shell = <value optimized out> +#65 0x00007f90951f06db in nsDOMEventRTTearoff::DispatchEvent ( + this=<value optimized out>, aEvt=0x7f907ffe8f38, + _retval=<value optimized out>) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/content/base/src/nsGenericElement.cpp:1672 + target = {<nsCOMPtr_base> = { + mRawPtr = 0x7f908ba7a710}, <No data fields>} +#66 0x00007f90951bdeda in nsContentUtils::DispatchXULCommand ( + aTarget=0x7f908234b420, aTrusted=<value optimized out>, + aSourceEvent=0x7f907fd57ed8, aShell=0x0, aCtrl=0, aAlt=0, aShift=0, + aMeta=0) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/content/base/src/nsContentUtils.cpp:5140 + docEvent = {<nsCOMPtr_base> = { + mRawPtr = 0x7f907fff1118}, <No data fields>} + xulCommand = {<nsCOMPtr_base> = { + mRawPtr = 0x7f907ffe8fa8}, <No data fields>} + pEvent = {<nsCOMPtr_base> = { + mRawPtr = 0x7f907ffe8f48}, <No data fields>} + rv = 0 + doc = <value optimized out> + event = {<nsCOMPtr_base> = { + mRawPtr = 0x7f907ffe8f38}, <No data fields>} + view = {<nsCOMPtr_base> = { + mRawPtr = 0x7f9080467490}, <No data fields>} + target = {<nsCOMPtr_base> = { + mRawPtr = 0x7f907d9518b0}, <No data fields>} + dummy = -1793133634 +#67 0x00007f9095465398 in nsXULElement::PreHandleEvent ( + this=<value optimized out>, aVisitor=...) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/content/xul/content/src/nsXULElement.cpp:1672 + nsevent = {<nsCOMPtr_base> = {mRawPtr = 0x0}, <No data fields>} + orig = <value optimized out> + domDoc = {<nsCOMPtr_base> = { + mRawPtr = 0x7f907fff1108}, <No data fields>} + commandElt = {<nsCOMPtr_base> = { + mRawPtr = 0x7f908234b458}, <No data fields>} + commandContent = {<nsCOMPtr_base> = { + mRawPtr = 0x7f908234b420}, <No data fields>} + xulEvent = {<nsCOMPtr_base> = { + mRawPtr = 0x7f907fd57f48}, <No data fields>} + command = {<nsFixedString> = {<nsString> = {<nsAString_internal> = { + mData = 0x7f908ba762b8, mLength = 14, + mFlags = 65541}, <No data fields>}, mFixedCapacity = 63, + mFixedBuf = 0x7fff32df23b0}, mStorage = {0, 0, 0, 0, 14472, + 43083, 32656, 0, 2, 0, 0, 0, 30128, 34956, 32656, 0, 0, 0, 0, 0, + 16463, 14756, 49, 0, 19048, 14796, 49, 0, 50024, 32677, 32656, 0, + 53, 0, 0, 0, 39920, 36000, 32656, 0, 10220, 13023, 32767, 0, 0, + 0, 0, 0, 5197, 18433, 56, 0, 8192, 41190, 32656, 0, 56103, 14755, + 49, 0, 25137, 14759, 49, 0}} + tag = <value optimized out> +#68 0x00007f909524462e in nsEventTargetChainItem::PreHandleEvent ( + this=0x7f9097d172d8, aVisitor=...) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/content/events/src/nsEventDispatcher.cpp:215 + rv = <value optimized out> +#69 0x00007f9095244dfe in nsEventDispatcher::Dispatch ( + aTarget=<value optimized out>, aPresContext=0x7f9080228c00, + aEvent=0x7f907dab98e0, aDOMEvent=0x7f907fd57ed8, + aEventStatus=0x7fff32df27ec, aCallback=0x0, aTargets=0x0) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/content/events/src/nsEventDispatcher.cpp:520 + rv = 0 + pool = {static sEtciPool = 0x7f909782f600, static sEtciPoolUsers = 3} + targetEtci = 0x7f9097d172d8 + preVisitor = {<nsEventChainVisitor> = {mPresContext = 0x7f9080228c00, + mEvent = 0x7f907dab98e0, mDOMEvent = 0x7f907fd57ed8, + mEventStatus = nsEventStatus_eIgnore, mItemFlags = 0, + mItemData = {<nsCOMPtr_base> = { + mRawPtr = 0x0}, <No data fields>}}, mCanHandle = 0 '\000', + mForceContentDispatch = 1 '\001', + mRelatedTargetIsInAnon = 0 '\000', + mOriginalTargetIsInAnon = 1 '\001', + mWantsWillHandleEvent = 0 '\000', mParentTarget = 0x0, + mEventTargetAtParent = 0x0} + content = {<nsCOMPtr_base> = { + mRawPtr = 0x7f908ca09bf0}, <No data fields>} + isInAnon = <value optimized out> + status = <value optimized out> + target = {<nsCOMPtr_base> = { + mRawPtr = 0x7f908ca09bf0}, <No data fields>} + externalDOMEvent = 1 + kungFuDeathGrip = {<nsCOMPtr_base> = { + mRawPtr = 0x7f9080228c00}, <No data fields>} +#70 0x00007f9095245244 in nsEventDispatcher::DispatchDOMEvent ( + aTarget=0x7f908ca09bf0, aEvent=<value optimized out>, + aDOMEvent=0x7f907fd57ed8, aPresContext=0x7f9080228c00, + aEventStatus=0x7fff32df27ec) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/content/events/src/nsEventDispatcher.cpp:636 + innerEvent = 0x7f907dab98e0 + dontResetTrusted = 0 + privEvt = {<nsCOMPtr_base> = { + mRawPtr = 0x7f907fd57ee8}, <No data fields>} +#71 0x00007f909509ee49 in PresShell::HandleDOMEventWithTarget ( + this=0x7f9080229000, aTargetContent=0x7f908ca09bf0, + aEvent=0x7f907fd57ed8, aStatus=<value optimized out>) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/layout/base/nsPresShell.cpp:6590 + container = {<nsCOMPtr_base> = { + mRawPtr = 0x7f9080466c08}, <No data fields>} +#72 0x00007f90951bde99 in nsContentUtils::DispatchXULCommand ( + aTarget=0x7f908ca09bf0, aTrusted=<value optimized out>, aSourceEvent=0x0, + aShell=0x7f9080229000, aCtrl=0, aAlt=0, aShift=0, aMeta=0) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/content/base/src/nsContentUtils.cpp:5134 + status = nsEventStatus_eIgnore + kungFuDeathGrip = {<nsCOMPtr_base> = { + mRawPtr = 0x7f9080229000}, <No data fields>} + docEvent = {<nsCOMPtr_base> = { + mRawPtr = 0x7f907fff1118}, <No data fields>} + xulCommand = {<nsCOMPtr_base> = { + mRawPtr = 0x7f907fd57f48}, <No data fields>} + pEvent = {<nsCOMPtr_base> = { + mRawPtr = 0x7f907fd57ee8}, <No data fields>} + rv = 0 + doc = <value optimized out> + event = {<nsCOMPtr_base> = { + mRawPtr = 0x7f907fd57ed8}, <No data fields>} + view = {<nsCOMPtr_base> = { + mRawPtr = 0x7f9080467490}, <No data fields>} + target = {<nsCOMPtr_base> = {mRawPtr = 0x0}, <No data fields>} + dummy = 0 +#73 0x00007f909518d001 in nsButtonBoxFrame::DoMouseClick ( + this=0x7f907fa84768, aEvent=0x7fff32df2bb0, + aTrustEvent=<value optimized out>) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/layout/xul/base/src/nsButtonBoxFrame.cpp:173 + isControl = 0 + isAlt = 0 + isShift = 0 + isMeta = 0 + shell = {<nsCOMPtr_base> = { + mRawPtr = 0x7f9080229000}, <No data fields>} +#74 0x00007f909518d1a8 in nsButtonBoxFrame::HandleEvent (this=0x7f907fa84768, + aPresContext=0x7f9080228c00, aEvent=0x7fff32df2bb0, + aEventStatus=0x7fff32df29c8) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/layout/xul/base/src/nsButtonBoxFrame.cpp:138 +No locals. +#75 0x00007f90952449a4 in nsEventTargetChainItem::HandleEventTargetChain ( + this=0x7f9097d170a8, aVisitor=..., aFlags=6, aCallback=0x7fff32df2a80, + aMayHaveNewListenerManagers=<value optimized out>) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/content/events/src/nsEventDispatcher.cpp:354 + createdELMs = 2410 + firstTarget = {<nsCOMPtr_base> = { + mRawPtr = 0x7f90888c75b0}, <No data fields>} + item = 0x0 +#76 0x00007f9095244f69 in nsEventDispatcher::Dispatch ( + aTarget=<value optimized out>, aPresContext=<value optimized out>, + aEvent=0x7fff32df2bb0, aDOMEvent=0x0, aEventStatus=0x7fff32df30bc, + aCallback=0x7fff32df2a80, aTargets=0x0) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/content/events/src/nsEventDispatcher.cpp:573 + postVisitor = {<nsEventChainVisitor> = { + mPresContext = 0x7f9080228c00, mEvent = 0x7fff32df2bb0, + mDOMEvent = 0x7f907da565f8, mEventStatus = nsEventStatus_eIgnore, + mItemFlags = 0, mItemData = {<nsCOMPtr_base> = { + mRawPtr = 0x0}, <No data fields>}}, <No data fields>} + t = {<nsCOMPtr_base> = {mRawPtr = 0x7f908ca09bf0}, <No data fields>} + topEtci = 0x7f9097d170a8 + rv = 0 + pool = {static sEtciPool = 0x7f909782f600, static sEtciPoolUsers = 3} + targetEtci = 0x7f9097d17118 + preVisitor = {<nsEventChainVisitor> = {mPresContext = 0x7f9080228c00, + mEvent = 0x7fff32df2bb0, mDOMEvent = 0x0, + mEventStatus = nsEventStatus_eIgnore, mItemFlags = 0, + mItemData = {<nsCOMPtr_base> = { + mRawPtr = 0x7f9080467400}, <No data fields>}}, + mCanHandle = 1 '\001', mForceContentDispatch = 1 '\001', + mRelatedTargetIsInAnon = 0 '\000', + mOriginalTargetIsInAnon = 1 '\001', + mWantsWillHandleEvent = 0 '\000', mParentTarget = 0x0, + mEventTargetAtParent = 0x0} + content = {<nsCOMPtr_base> = { + mRawPtr = 0x7f908ca09bf0}, <No data fields>} + isInAnon = <value optimized out> + status = <value optimized out> + target = {<nsCOMPtr_base> = { + mRawPtr = 0x7f908ca09bf0}, <No data fields>} + externalDOMEvent = 0 + kungFuDeathGrip = {<nsCOMPtr_base> = { + mRawPtr = 0x7f9080228c00}, <No data fields>} +#77 0x00007f909509eadb in PresShell::HandleEventInternal ( + this=0x7f9080229000, aEvent=0x7fff32df2bb0, aView=<value optimized out>, + aStatus=0x7fff32df30bc) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/layout/base/nsPresShell.cpp:6525 + eventCB = {<nsDispatchingCallback> = { + _vptr.nsDispatchingCallback = 0x7f9095a029b0}, mPresShell = { + mRawPtr = 0x7f9080229000}} + wasHandlingKeyBoardEvent = 0 + popupStatePusher = {mOldState = openControlled} + weakView = {mPrev = 0x0, mView = 0x0} + isHandlingUserInput = 0 + userInpStatePusher = {mIsHandlingUserInput = 0} + manager = {<nsCOMPtr_base> = { + mRawPtr = 0x7f9081cd2d00}, <No data fields>} + rv = 0 +#78 0x00007f909509ef33 in PresShell::HandleEventWithTarget ( + this=0x7f9080229000, aEvent=0x7fff32df2bb0, aFrame=<value optimized out>, + aContent=<value optimized out>, aStatus=<value optimized out>) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/layout/base/nsPresShell.cpp:6381 +No locals. +#79 0x00007f9095237ff0 in nsEventStateManager::CheckForAndDispatchClick ( + this=0x7f9081cd2cf0, aPresContext=<value optimized out>, + aEvent=0x7fff32df3220, aStatus=0x7fff32df30bc) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/content/events/src/nsEventStateManager.cpp:3994 + mouseContent = {<nsCOMPtr_base> = { + mRawPtr = 0x7f908ca09bf0}, <No data fields>} + event = {<nsMouseEvent_base> = {<nsInputEvent> = {<nsGUIEvent> = {<nsEvent> = {eventStructType = 10 '\n', message = 327, refPoint = {x = 268, + y = 55}, time = 12433188, flags = 2049, + userType = {<nsCOMPtr_base> = { + mRawPtr = 0x0}, <No data fields>}, + target = {<nsCOMPtr_base> = { + mRawPtr = 0x7f908ca09bf0}, <No data fields>}, + currentTarget = {<nsCOMPtr_base> = { + mRawPtr = 0x0}, <No data fields>}, + originalTarget = {<nsCOMPtr_base> = { + mRawPtr = 0x7f908ca09bf0}, <No data fields>}}, + widget = {<nsCOMPtr_base> = { + mRawPtr = 0x7f9089f4fc70}, <No data fields>}, + nativeMsg = 0x0}, isShift = 0, isControl = 0, isAlt = 0, + isMeta = 0}, relatedTarget = {<nsCOMPtr_base> = { + mRawPtr = 0x0}, <No data fields>}, button = 0, pressure = 0}, + acceptActivation = 0 '\000', ignoreRootScrollFrame = 0 '\000', + reason = nsMouseEvent::eReal, context = nsMouseEvent::eNormal, + exit = nsMouseEvent::eChild, clickCount = 1} + presShell = {<nsCOMPtr_base> = { + mRawPtr = 0x7f9080229000}, <No data fields>} + ret = 0 + flags = 0 +#80 0x00007f90952384c4 in nsEventStateManager::PostHandleEvent ( + this=0x7f9081cd2cf0, aPresContext=0x7f9080228c00, aEvent=0x7fff32df3220, + aTargetFrame=0x7f907fa84768, aStatus=0x7fff32df30bc, aView=0x7f908a064c00) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/content/events/src/nsEventStateManager.cpp:2947 + shell = <value optimized out> + presContext = {mRawPtr = 0x7f9080228c00} + ret = 0 +#81 0x00007f909509ebf9 in PresShell::HandleEventInternal ( + this=0x7f9080229000, aEvent=0x7fff32df3220, aView=<value optimized out>, + aStatus=0x7fff32df30bc) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/layout/base/nsPresShell.cpp:6548 + wasHandlingKeyBoardEvent = <value optimized out> + popupStatePusher = {mOldState = openAbused} + weakView = {mPrev = 0x0, mView = 0x7f908a064c00} + isHandlingUserInput = 1 + userInpStatePusher = {mIsHandlingUserInput = 1} + manager = {<nsCOMPtr_base> = { + mRawPtr = 0x7f9081cd2d00}, <No data fields>} + rv = <value optimized out> +#82 0x00007f909509f074 in PresShell::HandlePositionedEvent ( + this=0x7f9080229000, aView=0x7f908a064c00, + aTargetFrame=<value optimized out>, aEvent=0x7fff32df3220, + aEventStatus=0x7fff32df30bc) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/layout/base/nsPresShell.cpp:6364 + rv = 0 +#83 0x00007f90950a7aad in PresShell::HandleEvent (this=0x7f9080229000, + aView=0x7f908a064c00, aEvent=0x7fff32df3220, aEventStatus=0x7fff32df30bc) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/layout/base/nsPresShell.cpp:6228 + framePresContext = <value optimized out> + rootPresContext = <value optimized out> + eventPoint = {x = 16080, y = 3300} + targetFrame = 0x7f907fa84768 + frame = <value optimized out> + dispatchUsingCoordinates = <value optimized out> + rv = <value optimized out> +#84 0x00007f9095310bf2 in nsViewManager::HandleEvent ( + this=<value optimized out>, aView=<value optimized out>, + aPoint=<value optimized out>, aEvent=0x7fff32df3220, + aCaptured=<value optimized out>) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/view/src/nsViewManager.cpp:1224 + obs = {<nsCOMPtr_base> = {mRawPtr = 0x7f90802290e0}, <No data fields>} + status = nsEventStatus_eIgnore +#85 0x00007f9095313621 in nsViewManager::DispatchEvent (this=0x7f908a064b80, + aEvent=0x7fff32df3220, aView=<value optimized out>, + aStatus=0x7fff32df31cc) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/view/src/nsViewManager.cpp:1203 + p2a = 60 + offset = <value optimized out> + baseViewDimensions = <value optimized out> + pt = warning: bits 32-64 in computed object were optimized out; replacing with zeroes +{x = 16110, y = 0} + baseView = <value optimized out> + view = <value optimized out> + capturedEvent = 0 +#86 0x00007f909530deaa in HandleEvent (aEvent=0x7fff32df3220) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/view/src/nsView.cpp:167 + vm = {<nsCOMPtr_base> = {mRawPtr = 0x7f908a064b80}, <No data fields>} + result = nsEventStatus_eIgnore + view = 0x7f908a064c00 +#87 0x00007f909d169999 in nsWindow::DispatchEvent (this=0x7f9089f4fc70, + aEvent=<value optimized out>, aStatus=@0x7fff32df32ac) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/widget/src/gtk2/nsWindow.cpp:626 +No locals. +#88 0x00007f909d171b96 in nsWindow::OnButtonReleaseEvent ( + this=0x7f9089f4fc70, aWidget=<value optimized out>, aEvent=0x7f90886050f0) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/widget/src/gtk2/nsWindow.cpp:3227 + pressure = 0 + status = nsEventStatus_eIgnore + domButton = 0 + event = {<nsMouseEvent_base> = {<nsInputEvent> = {<nsGUIEvent> = {<nsEvent> = {eventStructType = 10 '\n', message = 301, refPoint = {x = 268, + y = 55}, time = 12433188, flags = 1025, + userType = {<nsCOMPtr_base> = { + mRawPtr = 0x0}, <No data fields>}, + target = {<nsCOMPtr_base> = { + mRawPtr = 0x7f90888c75b0}, <No data fields>}, + currentTarget = {<nsCOMPtr_base> = { + mRawPtr = 0x0}, <No data fields>}, + originalTarget = {<nsCOMPtr_base> = { + mRawPtr = 0x7f908ca09bf0}, <No data fields>}}, + widget = {<nsCOMPtr_base> = { + mRawPtr = 0x7f9089f4fc70}, <No data fields>}, + nativeMsg = 0x0}, isShift = 0, isControl = 0, isAlt = 0, + isMeta = 0}, relatedTarget = {<nsCOMPtr_base> = { + mRawPtr = 0x0}, <No data fields>}, button = 0, pressure = 0}, + acceptActivation = 0 '\000', ignoreRootScrollFrame = 0 '\000', + reason = nsMouseEvent::eReal, context = nsMouseEvent::eNormal, + exit = nsMouseEvent::eChild, clickCount = 1} +#89 0x00007f909d171c01 in button_release_event_cb (widget=0x7f9088083380, + event=0x7f90886050f0) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/widget/src/gtk2/nsWindow.cpp:5981 + window = <value optimized out> +#90 0x0000003138b51003 in _gtk_marshal_BOOLEAN__BOXED ( + closure=0x7f90885b6970, return_value=0x7fff32df34b0, + n_param_values=<value optimized out>, param_values=0x7f907d92fa90, + invocation_hint=<value optimized out>, marshal_data=<value optimized out>) + at gtkmarshalers.c:84 + callback = 0x7f909d171bd2 <button_release_event_cb(GtkWidget*, GdkEventButton*)> + cc = 0x7f90885b6970 + data1 = 0x7f9088083380 + data2 = 0x0 + v_return = <value optimized out> + __PRETTY_FUNCTION__ = "_gtk_marshal_BOOLEAN__BOXED" +#91 0x000000384b00b98e in IA__g_closure_invoke (closure=0x7f90885b6970, + return_value=0x7fff32df34b0, n_param_values=2, + param_values=0x7f907d92fa90, invocation_hint=0x7fff32df3470) + at gclosure.c:767 + marshal = <value optimized out> + marshal_data = <value optimized out> + in_marshal = <value optimized out> + __PRETTY_FUNCTION__ = "IA__g_closure_invoke" +#92 0x000000384b01f947 in signal_emit_unlocked_R (node=<value optimized out>, + detail=0, instance=0x7f9088083380, emission_return=0x7fff32df3600, + instance_and_params=0x7f907d92fa90) at gsignal.c:3248 + tmp = <value optimized out> + handler = 0x7f90885b6940 + accumulator = 0x7f90a82a0cd0 + emission = {next = 0x0, instance = 0x7f9088083380, ihint = { + signal_id = 34, detail = 0, run_type = G_SIGNAL_RUN_FIRST}, + state = EMISSION_RUN, chain_type = 4} + class_closure = 0x7f90a829fe80 + handler_list = 0x7f90885b6940 + return_accu = 0x7fff32df34b0 + accu = {g_type = 20, data = {{v_int = 0, v_uint = 0, v_long = 0, + v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, + v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, + v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, + v_float = 0, v_double = 0, v_pointer = 0x0}}} + signal_id = 34 + max_sequential_handler_number = 1235 + return_value_altered = 0 +#93 0x000000384b020c29 in IA__g_signal_emit_valist ( + instance=<value optimized out>, signal_id=<value optimized out>, + detail=<value optimized out>, var_args=0x7fff32df3660) at gsignal.c:2991 + return_value = {g_type = 20, data = {{v_int = 0, v_uint = 0, + v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, + v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, + v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, + v_float = 0, v_double = 0, v_pointer = 0x0}}} + error = 0x0 + rtype = 20 + static_scope = 0 + instance_and_params = 0x7f907d92fa90 + signal_return_type = 20 + param_values = 0x7f907d92faa8 + node = 0x7f90a82880b0 + i = <value optimized out> + n_params = 1 + __PRETTY_FUNCTION__ = "IA__g_signal_emit_valist" +#94 0x000000384b0213a3 in IA__g_signal_emit (instance=<value optimized out>, + signal_id=<value optimized out>, detail=<value optimized out>) + at gsignal.c:3038 + var_args = {{gp_offset = 32, fp_offset = 48, + overflow_arg_area = 0x7fff32df3740, + reg_save_area = 0x7fff32df3680}} +#95 0x0000003138c8190f in gtk_widget_event_internal (widget=0x7f9088083380, + event=0x7f90886050f0) at gtkwidget.c:4958 + signal_num = <value optimized out> + return_val = 0 +#96 0x0000003138b47d63 in IA__gtk_propagate_event (widget=0x7f9088083380, + event=0x7f90886050f0) at gtkmain.c:2442 + tmp = <value optimized out> + handled_event = <value optimized out> + __PRETTY_FUNCTION__ = "IA__gtk_propagate_event" +#97 0x0000003138b48f2b in IA__gtk_main_do_event (event=0x7f90886050f0) + at gtkmain.c:1647 + event_widget = <value optimized out> + grab_widget = 0x7f9088083380 + window_group = <value optimized out> + rewritten_event = <value optimized out> + tmp_list = <value optimized out> + __PRETTY_FUNCTION__ = "IA__gtk_main_do_event" +#98 0x000000313926039c in gdk_event_dispatch (source=<value optimized out>, + callback=<value optimized out>, user_data=<value optimized out>) + at gdkevents-x11.c:2372 + display = <value optimized out> + event = 0x7f90886050f0 +#99 0x0000003849c3bd02 in g_main_dispatch (context=0x7f90a82177a0) + at gmain.c:1960 + dispatch = 0x3139260350 <gdk_event_dispatch> + was_in_call = 0 + user_data = 0x0 + callback = 0 + cb_funcs = 0x0 + cb_data = 0x0 + current_source_link = {data = 0x7f90a821d6a0, next = 0x0} + need_destroy = <value optimized out> + source = 0x7f90a821d6a0 + current = 0x7f9099d609d0 + i = <value optimized out> +#100 IA__g_main_context_dispatch (context=0x7f90a82177a0) at gmain.c:2513 +No locals. +#101 0x0000003849c3fae8 in g_main_context_iterate (context=0x7f90a82177a0, + block=1, dispatch=1, self=<value optimized out>) at gmain.c:2591 + max_priority = 2147483647 + timeout = -1 + some_ready = 1 + nfds = 13 + allocated_nfds = <value optimized out> + fds = <value optimized out> + __PRETTY_FUNCTION__ = "g_main_context_iterate" +#102 0x0000003849c3fc9c in IA__g_main_context_iteration ( + context=0x7f90a82177a0, may_block=1) at gmain.c:2654 + retval = <value optimized out> +#103 0x00007f909d189b13 in nsBaseAppShell::DoProcessNextNativeEvent ( + this=0x7f90a0a7e700, mayWait=<value optimized out>) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/widget/src/xpwidgets/nsBaseAppShell.cpp:155 + prevVal = nsBaseAppShell::eEventloopNone + result = 0 +#104 0x00007f909d189c79 in nsBaseAppShell::OnProcessNextEvent ( + this=0x7f90a0a7e700, thr=0x7f90a82438b0, mayWait=0, + recursionDepth=<value optimized out>) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/widget/src/xpwidgets/nsBaseAppShell.cpp:311 + start = 1099877142 + limit = 20 + oldBlockedWait = 0x0 + needEvent = 1 +#105 0x0000003139a6c712 in nsThread::ProcessNextEvent (this=0x7f90a82438b0, + mayWait=1, result=0x7fff32df3a3c) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/xpcom/threads/nsThread.cpp:508 + notifyGlobalObserver = 1 + obs = {<nsCOMPtr_base> = {mRawPtr = 0x7f90a0a7e708}, <No data fields>} + rv = <value optimized out> +#106 0x0000003139a3db88 in NS_ProcessNextEvent_P ( + thread=<value optimized out>, mayWait=<value optimized out>) + at nsThreadUtils.cpp:250 + val = 1 +#107 0x00007f909d189d69 in nsBaseAppShell::Run (this=0x7f90a0a7e700) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/widget/src/xpwidgets/nsBaseAppShell.cpp:177 + thread = 0x7f90a82438b0 +#108 0x00007f909c4b589c in nsAppStartup::Run (this=0x7f90a0ad9d80) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/toolkit/components/startup/src/nsAppStartup.cpp:183 + rv = <value optimized out> +#109 0x0000003139e1934d in XRE_main (argc=<value optimized out>, + argv=<value optimized out>, aAppData=<value optimized out>) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mozilla/toolkit/xre/nsAppRunner.cpp:3483 + remoteService = {<nsCOMPtr_base> = { + mRawPtr = 0x7f9099ebc9b0}, <No data fields>} + appStartup = {<nsCOMPtr_base> = { + mRawPtr = 0x7f90a0ad9d80}, <No data fields>} + shuttingDown = 0 + cmdLine = {<nsCOMPtr_base> = { + mRawPtr = 0x7f9097395cc0}, <No data fields>} + workingDir = {<nsCOMPtr_base> = { + mRawPtr = 0x7f909753ce00}, <No data fields>} + xpcom = {mServiceManager = 0x7f90a829a148} + desktopStartupIDEnv = <value optimized out> + updRoot = {<nsCOMPtr_base> = { + mRawPtr = 0x7f90a821a180}, <No data fields>} + persistent = 1 + profLD = {<nsCOMPtr_base> = { + mRawPtr = 0x7f90a0e02fc0}, <No data fields>} + dirProvider = + {<nsIDirectoryServiceProvider2> = {<nsIDirectoryServiceProvider> = {<nsISupports> = { + _vptr.nsISupports = 0x313a02f4c0}, <No data fields>}, <No data fields>}, <nsIProfileStartup> = {<nsISupports> = { + _vptr.nsISupports = 0x313a02f508}, <No data fields>}, + mAppProvider = {<nsCOMPtr_base> = { + mRawPtr = 0x0}, <No data fields>}, + mGREDir = {<nsCOMPtr_base> = { + mRawPtr = 0x7f90a821a300}, <No data fields>}, + mXULAppDir = {<nsCOMPtr_base> = { + mRawPtr = 0x7f90a821a180}, <No data fields>}, + mProfileDir = {<nsCOMPtr_base> = { + mRawPtr = 0x7f90a0e02f00}, <No data fields>}, + mProfileLocalDir = {<nsCOMPtr_base> = { + mRawPtr = 0x7f90a0e02fc0}, <No data fields>}, + mProfileNotified = 1 '\001', mExtensionsLoaded = 1 '\001', + mAppBundleDirectories = {<nsCOMArray_base> = {mArray = { + mImpl = 0x0}}, <No data fields>}, + mExtensionDirectories = {<nsCOMArray_base> = {mArray = { + mImpl = 0x7f90a0e11600}}, <No data fields>}, + mThemeDirectories = {<nsCOMArray_base> = {mArray = { + mImpl = 0x7f90a0e11650}}, <No data fields>}} + desktopStartupIDPtr = <value optimized out> + nativeApp = {<nsCOMPtr_base> = { + mRawPtr = 0x7f90a82d4250}, <No data fields>} + startOffline = 0 + profileName = {<nsFixedCString> = {<nsCString> = {<nsACString_internal> = {mData = 0x7f90a0e10218 "default", mLength = 7, + mFlags = 65541}, <No data fields>}, mFixedCapacity = 63, + mFixedBuf = 0x7fff32df4040 ""}, + mStorage = "\000\000\000\000\000\000\000\000\200\241!\250\220\177\000\000\240@\337\062\377\177\000\000\260@\337\062\377\177\000\000\016\000\a\200\000\000\000\000T\r\246\071\061", '\000' <repeats 11 times>"\371, \062\246\071\061\000\000"} + upgraded = <value optimized out> + versionOK = -1712600656 + appInitiatedRestart = 0 + desktopStartupID = {<nsFixedCString> = {<nsCString> = {<nsACString_internal> = {mData = 0x7fff32df40a0 "", mLength = 0, + mFlags = 65553}, <No data fields>}, mFixedCapacity = 63, + mFixedBuf = 0x7fff32df40a0 ""}, + mStorage = "\000\003!\250\220\177\000\000\032\000\000\000\001\000\000\000\200\241!\250\220\177\000\000\000\000\000\000\000\000\000\000\"\030\246\071\061\000\000\000\371\062\246\071\061\000\000\000HA\337\062\377\177\000\000\000\000\000\000\000\000\000"} + display_name = <value optimized out> + xremotearg = <value optimized out> + _g_set_application_name = <value optimized out> + canRun = 1 + profileLock = {<nsCOMPtr_base> = { + mRawPtr = 0x7f90a0e11560}, <No data fields>} + profD = {<nsCOMPtr_base> = { + mRawPtr = 0x7f90a0e02f00}, <No data fields>} + version = {<nsFixedCString> = {<nsCString> = {<nsACString_internal> = {mData = 0x7fff32df3fe0 "3.1.1_20100720161535/20100720161535", mLength = 35, + mFlags = 65553}, <No data fields>}, mFixedCapacity = 63, + mFixedBuf = 0x7fff32df3fe0 "3.1.1_20100720161535/20100720161535"}, mStorage = "3.1.1_20100720161535/20100720161535\000\377\177\000\000\270\000\000\000\000\000\000\000\260@\337\062\377\177\000\000\360@\337\062\377\177\000"} + needsRestart = 0 + display = 0x7f90a8264190 + _gtk_window_set_auto_startup_notification = <value optimized out> + osABI = {<nsCString> = {<nsACString_internal> = { + mData = 0x3139e24927 "Linux_x86_64-gcc3", mLength = 17, + mFlags = 1}, <No data fields>}, <No data fields>} + rv = 0 + gtkModules = <value optimized out> + appData = {<nsXREAppData> = {size = 112, directory = 0x7f90a821a180, + vendor = 0x0, name = 0x7f90a8202070 "Thunderbird", + version = 0x7f90a82040b0 "3.1.1", + buildID = 0x7f90a8202080 "20100720161535", + ID = 0x7f90a8219220 "{3550f703-e582-4d05-9a08-453d09bdfdc6}", + copyright = 0x0, flags = 14, xreDirectory = 0x7f90a821a300, + minVersion = 0x7f90a82040b8 "1.9.2.7", + maxVersion = 0x7f90a82040c0 "1.9.2.7", + crashReporterURL = 0x7f90a8219250 "https://crash-reports.mozilla.com/submit", profile = 0x0}, <No data fields>} + localIniFile = {<nsCOMPtr_base> = { + mRawPtr = 0x7f90a821a240}, <No data fields>} + parser = { + mSections = {<nsBaseHashtable<nsDepCharHashKey, nsAutoPtr<nsINIParser_internal::INIValue>, nsINIParser_internal::INIValue*>> = {<nsTHashtable<nsBaseHashtableET<nsDepCharHashKey, nsAutoPtr<nsINIParser_internal::INIValue> > >> = {mTable = {ops = 0x3139cc6110, data = 0x0, hashShift = 28, + maxAlphaFrac = 192 '\300', minAlphaFrac = 64 '@', + entrySize = 24, entryCount = 1, removedCount = 0, + generation = 0, + entryStore = 0x7f90a8226180 ""}}, <No data fields>}, <No data fields>}, mFileContents = {mRawPtr = 0x7f90a8210400 "[Build"}} + ar = <value optimized out> + override = 0x0 + iniFile = {<nsCOMPtr_base> = { + mRawPtr = 0x7f90a821a240}, <No data fields>} + i = <value optimized out> +#110 0x0000000000401a94 in main (argc=1, argv=0x7fff32df4268) + at /usr/src/debug/thunderbird-3.1.1/comm-1.9.2/mail/app/nsMailApp.cpp:101 + rv = <value optimized out> + appData = 0x7f90a821d080 + appini = {<nsCOMPtr_base> = { + mRawPtr = 0x7f90a821a0c0}, <No data fields>} + result = <value optimized out> +From To Syms Read Shared Object Library +0x0000003848c05640 0x0000003848c10e48 Yes /lib64/libpthread.so.0 +0x0000003b8ae1bcb0 0x0000003b8aea19c8 Yes /usr/lib64/thunderbird-3.1/libmozjs.so +0x0000003139e0af70 0x0000003139e22878 Yes /usr/lib64/thunderbird-3.1/libxul.so +0x0000003139602890 0x0000003139602ae8 Yes /usr/lib64/thunderbird-3.1/libxpcom.so +0x0000003139a37eb0 0x0000003139a87f98 Yes /usr/lib64/thunderbird-3.1/libxpcom_core.so +0x0000003859400e70 0x0000003859401ce8 Yes /lib64/libplds4.so +0x00000038598013d0 0x0000003859802b18 Yes /lib64/libplc4.so +0x0000003858c0cfc0 0x0000003858c2c968 Yes /lib64/libnspr4.so +0x0000003849000de0 0x0000003849001998 Yes /lib64/libdl.so.2 +0x0000003138a681c0 0x0000003138d0d268 Yes /usr/lib64/libgtk-x11-2.0.so.0 +0x00000038544096b0 0x00000038544150f8 Yes /usr/lib64/libatk-1.0.so.0 +0x000000384c819b60 0x000000384c8812c8 Yes /lib64/libgio-2.0.so.0 +0x0000003851407650 0x0000003851421348 Yes /usr/lib64/libpangoft2-1.0.so.0 +0x000000384d40c850 0x000000384d4745a8 Yes /usr/lib64/libfreetype.so.6 +0x000000384dc05c80 0x000000384dc1ff28 Yes /usr/lib64/libfontconfig.so.1 +0x000000313921d260 0x000000313927f2a8 Yes /usr/lib64/libgdk-x11-2.0.so.0 +0x0000003854005940 0x0000003854017ba8 Yes /usr/lib64/libgdk_pixbuf-2.0.so.0 +0x0000003853404630 0x0000003853408eb8 Yes /usr/lib64/libpangocairo-1.0.so.0 +0x000000385200ede0 0x000000385202d768 Yes /usr/lib64/libpango-1.0.so.0 +0x0000003853809c50 0x000000385385b058 Yes /usr/lib64/libcairo.so.2 +0x000000384b008d20 0x000000384b032a78 Yes /lib64/libgobject-2.0.so.0 +0x000000384b401080 0x000000384b401fc8 Yes /lib64/libgmodule-2.0.so.0 +0x000000384a801590 0x000000384a8029f8 Yes /lib64/libgthread-2.0.so.0 +0x0000003849802140 0x00000038498055a8 Yes /lib64/librt.so.1 +0x0000003849c155c0 0x0000003849c99d58 Yes /lib64/libglib-2.0.so.0 +0x000000384b81dd80 0x000000384b8ab938 Yes /usr/lib64/libX11.so.6 +0x0000003137e09060 0x0000003137e19878 Yes /usr/lib64/libdbus-glib-1.so.2 +0x000000384ac07090 0x000000384ac2e4c8 Yes /lib64/libdbus-1.so.3 +0x0000003850009230 0x000000385002abd8 Yes /usr/lib64/libhunspell-1.2.so.0 +0x00000038508563f0 0x00000038508c33f6 Yes /usr/lib64/libstdc++.so.6 +0x0000003848803ea0 0x0000003848843fa8 Yes /lib64/libm.so.6 +0x000000384d802910 0x000000384d812f48 Yes /lib64/libgcc_s.so.1 +0x000000384841e9a0 0x000000384852b820 Yes /lib64/libc.so.6 +0x0000003848000af0 0x0000003848018904 Yes /lib64/ld-linux-x86-64.so.2 +0x0000003136a03530 0x0000003136a0e638 Yes /usr/lib64/libXext.so.6 +0x000000313ae130d0 0x000000313ae4f938 Yes /usr/lib64/libXt.so.6 +0x000000384fc2d6c0 0x000000384fcadb98 Yes /lib64/libasound.so.2 +0x000000384f001370 0x000000384f004178 Yes /usr/lib64/libXfixes.so.3 +0x000000384a4038c0 0x000000384a412528 Yes /lib64/libresolv.so.2 +0x0000003849401ef0 0x000000384940d228 Yes /lib64/libz.so.1 +0x000000384a005550 0x000000384a015038 Yes /lib64/libselinux.so.1 +0x000000384c403b70 0x000000384c41ca08 Yes /lib64/libexpat.so.1 +0x000000384ec018c0 0x000000384ec07f58 Yes /usr/lib64/libXrender.so.1 +0x0000003137600a20 0x0000003137601508 Yes /usr/lib64/libXinerama.so.1 +0x0000003136e01eb0 0x0000003136e0c608 Yes /usr/lib64/libXi.so.6 +0x0000003137201720 0x0000003137206828 Yes /usr/lib64/libXrandr.so.2 +0x000000384f402880 0x000000384f407678 Yes /usr/lib64/libXcursor.so.1 +0x0000003138600b40 0x0000003138601908 Yes /usr/lib64/libXcomposite.so.1 +0x0000003853c00a90 0x0000003853c01638 Yes /usr/lib64/libXdamage.so.1 +0x000000384d004830 0x000000384d01e7a8 Yes /usr/lib64/libpng12.so.0 +0x0000003851807230 0x0000003851851e78 Yes /usr/lib64/libpixman-1.so.0 +0x000000384c008650 0x000000384c013898 Yes /usr/lib64/libxcb.so.1 +0x00000031382019f0 0x00000031382062a8 Yes /usr/lib64/libSM.so.6 +0x0000003855804d70 0x0000003855813778 Yes /usr/lib64/libICE.so.6 +0x000000384bc00dd0 0x000000384bc01b68 Yes /usr/lib64/libXau.so.6 +0x0000003137a014b0 0x0000003137a02be8 Yes /lib64/libuuid.so.1 +0x00007f90a2164110 0x00007f90a216c258 Yes /lib64/libnss_files.so.2 +0x00007f90a1f3abc0 0x00007f90a1f5c818 Yes /usr/lib64/gtk-2.0/2.10.0/engines/libclearlooks.so +0x00007f90a1d35620 0x00007f90a1d35e08 Yes /usr/lib64/gtk-2.0/modules/libpk-gtk-module.so +0x00007f90a1b2ffb0 0x00007f90a1b321e8 Yes /usr/lib64/gtk-2.0/modules/libcanberra-gtk-module.so +0x00007f90a192bc60 0x00007f90a192d0a8 Yes /usr/lib64/libcanberra-gtk.so.0 +0x0000003860c03280 0x0000003860c0c318 Yes /usr/lib64/libcanberra.so.0 +0x000000385ec01fa0 0x000000385ec05fd8 Yes /usr/lib64/libvorbisfile.so.3 +0x000000385c003700 0x000000385c01a718 Yes /usr/lib64/libvorbis.so.0 +0x000000385bc018a0 0x000000385bc03bb8 Yes /usr/lib64/libogg.so.0 +0x000000385c801e30 0x000000385c809ca8 Yes /usr/lib64/libtdb.so.1 +0x000000385b402370 0x000000385b406758 Yes /usr/lib64/libltdl.so.7 +0x000000313c222430 0x000000313c268f08 Yes /usr/lib64/libgnomeui-2.so.0 +0x00007f90a16d6d70 0x00007f90a170d068 Yes /usr/lib64/libbonoboui-2.so.0 +0x000000313b20bcf0 0x000000313b228cd8 Yes /usr/lib64/libgnomecanvas-2.so.0 +0x000000313b606ee0 0x000000313b610e28 Yes /usr/lib64/libgnome-2.so.0 +0x0000003861402ef0 0x00000038614155e8 Yes /usr/lib64/libart_lgpl_2.so.2 +0x000000313a617900 0x000000313a64f618 Yes /usr/lib64/libgnomevfs-2.so.0 +0x0000003856411b30 0x000000385642da28 Yes /usr/lib64/libgconf-2.so.4 +0x000000399ea06d70 0x000000399ea15bd8 Yes /usr/lib64/libgnome-keyring.so.0 +0x0000003859027fa0 0x0000003859052ee8 Yes /usr/lib64/libbonobo-2.so.0 +0x000000385f80adf0 0x000000385f812f58 Yes /usr/lib64/libbonobo-activation.so.4 +0x0000003855427990 0x000000385544b6a8 Yes /usr/lib64/libORBit-2.so.0 +0x00007f90a1393950 0x00007f90a1470048 Yes /usr/lib64/libxml2.so.2 +0x0000003858401b10 0x0000003858406ee8 Yes /lib64/libpopt.so.0 +0x00007f90a11629a0 0x00007f90a1166178 Yes /usr/lib64/libgailutil.so.18 +0x0000003856014500 0x0000003856046708 Yes /usr/lib64/libssl.so.10 +0x000000385105c900 0x0000003851121288 Yes /lib64/libcrypto.so.10 +0x000000399ee00ca0 0x000000399ee01aa8 Yes /usr/lib64/libavahi-glib.so.1 +0x00000039a2803390 0x00000039a2808698 Yes /usr/lib64/libavahi-common.so.3 +0x00000039a24038b0 0x00000039a240bf68 Yes /usr/lib64/libavahi-client.so.3 +0x0000003857c00e10 0x0000003857c01688 Yes /lib64/libutil.so.1 +0x00000039a1406d00 0x00000039a1450078 Yes /lib64/libgcrypt.so.11 +0x000000385f003110 0x000000385f003ad8 Yes /usr/lib64/libORBitCosNaming-2.so.0 +0x0000003851c06c00 0x0000003851c27268 Yes /lib64/libgssapi_krb5.so.2 +0x0000003852c18540 0x0000003852c73f08 Yes /lib64/libkrb5.so.3 +0x00007f90a0f5e220 0x00007f90a0f5ed08 Yes /lib64/libcom_err.so.2 +0x00000038528055c0 0x000000385281e6b8 Yes /lib64/libk5crypto.so.3 +0x00000038570007f0 0x0000003857000d58 Yes /lib64/libgpg-error.so.0 +0x00000038524026c0 0x00000038524067b8 Yes /lib64/libkrb5support.so.0 +0x0000003850c00aa0 0x0000003850c00fa8 Yes /lib64/libkeyutils.so.1 +0x00007f90a0bfc580 0x00007f90a0bfdce8 Yes /usr/lib64/gconv/UTF-16.so +0x00007f90a04c9c30 0x00007f90a06ec5a8 Yes /usr/lib64/thunderbird-3.1/components/libmail.so +0x00007f90a0230990 0x00007f90a023ca88 Yes /usr/lib64/thunderbird-3.1/components/libspellchecker.so +0x00007f90a001ecf0 0x00007f90a0026708 Yes /usr/lib64/thunderbird-3.1/components/libchrome.so +0x00007f909fd280b0 0x00007f909fda86f8 Yes /usr/lib64/thunderbird-3.1/components/libnecko.so +0x00007f909f0d6890 0x00007f909f0de728 Yes /usr/lib64/thunderbird-3.1/components/libpref.so +0x00007f909eea9370 0x00007f909eeb4cf8 Yes /usr/lib64/thunderbird-3.1/components/libi18n.so +0x00007f909ec9a2b0 0x00007f909ec9de38 Yes /usr/lib64/thunderbird-3.1/components/libdbusservice.so +0x00007f909ea86e60 0x00007f909ea8ffe8 Yes /usr/lib64/thunderbird-3.1/components/libjar50.so +0x00007f909e7dfa20 0x00007f909e8425f8 Yes /usr/lib64/thunderbird-3.1/components/libxpconnect.so +0x00007f909d163930 0x00007f909d199b68 Yes /usr/lib64/thunderbird-3.1/components/libwidget_gtk2.so +0x00007f909cf3eeb0 0x00007f909cf42bc8 Yes /usr/lib64/thunderbird-3.1/libgkgfx.so +0x00007f909cd047b0 0x00007f909cd26068 Yes /usr/lib64/thunderbird-3.1/libthebes.so +0x00007f909cae9ee0 0x00007f909caeb0c8 Yes /usr/lib64/thunderbird-3.1/libgtkxtbin.so +0x00007f909c8e6300 0x00007f909c8e6b98 Yes /usr/lib64/thunderbird-3.1/libgfxpsshar.so +0x00007f909c6e2480 0x00007f909c6e2f28 Yes /usr/lib64/gconv/ISO8859-2.so +0x00007f909c4b4ca0 0x00007f909c4d1af8 Yes /usr/lib64/thunderbird-3.1/components/libtoolkitcomps.so +0x00007f909c27cc80 0x00007f909c29c008 Yes /usr/lib64/thunderbird-3.1/components/libembedcomponents.so +0x00007f909bee98f0 0x00007f909bef7b38 Yes /usr/lib64/thunderbird-3.1/components/libcaps.so +0x00007f909aeba890 0x00007f909aebc898 Yes /usr/lib64/thunderbird-3.1/components/libsystem-pref.so +0x00007f909acb4ea0 0x00007f909acb6738 Yes /usr/lib64/thunderbird-3.1/components/libwindowds.so +0x00007f909aa8d010 0x00007f909aaa3608 Yes /usr/lib64/thunderbird-3.1/components/librdf.so +0x00007f909a86a600 0x00007f909a878df8 Yes /usr/lib64/thunderbird-3.1/components/libnsappshell.so +0x00007f909a600930 0x00007f909a63e748 Yes /usr/lib64/thunderbird-3.1/components/libdocshell.so +0x00007f909a3e1970 0x00007f909a3e6f38 Yes /usr/lib64/thunderbird-3.1/components/libmozgnome.so +0x000000313aa033f0 0x000000313aa06538 Yes /usr/lib64/libnotify.so.1 +0x00007f909a1d3de0 0x00007f909a1daab8 Yes /usr/lib64/gnome-vfs-2.0/modules/libfile.so +0x0000003858801350 0x0000003858803448 Yes /lib64/libattr.so.1 +0x000000385a801d30 0x000000385a805c08 Yes /lib64/libacl.so.1 +0x00007f9099fc9770 0x00007f9099fcd038 Yes /usr/lib64/libfam.so.0 +0x00007f9099aaf560 0x00007f9099ae0c88 Yes /usr/lib64/thunderbird-3.1/components/libhtmlpars.so +0x00007f90997d5130 0x00007f90997e6588 Yes /usr/lib64/thunderbird-3.1/components/libuconv.so +0x00007f90995abe20 0x00007f90995b8d88 Yes /usr/lib64/thunderbird-3.1/components/libstoragecomps.so +0x00007f9099333780 0x00007f90993860f8 Yes /usr/lib64/thunderbird-3.1/libsqlite3.so +0x00007f9095061630 0x00007f90955612c8 Yes /usr/lib64/thunderbird-3.1/components/libgklayout.so +0x00007f9094b821e0 0x00007f9094ba2da8 Yes /usr/lib64/thunderbird-3.1/components/libimglib2.so +0x00007f90949584a0 0x00007f9094972008 Yes /usr/lib64/libjpeg.so.62 +0x00007f9094748910 0x00007f909474f0f8 Yes /usr/lib64/thunderbird-3.1/components/libgkgfxthebes.so +0x00007f909453ef30 0x00007f90945407e8 Yes /usr/lib64/thunderbird-3.1/components/libcommandlines.so +0x00007f90940ece30 0x00007f90940f7838 Yes /usr/lib64/thunderbird-3.1/components/libwebbrwsr.so +0x00007f9093ee45c0 0x00007f9093ee5558 Yes /usr/lib64/thunderbird-3.1/components/libpermissions.so +0x00007f9093cdbbc0 0x00007f9093cdf968 Yes /usr/lib64/thunderbird-3.1/components/libcookie.so +0x00007f9093ad0ae0 0x00007f9093ad5598 Yes /usr/lib64/thunderbird-3.1/components/libpipboot.so +0x00007f90964fcfb0 0x00007f90964fe438 Yes /usr/lib64/thunderbird-3.1/components/libremoteservice.so +0x00007f90962f2ca0 0x00007f90962f6258 Yes /usr/lib64/thunderbird-3.1/components/libchardet.so +0x000000313be00be0 0x000000313be01c08 Yes /usr/lib64/libXss.so.1 +0x00007f9095df7730 0x00007f9095dfc2d8 Yes /usr/lib64/thunderbird-3.1/components/libintlapp.so +0x00007f9095be9290 0x00007f9095bef168 Yes /usr/lib64/thunderbird-3.1/components/libimgicon.so +0x00007f908d204aa0 0x00007f908d21dbb8 Yes /usr/lib64/gio/modules/libgvfsdbus.so +0x00007f908cfed190 0x00007f908cff7418 Yes /usr/lib64/libgvfscommon.so.0 +0x00007f908cdd8770 0x00007f908cde02b8 Yes /lib64/libudev.so.0 +0x00007f908c4fa070 0x00007f908c4fd1a8 Yes /usr/lib64/thunderbird-3.1/components/libtxmgr.so +0x00007f908bfe57f0 0x00007f908bff3978 Yes (*) /usr/lib64/mozilla/extensions/{3550f703-e582-4d05-9a08-453d09bdfdc6}/{e2fda1a4-762b-4020-b5ad-a41df1933103}/components/libcalbasecomps.so +0x00000038662194f0 0x0000003866242668 Yes /usr/lib64/libical.so.0 +0x00007f908bbf7340 0x00007f908bbfbc58 Yes /usr/lib64/thunderbird-3.1/components/libtkautocomplete.so +0x00007f908b7fd0f0 0x00007f908b7fea98 Yes /usr/lib64/gtk-2.0/2.10.0/immodules/im-ibus.so +0x000000384f80f2e0 0x000000384f82b6f8 Yes /usr/lib64/libibus.so.2 +0x00007f908b2f52a0 0x00007f908b2fa618 Yes /usr/lib64/thunderbird-3.1/components/libsatchel.so +0x00007f908b0bf7d0 0x00007f908b0da458 Yes /usr/lib64/thunderbird-3.1/components/libmork.so +0x00007f908aa8f9d0 0x00007f908aad2ac8 Yes /usr/lib64/thunderbird-3.1/components/libpipnss.so +0x000000385ac07c40 0x000000385ac29948 Yes /usr/lib64/libssl3.so +0x0000003859c09880 0x0000003859c216a8 Yes /usr/lib64/libsmime3.so +0x000000385a0184d0 0x000000385a0fc6b8 Yes /usr/lib64/libnss3.so +0x000000385a4083a0 0x000000385a4135c8 Yes /usr/lib64/libnssutil3.so +0x00007f908a83aa10 0x00007f908a863c68 Yes /usr/lib64/libsoftokn3.so +0x000000385cc08b20 0x000000385cc758c8 Yes /usr/lib64/libsqlite3.so.0 +0x00007f908a612180 0x00007f908a62e858 Yes /usr/lib64/libnssdbm3.so +0x00000038568030c0 0x000000385683d848 Yes /usr/lib64/libfreebl3.so +0x00007f908a3a4d70 0x00007f908a3b3f48 Yes /usr/lib64/libnssckbi.so +0x00007f908a1830b0 0x00007f908a186438 Yes /usr/lib64/thunderbird-3.1/components/libmsgsmime.so +0x00007f9089cdd0c0 0x00007f9089cf42c8 Yes /usr/lib64/thunderbird-3.1/components/libmailcomps.so +0x00007f9089ad6920 0x00007f9089ad8008 Yes /usr/lib64/thunderbird-3.1/components/libunixproxy.so +0x00007f9088ed2af0 0x00007f9088ed3768 Yes /lib64/libnss_mdns4_minimal.so.2 +0x00007f9088ccd000 0x00007f9088cd0348 Yes /lib64/libnss_dns.so.2 +0x00007f90882f86b0 0x00007f90882fd318 Yes /usr/lib64/libesd.so.0 +0x000000399e2062f0 0x000000399e21ceb8 Yes /usr/lib64/libaudiofile.so.0 +0x00007f9087bfc050 0x00007f9087bfef88 Yes /usr/lib64/libcanberra-0.24/libcanberra-pulse.so +0x00007f90879c2e50 0x00007f90879ea398 Yes /usr/lib64/libpulse.so.0 +0x00007f9087778460 0x00007f90877a3758 Yes /usr/lib64/libpulsecommon-0.9.21.so +0x00007f90875643b0 0x00007f90875673b8 Yes /usr/lib64/libXtst.so.6 +0x000000385c402ee0 0x000000385c406a88 Yes /lib64/libwrap.so.0 +0x00007f9087304540 0x00007f9087345ec8 Yes /usr/lib64/libsndfile.so.1 +0x00007f90870fb1c0 0x00007f90870fd7e8 Yes /usr/lib64/libasyncns.so.0 +0x00007f9086ee5070 0x00007f9086ef2a08 Yes /lib64/libnsl.so.1 +0x000000385d00be70 0x000000385d030e08 Yes /usr/lib64/libFLAC.so.8 +0x000000385d4139c0 0x000000385d415eb8 Yes /usr/lib64/libvorbisenc.so.2 +0x00007f9081fd7960 0x00007f9081ff0fd8 Yes /usr/lib64/thunderbird-3.1/components/libgkplugin.so +0x00007f907f7ec480 0x00007f907f7f7758 Yes /usr/lib64/thunderbird-3.1/components/libcomposer.so +0x00007f907d3efc00 0x00007f907d3fc128 Yes /usr/lib64/gio/modules/libgioremote-volume-monitor.so +(*): Shared library is missing debugging information. +$1 = 0x0 +$2 = 0x0 +rax 0x0 0 +rbx 0xb 11 +rcx 0xffffffffffffffff -1 +rdx 0xb 11 +rsi 0x4deb 19947 +rdi 0x4deb 19947 +rbp 0x7fff32dedc20 0x7fff32dedc20 +rsp 0x7fff32dedc08 0x7fff32dedc08 +r8 0x0 0 +r9 0x1 1 +r10 0x8 8 +r11 0x206 518 +r12 0xffffffff 4294967295 +r13 0x7f907d912a60 140258558683744 +r14 0x7f9097882000 140258994298880 +r15 0x7fff32dee2f0 140734046855920 +rip 0x3848c0f30b 0x3848c0f30b <raise+43> +eflags 0x206 [ PF IF ] +cs 0x33 51 +ss 0x2b 43 +ds 0x0 0 +es 0x0 0 +fs 0x0 0 +gs 0x0 0 +Dump of assembler code for function raise: + 0x0000003848c0f2e0 <+0>: mov %fs:0x2d4,%ecx + 0x0000003848c0f2e8 <+8>: mov %fs:0x2d0,%esi + 0x0000003848c0f2f0 <+16>: mov %ecx,%eax + 0x0000003848c0f2f2 <+18>: movslq %edi,%rdx + 0x0000003848c0f2f5 <+21>: movslq %esi,%rsi + 0x0000003848c0f2f8 <+24>: sar $0x1f,%eax + 0x0000003848c0f2fb <+27>: mov %eax,%edi + 0x0000003848c0f2fd <+29>: xor %ecx,%edi + 0x0000003848c0f2ff <+31>: sub %eax,%edi + 0x0000003848c0f301 <+33>: mov $0xea,%eax + 0x0000003848c0f306 <+38>: movslq %edi,%rdi + 0x0000003848c0f309 <+41>: syscall +=> 0x0000003848c0f30b <+43>: cmp $0xfffffffffffff000,%rax + 0x0000003848c0f311 <+49>: ja 0x3848c0f315 <raise+53> + 0x0000003848c0f313 <+51>: repz retq + 0x0000003848c0f315 <+53>: mov 0x207c64(%rip),%rdx # 0x3848e16f80 + 0x0000003848c0f31c <+60>: neg %eax + 0x0000003848c0f31e <+62>: mov %eax,%fs:(%rdx) + 0x0000003848c0f321 <+65>: or $0xffffffffffffffff,%eax + 0x0000003848c0f324 <+68>: retq +End of assembler dump. +Debuginfo absent: 412783fb5e761fdab4f06a8d0a5381e173c4db31 diff --git a/tests/btparser/frame.at b/tests/btparser/frame.at new file mode 100644 index 00000000..28c34ac5 --- /dev/null +++ b/tests/btparser/frame.at @@ -0,0 +1,615 @@ +# Checking the btparser. -*- Autotest -*- + +AT_BANNER([Frames]) + +## ------------- ## +## btp_frame_dup ## +## ------------- ## + +AT_TESTFUN([btp_frame_dup], +[[ +#include <lib/frame.h> +#include <lib/utils.h> +#include <assert.h> + +int main(void) +{ + struct btp_frame *frame1 = btp_frame_new();; + frame1->function_name = btp_strdup("test1"); + frame1->function_type = btp_strdup("type1"); + frame1->number = 10; + frame1->source_file = btp_strdup("file1"); + frame1->source_line = 11; + frame1->address = 12; + + struct btp_frame *frame0 = btp_frame_new();; + frame0->function_name = btp_strdup("test0"); + frame0->function_type = btp_strdup("type0"); + frame0->number = 13; + frame0->source_file = btp_strdup("file0"); + frame0->source_line = 14; + frame0->address = 15; + frame0->next = frame1; + + /* Test the duplication without siblings. */ + struct btp_frame *frame = btp_frame_dup(frame0, false); + assert(NULL == frame->next); + assert(frame->function_name != frame0->function_name); + assert(frame->function_type != frame0->function_type); + assert(frame->source_file != frame0->source_file); + assert(0 == btp_frame_cmp(frame, frame0, true)); + btp_frame_free(frame); + + /* Test the duplication with the siblings. */ + frame = btp_frame_dup(frame0, true); + assert(frame->function_name != frame0->function_name); + assert(frame->function_type != frame0->function_type); + assert(frame->source_file != frame0->source_file); + assert(0 == btp_frame_cmp(frame, frame0, true)); + assert(frame->next != frame1); + assert(0 == btp_frame_cmp(frame->next, frame1, true)); + btp_frame_free(frame->next); + btp_frame_free(frame); + + btp_frame_free(frame1); + btp_frame_free(frame0); + return 0; +} +]]) + +## --------------------------- ## +## btp_frame_parse_frame_start ## +## --------------------------- ## + +AT_TESTFUN([btp_frame_parse_frame_start], +[[ +#include <lib/frame.h> +#include <assert.h> + +/** + * @param input + * The input text stream. + * @param parsed_char_count + * The expected number of characters parsed (taken) from input. + * @param expected_frame_number + * The expected parsed frame number. + */ +void check(char *input, + int parsed_char_count, + unsigned expected_frame_number) +{ + int number; + char *old_input = input; + assert(parsed_char_count == btp_frame_parse_frame_start(&input, &number)); + if (0 < parsed_char_count) + { + assert(number == expected_frame_number); + assert(*input == '\0'); + } + else + { + /* Check that the pointer is not moved. */ + assert(old_input == input); + } +} + +int main(void) +{ + check("#10 " , 4, 10); + check("#0 " , 4, 0); + check("#99999 ", 8, 99999); + check("ab " , 0, 0); + check("#ab " , 0, 0); + check("#-9999 " , 0, 9999); + return 0; +} +]]) + +## --------------------------- ## +## btp_frame_parseadd_operator ## +## --------------------------- ## + +AT_TESTFUN([btp_frame_parseadd_operator], +[[ +#include <lib/frame.h> +#include <lib/strbuf.h> +#include <assert.h> +#include <string.h> + +void check(char *input, int parsed_length) +{ + printf("Testing '%s' -> %d\n", input, parsed_length); + char *old_input = input; + struct btp_strbuf *strbuf = btp_strbuf_new(); + assert(parsed_length == btp_frame_parseadd_operator(&input, strbuf)); + printf(" input = '%s', old_input = '%s'\n", input, old_input); + + /* Check that the input pointer was updated properly. */ + assert(*input == old_input[parsed_length]); + + /* Check that the strbuf has been modified accordingly to what was parsed. */ + assert(0 == strncmp(strbuf->buf, old_input, parsed_length)); + assert(strbuf->len == parsed_length); + + btp_strbuf_free(strbuf); +} + +int main(void) +{ + check("operator>", strlen("operator>")); + check("operator->", strlen("operator->")); + check("operator new", strlen("operator new")); + check("operator new[]", strlen("operator new[]")); + check("operator delete", strlen("operator delete")); + check("operator del", 0); + check("operator delete[] (test)", strlen("operator delete[]")); + /* Red Hat Bugzilla bug #542445 */ + check("cairo_add_operator (test)", 0); + return 0; +} +]]) + +## ----------------------------- ## +## btp_frame_parse_function_name ## +## ----------------------------- ## + +AT_TESTFUN([btp_frame_parse_function_name], +[[ +#include <lib/frame.h> +#include <lib/utils.h> +#include <lib/location.h> +#include <assert.h> +#include <stdlib.h> +#include <string.h> + +void check(bool success, char *input) +{ + /* Function name must be ended with a space. */ + char *input_with_space = btp_malloc(strlen(input) + 2); + strcpy(input_with_space, input); + input_with_space[strlen(input)] = ' '; + input_with_space[strlen(input) + 1] = '\0'; + + char *function_name = NULL, *function_type = NULL; + char *old_input_with_space = input_with_space; + printf("Parsing '%s'\n", input); + struct btp_location location; + btp_location_init(&location); + assert(success == btp_frame_parse_function_name(&input_with_space, + &function_name, + &function_type, + &location)); + + if (success) + { + assert(function_name); + printf("Function name '%s'\n", function_name); + assert(strcmp(function_name, input) == 0); + assert(function_type == NULL); + free(function_name); + assert(*input_with_space == ' '); + } + else + { + /* Check that the pointer is not moved. */ + assert(old_input_with_space == input_with_space); + } + + free(old_input_with_space); +} + +int main(void) +{ + check(true, "??"); + check(true, "IA__g_bookmark_file_to_file"); + check(true, "pthread_cond_timedwait@@GLIBC_2.3.2"); + check(true, "_pixman_walk_composite_region"); + check(true, "CairoOutputDev::tilingPatternFill"); + check(true, "sdr::(anonymous namespace)::ViewContact::~ViewContact"); + check(true, "operator==<nsIAtom, nsICSSPseudoClass>"); + return 0; +} +]]) + +## ---------------------------- ## +## btp_frame_skip_function_args ## +## ---------------------------- ## + +AT_TESTFUN([btp_frame_skip_function_args], +[[ +#include <lib/frame.h> +#include <lib/location.h> +#include <assert.h> + +void check(bool success, char *input) +{ + char *old_input = input; + struct btp_location location; + btp_location_init(&location); + assert(success == btp_frame_skip_function_args(&input, &location)); + if (success) + { + assert(*input == '\0'); + } + else + { + /* Check that the pointer is not moved. */ + assert(old_input == input); + } +} + +int main(void) +{ + /* minimal */ + check(true, "()"); + /* newline */ + check(true, "(\n" + "page=0x7f186003e280, \n" + "cairo=0x7f18600efd10, printing=0)"); + /* value optimized out */ + check(true, "(this=0x7f1860023400, DPI=<value optimized out>)"); + /* string */ + check(true, "(filename=0x18971b0 \"/home/jfclere/.recently-used.xbel\")"); + /* TODO: parentesis balance */ + return 0; +} +]]) + +## ----------------------------- ## +## btp_frame_parse_function_call ## +## ----------------------------- ## + +AT_TESTFUN([btp_frame_parse_function_call], +[[ +#include <lib/frame.h> +#include <lib/location.h> +#include <assert.h> +#include <stdlib.h> +void check(bool success, + char *input, + char *expected_function_name, + char *expected_function_type) +{ + char *old_input = input; + char *function_name, *function_type; + struct btp_location location; + btp_location_init(&location); + assert(success == btp_frame_parse_function_call(&input, + &function_name, + &function_type, + &location)); + if (success) + { + printf("Expected: '%s', got '%s'\n", expected_function_name, function_name); + assert(0 == strcmp(expected_function_name, function_name)); + assert((!expected_function_type && !function_type) || + 0 == strcmp(expected_function_type, function_type)); + assert(*input == '\0'); + free(function_name); + } + else + { + /* Check that the pointer is not moved. */ + assert(old_input == input); + } +} + +int main(void) +{ + /* minimal */ + check(true, "?? ()", "??", NULL); + check(true, "fsync ()", "fsync", NULL); + /* newlines */ + check(true, + "write_to_temp_file (\n" + "filename=0x18971b0 \"/home/jfclere/.recently-used.xbel\", \n" + "contents=<value optimized out>, length=29917, error=0x7fff3cbe4110)", + "write_to_temp_file", + NULL); + /* C++ */ + check(true, + "osgText::Font::GlyphTexture::apply(osg::State&) const ()", + "osgText::Font::GlyphTexture::apply(osg::State&) const", + NULL); + check(true, + "osgUtil::RenderStage::drawInner(osg::RenderInfo&, osgUtil::RenderLeaf*&, bool&) ()", + "osgUtil::RenderStage::drawInner(osg::RenderInfo&, osgUtil::RenderLeaf*&, bool&)", + NULL); + check(true, + "nsRegion::RgnRect::operator new ()", + "nsRegion::RgnRect::operator new", + NULL); + check(true, + "sigc::internal::slot_call0<sigc::bound_mem_functor0<void, Driver>, void>::call_it (this=0x6c)", + "sigc::internal::slot_call0<sigc::bound_mem_functor0<void, Driver>, void>::call_it", + NULL); + check(true, + "sigc::internal::slot_call0<sigc::bound_mem_functor0<void, GameWindow>, void>::call_it(sigc::internal::slot_rep*) ()", + "sigc::internal::slot_call0<sigc::bound_mem_functor0<void, GameWindow>, void>::call_it(sigc::internal::slot_rep*)", + NULL); + /* C++ operator< and templates */ + check(true, + "operator< <char, std::char_traits<char>, std::allocator<char> > (__s1=<value optimized out>)", + "operator< <char, std::char_traits<char>, std::allocator<char> >", + NULL); + /* C++ plain operator-> */ + check(true, "operator-> ()", "operator->", NULL); + /* Not an operator, but includes the keyword 'operator' (Red Hat Bugzilla bug #542445) */ + check(true, + "cairo_set_operator (cr=0x0, op=CAIRO_OPERATOR_OVER)", + "cairo_set_operator", + NULL); + /* type included */ + #define TYPE "void" + #define FUNCTION "boost::throw_exception<" \ + "boost::filesystem::basic_filesystem_error<" \ + "boost::filesystem::basic_path<" \ + "std::basic_string<" \ + "char, std::char_traits<char>, " \ + "std::allocator<char> >, " \ + "boost::filesystem::path_traits> > >" \ + "(boost::filesystem::basic_filesystem_error<" \ + "boost::filesystem::basic_path<" \ + "std::basic_string<char, std::char_traits<char>, " \ + "std::allocator<char> >, " \ + "boost::filesystem::path_traits> > const&)" + #define ARGS "()" + #define FUNCALL TYPE " " FUNCTION " " ARGS + check(true, FUNCALL, FUNCTION, TYPE); + return 0; +} +]]) + +## ----------------------------------- ## +## btp_frame_parse_address_in_function ## +## ----------------------------------- ## + +AT_TESTFUN([btp_frame_parse_address_in_function], +[[ +#include <lib/frame.h> +#include <lib/location.h> +#include <assert.h> +#include <stdlib.h> +void check(bool success, + char *input, + uint64_t expected_address, + char *expected_function) +{ + char *old_input = input; + char *function; + char *type; + uint64_t address; + struct btp_location location; + btp_location_init(&location); + assert(success == btp_frame_parse_address_in_function(&input, + &address, + &function, + &type, + &location)); + if (success) + { + assert(strcmp(function, expected_function) == 0); + assert(address == expected_address); + assert(*input == '\0'); + free(function); + free(type); + } + else + { + /* Check that the pointer is not moved. */ + assert(old_input == input); + } +} + +int main(void) +{ + /* minimal */ + check(true, "0x00ad0a91 in raise (sig=6)", 0xad0a91, "raise"); + /* longnum */ + check(true, "0xf00000322221730e in IA__g_bookmark_file_to_file (\n" + "filename=0x18971b0 \"/home/jfclere/.recently-used.xbel\", \n" + "error=0x7fff3cbe4160)", 0xf00000322221730eULL, + "IA__g_bookmark_file_to_file"); + return 0; +} +]]) + +## ----------------------------- ## +## btp_frame_parse_file_location ## +## ----------------------------- ## + +AT_TESTFUN([btp_frame_parse_file_location], +[[ +#include <lib/frame.h> +#include <lib/location.h> +#include <assert.h> +#include <stdlib.h> +void check(bool success, + char *input, + char *expected_file, + unsigned expected_line) +{ + char *old_input = input; + char *file; + unsigned line; + struct btp_location location; + btp_location_init(&location); + assert(success == btp_frame_parse_file_location(&input, + &file, + &line, + &location)); + if (success) + { + assert(strcmp(file, expected_file) == 0); + assert(line == expected_line); + assert(*input == '\0'); + free(file); + } + else + { + /* Check that the pointer is not moved. */ + assert(old_input == input); + } +} + +int main(void) +{ + /* Test with a newline and without a line number. */ + check(true, "\n at gtkrecentmanager.c", "gtkrecentmanager.c", -1); + + /* Test with a newline and with a line number. */ + check(true, "\n at gtkrecentmanager.c:1377", "gtkrecentmanager.c", 1377); + + /* Test without a newline and a file name with a dash and an upper letter. */ + check(true, + " at ../sysdeps/unix/syscall-template.S:82", + "../sysdeps/unix/syscall-template.S", + 82); + + /* A file name starting with an underscore: Red Hat Bugzilla bug #530678. */ + check(true, + " at _polkitauthenticationagent.c:885", + "_polkitauthenticationagent.c", + 885); + + return 0; +} +]]) + +## ---------------------- ## +## btp_frame_parse_header ## +## ---------------------- ## + +AT_TESTFUN([btp_frame_parse_header], +[[ +#include <lib/frame.h> +#include <lib/location.h> +#include <assert.h> +#include <stdlib.h> +#include <stdio.h> + +void check(char *input, + struct btp_frame *expected_frame) +{ + printf("=================================================\n" + "Testing %s\n", + input); + + char *old_input = input; + struct btp_location location; + btp_location_init(&location); + struct btp_frame *frame = btp_frame_parse_header(&input, &location); + if (frame) + { + assert(*input == '\0'); + assert(btp_frame_cmp(frame, expected_frame, true) == 0); + btp_frame_free(frame); + } + else + { + printf(" - parsing failed: %d:%d %s\n", location.line, location.column, location.message); + + /* Check that the pointer is not moved. */ + assert(old_input == input); + assert(!expected_frame); + } +} + +int main(void) +{ + /* basic */ + struct btp_frame frame; + btp_frame_init(&frame); + frame.function_name = "fsync"; + frame.number = 1; + frame.source_file = "../sysdeps/unix/syscall-template.S"; + frame.source_line = 82; + frame.address = 0x322160e7fdULL; + check("#1 0x000000322160e7fd in fsync () at ../sysdeps/unix/syscall-template.S:82", &frame); + + /* C++ */ + btp_frame_init(&frame); + frame.function_name = "nsRegion::RgnRect::operator new"; + frame.number = 4; + frame.source_file = "nsRegion.cpp"; + frame.source_line = 214; + frame.address = 0x3f96d71056ULL; + check("#4 0x0000003f96d71056 in nsRegion::RgnRect::operator new ()\n" + " at nsRegion.cpp:214", &frame); + + /* Templates and no filename. */ + btp_frame_init(&frame); + frame.function_name = "sigc::internal::slot_call0<sigc::bound_mem_functor0<void, GameWindow>, void>::call_it(sigc::internal::slot_rep*)"; + frame.number = 15; + frame.address = 0x08201bdfULL; + check("#15 0x08201bdf in sigc::internal::slot_call0<sigc::bound_mem_functor0<void, GameWindow>," + " void>::call_it(sigc::internal::slot_rep*) ()", &frame); + + /* No address, just the function call. Red Hat Bugzilla bug #530678 */ + btp_frame_init(&frame); + frame.function_name = "handle_message"; + frame.number = 30; + frame.source_file = "_polkitauthenticationagent.c"; + frame.source_line = 885; + check("#30 handle_message (message=<value optimized out>,\n" + "interface=<value optimized out>) at _polkitauthenticationagent.c:885", &frame); + + return 0; +} +]]) + +## --------------- ## +## btp_frame_parse ## +## --------------- ## + +AT_TESTFUN([btp_frame_parse], +[[ +#include <lib/frame.h> +#include <lib/location.h> +#include <assert.h> +#include <stdlib.h> +#include <string.h> +void check(char *input, + struct btp_frame *expected_frame, + char *expected_input) +{ + char *old_input = input; + struct btp_location location; + btp_location_init(&location); + struct btp_frame *frame = btp_frame_parse(&input, &location); + assert(input == expected_input); + if (frame) + { + assert(btp_frame_cmp(frame, expected_frame, true) == 0); + btp_frame_free(frame); + } + else + { + /* Check that the pointer is not moved. */ + assert(old_input == input); + assert(!expected_frame); + } +} + +int main(void) +{ + /* basic */ + struct btp_frame frame; + btp_frame_init(&frame); + frame.function_name = "fsync"; + frame.number = 1; + frame.source_file = "../sysdeps/unix/syscall-template.S"; + frame.source_line = 82; + frame.address = 0x322160e7fdULL; + char *c = "#1 0x000000322160e7fd in fsync () at ../sysdeps/unix/syscall-template.S:82\n" + "No locals."; + check(c, &frame, c + strlen(c)); + c = "#1 0x000000322160e7fd in fsync () at ../sysdeps/unix/syscall-template.S:82\n" + "No locals.\n" + "#2 0x003f4f3f in IA__g_main_loop_run (loop=0x90e2c50) at gmain.c:2799\n" + " self = 0x8b80038\n" + " __PRETTY_FUNCTION__ = \"IA__g_main_loop_run\"\n"; + check(c, &frame, strstr(c, "#2")); + return 0; +} +]]) diff --git a/tests/btparser/strbuf.at b/tests/btparser/strbuf.at new file mode 100644 index 00000000..18535c15 --- /dev/null +++ b/tests/btparser/strbuf.at @@ -0,0 +1,73 @@ +# Checking the btparser. -*- Autotest -*- + +AT_BANNER([strbuf]) + +## ---------------------- ## +## btp_strbuf_append_char ## +## ---------------------- ## + +AT_TESTFUN([btp_strbuf_append_char], +[[ +#include <lib/strbuf.h> +#include <assert.h> +int main(void) +{ + int i; + struct btp_strbuf *strbuf = btp_strbuf_new(); + for (i = 0; i < 100; ++i) + { + assert(strbuf->len == i); + assert(strbuf->alloc > strbuf->len); + assert(strbuf->buf[i] == '\0'); + btp_strbuf_append_char(strbuf, 'a'); + assert(strbuf->buf[i] == 'a'); + assert(strbuf->buf[i+1] == '\0'); + assert(strbuf->len == i + 1); + assert(strbuf->alloc > strbuf->len); + } + btp_strbuf_free(strbuf); + return 0; +} +]]) + +## --------------------- ## +## btp_strbuf_append_str ## +## --------------------- ## + +AT_TESTFUN([btp_strbuf_append_str], +[[ +#include <lib/strbuf.h> +#include <assert.h> + +/* Test appending strings of certain length. 'len' must be < 50. */ +void test(int len) +{ + int i; + char str[50]; + for (i = 0; i < len; ++i) + str[i] = 'a'; + str[i] = '\0'; + + struct btp_strbuf *strbuf = btp_strbuf_new(); + for (i = 0; i < 100; ++i) + { + assert(strbuf->len == i*len); + assert(strbuf->alloc > strbuf->len); + assert(strbuf->buf[i*len] == '\0'); + btp_strbuf_append_str(strbuf, str); + assert(strbuf->buf[i*len] == str[0]); + assert(strbuf->buf[i*len+len] == '\0'); + assert(strbuf->len == i*len + len); + assert(strbuf->alloc > strbuf->len); + } + btp_strbuf_free(strbuf); +} + +int main(void) +{ + int i; + for (i = 0; i < 50; ++i) + test(i); + return 0; +} +]]) diff --git a/tests/btparser/thread.at b/tests/btparser/thread.at new file mode 100644 index 00000000..143a8e1f --- /dev/null +++ b/tests/btparser/thread.at @@ -0,0 +1,349 @@ +# Checking the btparser. -*- Autotest -*- + +AT_BANNER([Threads]) + +## ----------------------- ## +## btp_thread_remove_frame ## +## ----------------------- ## +AT_TESTFUN([btp_thread_remove_frame], +[[ +#include <lib/thread.h> +#include <lib/frame.h> +#include <lib/location.h> +#include <lib/utils.h> +#include <assert.h> +#include <stdlib.h> + +int main(void) +{ + struct btp_frame *frame2 = btp_frame_new(); + frame2->function_name = btp_strdup("write"); + frame2->number = 2; + frame2->source_file = btp_strdup("gfileutils.c"); + frame2->source_line = 120; + frame2->address = 0x322160e7fdULL; + + struct btp_frame *frame1 = btp_frame_new(); + frame1->function_name = btp_strdup("write_to_temp_file"); + frame1->number = 1; + frame1->source_file = btp_strdup("gfileutils.c"); + frame1->source_line = 980; + frame1->address = 0x322160e7fdULL; + frame1->next = frame2; + + struct btp_frame *frame0 = btp_frame_new(); + frame0->function_name = btp_strdup("fsync"); + frame0->number = 0; + frame0->source_file = btp_strdup("../sysdeps/unix/syscall-template.S"); + frame0->source_line = 82; + frame0->address = 0x322160e7fdULL; + frame0->next = frame1; + + struct btp_thread thread; + btp_thread_init(&thread); + thread.number = 3; + thread.frames = frame0; + + /* Remove the frame from the top of the stack. */ + assert(btp_thread_remove_frame(&thread, frame0)); + assert(frame1 == thread.frames); + assert(frame2 == thread.frames->next); + + /* Remove the frame from the bottom of the stack. */ + assert(btp_thread_remove_frame(&thread, frame2)); + assert(frame1 == thread.frames); + assert(NULL == thread.frames->next); + + /* Remove the last remaining frame. */ + assert(btp_thread_remove_frame(&thread, frame1)); + assert(NULL == thread.frames); + + /* Remove nonexistant frame -> should return false. */ + assert(!btp_thread_remove_frame(&thread, frame0)); + assert(NULL == thread.frames); + + return 0; +} +]]) + +## ------------------------------ ## +## btp_thread_remove_frames_above ## +## ------------------------------ ## +AT_TESTFUN([btp_thread_remove_frames_above], +[[ +#include <lib/thread.h> +#include <lib/frame.h> +#include <lib/location.h> +#include <lib/utils.h> +#include <assert.h> +#include <stdlib.h> + +int main(void) +{ + struct btp_frame *frame2 = btp_frame_new(); + frame2->function_name = btp_strdup("write"); + frame2->number = 2; + frame2->source_file = btp_strdup("gfileutils.c"); + frame2->source_line = 120; + frame2->address = 0x322160e7fdULL; + + struct btp_frame *frame1 = btp_frame_new(); + frame1->function_name = btp_strdup("write_to_temp_file"); + frame1->number = 1; + frame1->source_file = btp_strdup("gfileutils.c"); + frame1->source_line = 980; + frame1->address = 0x322160e7fdULL; + frame1->next = frame2; + + struct btp_frame *frame0 = btp_frame_new(); + frame0->function_name = btp_strdup("fsync"); + frame0->number = 0; + frame0->source_file = btp_strdup("../sysdeps/unix/syscall-template.S"); + frame0->source_line = 82; + frame0->address = 0x322160e7fdULL; + frame0->next = frame1; + + struct btp_thread thread; + btp_thread_init(&thread); + thread.number = 3; + thread.frames = frame0; + + /* Remove the frames above the top of the stack. */ + assert(btp_thread_remove_frames_above(&thread, frame0)); + assert(frame0 == thread.frames); + assert(frame1 == thread.frames->next); + + /* Remove the frames above the second frame from the top of the stack. */ + assert(btp_thread_remove_frames_above(&thread, frame1)); + assert(frame1 == thread.frames); + assert(frame2 == thread.frames->next); + + /* Remove the frames above the bottom of the stack. */ + assert(btp_thread_remove_frames_above(&thread, frame2)); + assert(frame2 == thread.frames); + assert(NULL == thread.frames->next); + + /* Remove frames above a nonexistant frame -> should return false. */ + assert(!btp_thread_remove_frames_above(&thread, frame0)); + assert(frame2 == thread.frames); + + return 0; +} +]]) + +## -------------------------------- ## +## btp_thread_remove_frames_below_n ## +## -------------------------------- ## +AT_TESTFUN([btp_thread_remove_frames_below_n], +[[ +#include <lib/thread.h> +#include <lib/frame.h> +#include <lib/location.h> +#include <lib/utils.h> +#include <assert.h> +#include <stdlib.h> + +int main(void) +{ + struct btp_frame *frame2 = btp_frame_new(); + frame2->function_name = btp_strdup("write"); + frame2->number = 2; + frame2->source_file = btp_strdup("gfileutils.c"); + frame2->source_line = 120; + frame2->address = 0x322160e7fdULL; + + struct btp_frame *frame1 = btp_frame_new(); + frame1->function_name = btp_strdup("write_to_temp_file"); + frame1->number = 1; + frame1->source_file = btp_strdup("gfileutils.c"); + frame1->source_line = 980; + frame1->address = 0x322160e7fdULL; + frame1->next = frame2; + + struct btp_frame *frame0 = btp_frame_new(); + frame0->function_name = btp_strdup("fsync"); + frame0->number = 0; + frame0->source_file = btp_strdup("../sysdeps/unix/syscall-template.S"); + frame0->source_line = 82; + frame0->address = 0x322160e7fdULL; + frame0->next = frame1; + + struct btp_thread thread; + btp_thread_init(&thread); + thread.number = 3; + thread.frames = frame0; + + /* Remove no frame as n is too large. */ + btp_thread_remove_frames_below_n(&thread, 5); + assert(frame0 == thread.frames); + assert(frame1 == thread.frames->next); + assert(frame2 == thread.frames->next->next); + assert(NULL == thread.frames->next->next->next); + + /* Remove the frames below 1. */ + btp_thread_remove_frames_below_n(&thread, 1); + assert(frame0 == thread.frames); + assert(NULL == thread.frames->next); + + /* Remove the frames below 0. */ + btp_thread_remove_frames_below_n(&thread, 0); + assert(NULL == thread.frames); + + /* Try to remove frames when no frame is present. */ + btp_thread_remove_frames_below_n(&thread, 4); + assert(NULL == thread.frames); + + return 0; +} +]]) + +## ---------------- ## +## btp_thread_parse ## +## ---------------- ## + +AT_TESTFUN([btp_thread_parse], +[[ +#include <lib/thread.h> +#include <lib/frame.h> +#include <lib/location.h> +#include <assert.h> +#include <stdlib.h> +#include <stdio.h> + +void check(char *input, + struct btp_thread *expected_thread) +{ + printf("===============================================\n" + "Testing input: %s", + input); + + char *old_input = input; + struct btp_location location; + btp_location_init(&location); + struct btp_thread *thread = btp_thread_parse(&input, &location); + assert(!expected_thread || thread); + if (thread) + { + assert(*input == '\0'); + assert(btp_thread_cmp(thread, expected_thread) == 0); + btp_thread_free(thread); + } + else + { + /* Check that the pointer is not moved. */ + assert(old_input == input); + assert(!expected_thread); + } +} + +int main(void) +{ + /* Basic test. */ + struct btp_frame frame0, frame1; + btp_frame_init(&frame0); + frame0.function_name = "fsync"; + frame0.number = 0; + frame0.source_file = "../sysdeps/unix/syscall-template.S"; + frame0.source_line = 82; + frame0.address = 0x322160e7fdULL; + frame0.next = &frame1; + + btp_frame_init(&frame1); + frame1.function_name = "write_to_temp_file"; + frame1.number = 1; + frame1.source_file = "gfileutils.c"; + frame1.source_line = 980; + frame1.address = 0x322160e7fdULL; + + struct btp_thread thread; + btp_thread_init(&thread); + thread.number = 3; + thread.frames = &frame0; + + check("Thread 3 (Thread 11917):\n" + "#0 0x000000322160e7fd in fsync () at ../sysdeps/unix/syscall-template.S:82\n" + "No locals.\n" + "#1 0x000000322222987a in write_to_temp_file (\n" + " filename=0x18971b0 \"/home/jfclere/.recently-used.xbel\", \n" + " contents=<value optimized out>, length=29917, error=0x7fff3cbe4110)\n" + " at gfileutils.c:980\n" + " statbuf = {st_dev = 64768, st_ino = 13709, st_nlink = 1, \n" + " st_mode = 33152, st_uid = 500, st_gid = 500, __pad0 = 0, \n" + " st_rdev = 0, st_size = 29917, st_blksize = 4096, st_blocks = 64, \n" + " st_atim = {tv_sec = 1273231242, tv_nsec = 73521863}, st_mtim = {\n" + " tv_sec = 1273231242, tv_nsec = 82521015}, st_ctim = {\n" + " tv_sec = 1273231242, tv_nsec = 190522021}, __unused = {0, 0, 0}}\n", + &thread); + + return 0; +} +]]) + +## -------------------------- ## +## btp_thread_parse-locations ## +## -------------------------- ## + +AT_TESTFUN([btp_thread_parse-locations], +[[ +#include <lib/thread.h> +#include <lib/frame.h> +#include <lib/location.h> +#include <assert.h> +#include <stdlib.h> + +/** + * Checks that the thread parser fails on ceratin location + * (line and column), with an error message. + */ +void check(char *input, + int expected_line, + int expected_column) +{ + char *old_input = input; + struct btp_location location; + btp_location_init(&location); + assert(NULL == btp_thread_parse(&input, &location)); + + /* Check that the pointer is not moved. */ + assert(old_input == input); + + /* Check the location. */ + printf("location %d:%d '%s', expected %d:%d\n", + location.line, location.column, location.message, + expected_line, expected_column); + + assert(location.line == expected_line); + assert(location.column == expected_column); + assert(location.message); + assert(location.message[0] != '\0'); +} + +int main(void) +{ + /* Thread keyword */ + check("Thraed 3 (Thread 11917):\n", 1, 0); + + /* Spaces after the thread keyword. */ + check("Thread3 (Thread 11917):\n", 1, 6); + + /* Thread number. */ + check("Thread a (Thread 11917):\n", 1, 8); + + /* Spaces after the thread number. */ + check("Thread 8(Thread 11917):\n", 1, 8); + + /* A parenthesis. */ + check("Thread 8 (11917):\n", 1, 9); + + /* Second number. */ + check("Thread 8 (Thread ffff):\n", 1, 17); + + /* Semicolon missing. */ + check("Thread 8 (Thread 1)\n", 1, 18); + + /* Not a single frame. */ + check("Thread 3 (Thread 11917):\n\n", 2, 0); + + return 0; +} +]]) diff --git a/tests/btparser/utils.at b/tests/btparser/utils.at new file mode 100644 index 00000000..c12d05fa --- /dev/null +++ b/tests/btparser/utils.at @@ -0,0 +1,442 @@ +# Checking the btparser. -*- Autotest -*- + +AT_BANNER([Utils]) + +## ------------ ## +## btp_strcmp0 ## +## ------------ ## + +AT_TESTFUN([btp_strcmp0], +[[ +#include <lib/utils.h> +#include <assert.h> +int main(void) +{ + assert(0 == btp_strcmp0(NULL, NULL)); + assert(0 == btp_strcmp0("abab", "abab")); + assert(0 > btp_strcmp0("aba", "abab")); + assert(0 > btp_strcmp0(NULL, "abab")); + assert(0 < btp_strcmp0("abab", NULL)); + assert(0 < btp_strcmp0("abab", "aba")); + return 0; +} +]]) + +## ------------------- ## +## btp_strchr_location ## +## ------------------- ## + +AT_TESTFUN([btp_strchr_location], +[[ +#include <lib/utils.h> +#include <assert.h> +int main(void) +{ + /* The character is on the first line.*/ + int line, column; + char *result = btp_strchr_location("test string", 'r', &line, &column); + assert(0 == strcmp(result, "ring")); + assert(1 == line); + assert(7 == column); + + /* The character is on the third line. */ + result = btp_strchr_location("\ntest\n string", 'r', &line, &column); + assert(0 == strcmp(result, "ring")); + assert(3 == line); + assert(3 == column); + + /* The character is not found. */ + result = btp_strchr_location("\ntest\n string", 'z', &line, &column); + assert(!result); + + /* The character _is_ a newline. */ + result = btp_strchr_location("abcd\nefgh", '\n', &line, &column); + assert(0 == strcmp(result, "\nefgh")); + assert(1 == line); + assert(4 == column); + return 0; +} +]]) + +## ------------------- ## +## btp_strstr_location ## +## ------------------- ## + +AT_TESTFUN([btp_strstr_location], +[[ +#include <lib/utils.h> +#include <assert.h> +int main(void) +{ + /* The substring is on the first line.*/ + int line, column; + char *result = btp_strstr_location("test string", "ri", &line, &column); + assert(0 == strcmp(result, "ring")); + assert(1 == line); + assert(7 == column); + + /* The substring is on the third line. */ + result = btp_strstr_location("\ntest\n string", "ri", &line, &column); + assert(0 == strcmp(result, "ring")); + assert(3 == line); + assert(3 == column); + + /* The substring is not found, but the first char is. */ + result = btp_strstr_location("\ntest\n string", "rz", &line, &column); + assert(!result); + + /* The substring is not found. */ + result = btp_strstr_location("\ntest\n string", "zr", &line, &column); + assert(!result); + + /* The substring _is_ a newline. */ + result = btp_strstr_location("abcd\nefgh", "\n", &line, &column); + assert(0 == strcmp(result, "\nefgh")); + assert(1 == line); + assert(4 == column); + return 0; +} +]]) + +## ------------------- ## +## btp_strspn_location ## +## ------------------- ## + +AT_TESTFUN([btp_strspn_location], +[[ +#include <lib/utils.h> +#include <assert.h> +int main(void) +{ + /* No newline in the input.*/ + int line, column; + size_t count = btp_strspn_location("test string", + "tes ", + &line, + &column); + assert(7 == count); + assert(1 == line); + assert(7 == column); + + /* With some newlines. */ + count = btp_strspn_location("te\nst \nstring", + "tes \n", + &line, + &column); + assert(9 == count); + assert(3 == line); + assert(2 == column); + + return 0; +} +]]) + +## ------------- ## +## btp_skip_char ## +## ------------- ## + +AT_TESTFUN([btp_skip_char], +[[ +#include <lib/utils.h> +#include <assert.h> +int main(void) +{ + char *input = "abc"; + assert(btp_skip_char(&input, 'a')); + assert(!btp_skip_char(&input, 'c')); + return 0; +} +]]) + +## --------------------- ## +## btp_skip_char_limited ## +## --------------------- ## + +AT_TESTFUN([btp_skip_char_limited], +[[ +#include <lib/utils.h> +#include <assert.h> +int main(void) +{ + char *input = "abc"; + assert(btp_skip_char_limited(&input, "ab")); + assert(btp_skip_char_limited(&input, "ab")); + assert(!btp_skip_char_limited(&input, "ab")); + return 0; +} +]]) + +## ---------------------- ## +## btp_parse_char_limited ## +## ---------------------- ## + +AT_TESTFUN([btp_parse_char_limited], +[[ +#include <lib/utils.h> +#include <assert.h> +int main(void) +{ + char *input = "abc"; + char result; + + /* First char in allowed is used. */ + assert(btp_parse_char_limited(&input, "ab", &result)); + assert(*input == 'b' && result == 'a'); + + /* No char in allowed is used. */ + assert(!btp_parse_char_limited(&input, "cd", &result)); + assert(*input == 'b' && result == 'a'); + + /* Second char in allowed is used. */ + assert(btp_parse_char_limited(&input, "ab", &result)); + assert(*input == 'c' && result == 'b'); + + /* Empty set of allowed chars. */ + assert(!btp_parse_char_limited(&input, "", &result)); + assert(*input == 'c' && result == 'b'); + + /* Char is multiple times in allowed. */ + assert(btp_parse_char_limited(&input, "cdc", &result)); + assert(*input == '\0' && result == 'c'); + + return 0; +} +]]) + +## ---------------------- ## +## btp_skip_char_sequence ## +## ---------------------- ## + +AT_TESTFUN([btp_skip_char_sequence], +[[ +#include <lib/utils.h> +#include <assert.h> +int main(void) +{ + char *input = "aaaaabc"; + assert(5 == btp_skip_char_sequence(&input, 'a')); + assert(1 == btp_skip_char_sequence(&input, 'b')); + assert(0 == btp_skip_char_sequence(&input, 'b')); + return 0; +} +]]) + +## ------------------ ## +## btp_skip_char_span ## +## ------------------ ## + +AT_TESTFUN([btp_skip_char_span], +[[ +#include <lib/utils.h> +#include <assert.h> +int main(void) +{ + char *input = "aabaabc"; + assert(6 == btp_skip_char_span(&input, "ba")); + assert(0 == btp_skip_char_span(&input, "b")); + assert(1 == btp_skip_char_span(&input, "bc")); + + /* Test that it can parse empty string. */ + assert(0 == btp_skip_char_span(&input, "abc")); + + return 0; +} +]]) + +## --------------------------- ## +## btp_skip_char_span_location ## +## --------------------------- ## + +AT_TESTFUN([btp_skip_char_span_location], +[[ +#include <lib/utils.h> +#include <assert.h> +int main(void) +{ + char *input = "aab\naabc"; + int line, column; + + assert(7 == btp_skip_char_span_location(&input, "ba\n", &line, &column)); + assert(2 == line); + assert(3 == column); + + assert(0 == btp_skip_char_span_location(&input, "b", &line, &column)); + assert(1 == line); + assert(0 == column); + + assert(1 == btp_skip_char_span_location(&input, "bc", &line, &column)); + assert(1 == line); + assert(1 == column); + + /* Test that it can parse empty string. */ + assert(0 == btp_skip_char_span_location(&input, "abc", &line, &column)); + assert(1 == line); + assert(0 == column); + + return 0; +} +]]) + +## ------------------- ## +## btp_parse_char_span ## +## ------------------- ## + +AT_TESTFUN([btp_parse_char_span], +[[ +#include <lib/utils.h> +#include <assert.h> +int main(void) +{ + char *input = "abcd"; + char *result; + assert(2 == btp_parse_char_span(&input, "ba", &result)); + assert(*input == 'c' && strcmp(result, "ab") == 0); + assert(0 == btp_parse_char_span(&input, "ba", &result)); + assert(*input == 'c' && strcmp(result, "ab") == 0); + free(result); + assert(2 == btp_parse_char_span(&input, "ecfd", &result)); + assert(*input == '\0' && strcmp(result, "cd") == 0); + free(result); + return 0; +} +]]) + +## -------------------- ## +## btp_parse_char_cspan ## +## -------------------- ## + +AT_TESTFUN([btp_parse_char_cspan], +[[ +#include <lib/utils.h> +#include <assert.h> +int main(void) +{ + char *input = "abcd"; + char *result; + assert(btp_parse_char_cspan(&input, "c", &result)); + assert(*input == 'c' && strcmp(result, "ab") == 0); + assert(!btp_parse_char_cspan(&input, "c", &result)); + assert(*input == 'c' && strcmp(result, "ab") == 0); + free(result); + assert(btp_parse_char_cspan(&input, "e", &result)); + assert(*input == '\0' && strcmp(result, "cd") == 0); + free(result); + return 0; +} +]]) + +## --------------- ## +## btp_skip_string ## +## --------------- ## + +AT_TESTFUN([btp_skip_string], +[[ +#include <lib/utils.h> +#include <assert.h> +int main(void) +{ + char *input = "abcd"; + assert(2 == btp_skip_string(&input, "ab")); + assert(*input == 'c'); + assert(0 == btp_skip_string(&input, "cde")); + assert(2 == btp_skip_string(&input, "cd")); + assert(0 == btp_skip_string(&input, "cd")); + return 0; +} +]]) + +## ---------------- ## +## btp_parse_string ## +## ---------------- ## + +AT_TESTFUN([btp_parse_string], +[[ +#include <lib/utils.h> +#include <assert.h> +int main(void) +{ + char *input = "abcd"; + char *result; + assert(btp_parse_string(&input, "ab", &result)); + assert(0 == strcmp(result, "ab")); + assert(*input == 'c'); + free(result); + return 0; +} +]]) + +## ------------------------- ## +## btp_skip_unsigned_integer ## +## ------------------------- ## + +AT_TESTFUN([btp_skip_unsigned_integer], +[[ +#include <lib/utils.h> +#include <assert.h> +int main(void) +{ + char *input = "10"; + assert(2 == btp_skip_unsigned_integer(&input)); + assert(*input == '\0'); + return 0; +} +]]) + +## ------------------------- ## +## btp_parse_unsigned_integer ## +## ------------------------- ## + +AT_TESTFUN([btp_parse_unsigned_integer], +[[ +#include <lib/utils.h> +#include <assert.h> +int main(void) +{ + char *input = "10"; + unsigned result; + assert(2 == btp_parse_unsigned_integer(&input, &result)); + assert('\0' == *input); + assert(10 == result); + return 0; +} +]]) + +## --------------------------- ## +## btp_skip_hexadecimal_number ## +## --------------------------- ## + +AT_TESTFUN([btp_skip_hexadecimal_number], +[[ +#include <lib/utils.h> +#include <assert.h> +int main(void) +{ + char *input = "0xffddffddff"; + assert(12 == btp_skip_hexadecimal_number(&input)); + assert(*input == '\0'); + return 0; +} +]]) + +## ---------------------------- ## +## btp_parse_hexadecimal_number ## +## ---------------------------- ## + +AT_TESTFUN([btp_parse_hexadecimal_number], +[[ +#include <lib/utils.h> +#include <assert.h> +int main(void) +{ + char *input = "0x0fafaffff 0x2badf00dbaadf00d"; + uint64_t num; + assert(11 == btp_parse_hexadecimal_number(&input, &num)); + assert(*input == ' '); + assert(num == 0xfafaffff); + *input++; + assert(18 == btp_parse_hexadecimal_number(&input, &num)); + assert(*input == '\0'); + assert(num == 0x2badf00dbaadf00d); + return 0; +} +]]) diff --git a/tests/local.at b/tests/local.at new file mode 100644 index 00000000..758906d4 --- /dev/null +++ b/tests/local.at @@ -0,0 +1,27 @@ +# Source: bison local.at + +# ---------------------------------------- +# AT_COMPILE(OUTPUT, [SOURCES = OUTPUT.c]) +# ---------------------------------------- +# Compile SOURCES into OUTPUT. If OUTPUT does not contain '.', +# assume that we are linking too; this is a hack. +m4_define([AT_COMPILE], +[AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS m4_bmatch([$1], [[.]], [], [$LDFLAGS ])-o $1 m4_default([$2], [$1.c])[]m4_bmatch([$1], [[.]], [], [ $LIBS])], + 0, [ignore], [ignore])]) + +# ------------------------ +# AT_TESTFUN(NAME, SOURCE) +# ------------------------ + +# Create a test named NAME by compiling and running C file with +# contents SOURCE. The stdout and stderr output of the C program is +# ignored by Autotest. + +m4_define([AT_TESTFUN], +[AT_SETUP([$1]) +AT_DATA([$1.c], [$2]) +AT_COMPILE([$1]) +AT_CHECK([./$1], 0, [ignore], [ignore]) +AT_CLEANUP]) + +AT_INIT diff --git a/tests/testsuite.at b/tests/testsuite.at new file mode 100644 index 00000000..24c2a2b6 --- /dev/null +++ b/tests/testsuite.at @@ -0,0 +1,8 @@ +# Test suite for abrt. +# See http://www.gnu.org/software/hello/manual/autoconf/Writing-Testsuites.html + +m4_include([btparser/utils.at]) +m4_include([btparser/strbuf.at]) +m4_include([btparser/frame.at]) +m4_include([btparser/thread.at]) +m4_include([btparser/backtrace.at]) |