Package: iceweasel Version: 3.0.4-1 Followup-For: Bug #418629 Iceweasel tends to crash on almost any website at almost any time. I don't understand much about what is going on but I can send text files of the crashes.
-- System Information: Debian Release: lenny/sid APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 2.6.26-1-amd64 (SMP w/2 CPU cores) Locale: LANG=en_CA.UTF-8, LC_CTYPE=en_CA.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages iceweasel depends on: ii debianutils 2.30 Miscellaneous utilities specific t ii fontconfig 2.6.0-3 generic font configuration library ii libc6 2.7-16 GNU C Library: Shared libraries ii libglib2.0-0 2.16.6-1 The GLib library of C routines ii libgtk2.0-0 2.12.11-4 The GTK+ graphical user interface ii libnspr4-0d 4.7.1-4 NetScape Portable Runtime Library ii libstdc++6 4.3.2-1 The GNU Standard C++ Library v3 ii procps 1:3.2.7-8 /proc file system utilities ii psmisc 22.6-1 Utilities that use the proc filesy ii xulrunner-1.9 1.9.0.4-2 XUL + XPCOM application runner iceweasel recommends no packages. Versions of packages iceweasel suggests: ii latex-xft-fonts 0.1-8 Xft-compatible versions of some La ii libkrb53 1.6.dfsg.4~beta1-4 MIT Kerberos runtime libraries pn mozplugger <none> (no description available) pn ttf-mathematica4.1 <none> (no description available) pn xfonts-mathml <none> (no description available) pn xprint <none> (no description available) ii xulrunner-1.9-gnome-s 1.9.0.4-2 Support for GNOME in xulrunner app -- no debconf information
System: Linux 2.6.26-1-amd64 #1 SMP Wed Nov 26 18:26:02 UTC 2008 x86_64 X Vendor: The X.Org Foundation X Vendor Release: 10402000 Selinux: No Accessibility: Disabled GTK+ Theme: Clearlooks Icon Theme: gnome Memory status: size: 509157376 vsize: 509157376 resident: 64897024 share: 26701824 rss: 64897024 rss_rlim: 18446744073709551615 CPU usage: start_time: 1229201157 rtime: 1085 utime: 991 stime: 94 cutime:0 cstime: 0 timeout: 0 it_real_value: 0 frequency: 100 Backtrace was generated from '/usr/lib/bug-buddy/firefox-bin' (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) [Thread debugging using libthread_db enabled] [New Thread 0x7f05e7f6e6f0 (LWP 5191)] [New Thread 0x44340950 (LWP 5619)] [New Thread 0x44b41950 (LWP 5615)] [New Thread 0x43b3f950 (LWP 5208)] [New Thread 0x4333e950 (LWP 5198)] [New Thread 0x4233c950 (LWP 5197)] [New Thread 0x41b3b950 (LWP 5193)] [New Thread 0x4130f950 (LWP 5192)] 0x00007f05e75ae99f in waitpid () from /lib/libc.so.6 #0 0x00007f05e75ae99f in waitpid () from /lib/libc.so.6 #1 0x00007f05e31f36c9 in IA__g_spawn_sync ( working_directory=<value optimized out>, argv=<value optimized out>, envp=<value optimized out>, flags=<value optimized out>, child_setup=<value optimized out>, user_data=<value optimized out>, standard_output=0x0, standard_error=0x0, exit_status=0x0, error=0x7fffeff8ec08) at /build/buildd/glib2.0-2.16.6/glib/gspawn.c:374 #2 0x00007f05e31f39d8 in IA__g_spawn_command_line_sync ( command_line=<value optimized out>, standard_output=0x0, standard_error=0x0, exit_status=0x0, error=0x7fffeff8ec08) at /build/buildd/glib2.0-2.16.6/glib/gspawn.c:682 #3 0x00007f05dd4e3656 in ?? () from /usr/lib/gtk-2.0/modules/libgnomebreakpad.so #4 0x00007f05dd4e370d in ?? () from /usr/lib/gtk-2.0/modules/libgnomebreakpad.so #5 0x00007f05e61e6aa7 in ?? () from /usr/lib/iceweasel/xulrunner/libxul.so #6 <signal handler called> #7 0x00007f05cfdf97c0 in ?? () #8 0x00007f05e31bc78b in IA__g_main_context_dispatch (context=0x2065870) at /build/buildd/glib2.0-2.16.6/glib/gmain.c:2012 #9 0x00007f05e31bff5d in g_main_context_iterate (context=0x2065870, block=1, dispatch=1, self=<value optimized out>) at /build/buildd/glib2.0-2.16.6/glib/gmain.c:2645 #10 0x00007f05e31c011b in IA__g_main_context_iteration (context=0x2065870, may_block=1) at /build/buildd/glib2.0-2.16.6/glib/gmain.c:2708 #11 0x00007f05e686fcad in ?? () from /usr/lib/iceweasel/xulrunner/libxul.so #12 0x00007f05e686fdfb in ?? () from /usr/lib/iceweasel/xulrunner/libxul.so #13 0x00007f05e691548d in ?? () from /usr/lib/iceweasel/xulrunner/libxul.so #14 0x00007f05e68eb506 in ?? () from /usr/lib/iceweasel/xulrunner/libxul.so #15 0x00007f05e686ff19 in ?? () from /usr/lib/iceweasel/xulrunner/libxul.so #16 0x00007f05e6753471 in ?? () from /usr/lib/iceweasel/xulrunner/libxul.so #17 0x00007f05e61e0608 in XRE_main () from /usr/lib/iceweasel/xulrunner/libxul.so #18 0x00000000004014cb in ?? () #19 0x00007f05e752f1a6 in __libc_start_main () from /lib/libc.so.6 #20 0x0000000000401139 in ?? () #21 0x00007fffeff90948 in ?? () #22 0x000000000000001c in ?? () #23 0x0000000000000003 in ?? () #24 0x00007fffeff90bf2 in ?? () #25 0x0000000000000000 in ?? () Thread 8 (Thread 0x4130f950 (LWP 5192)): #0 0x00007f05e75d7b66 in poll () from /lib/libc.so.6 No symbol table info available. #1 0x00007f05e26505a7 in _pr_poll_with_poll (pds=0x2140ee8, npds=1, timeout=4294967295) at ptio.c:3895 stack_syspoll = {{fd = 15, events = 1, revents = 0}, {fd = 1, events = 0, revents = 0}, {fd = -496665390, events = 32517, revents = 0}, {fd = 1, events = 0, revents = 0}, {fd = -1, events = 0, revents = 0}, { fd = -496685150, events = 32517, revents = 0}, {fd = 0, events = 0, revents = 0}, {fd = 0, events = 0, revents = 0}, {fd = 0, events = 0, revents = 0}, {fd = 0, events = 0, revents = 0}, {fd = 0, events = 0, revents = 0}, {fd = -496703217, events = 32517, revents = 0}, {fd = 1, events = 0, revents = 0}, {fd = 34153696, events = 0, revents = 0}, { fd = -1, events = 0, revents = 0}, {fd = 0, events = 0, revents = 0} <repeats 11 times>, {fd = 1093728592, events = 0, revents = 0}, {fd = 34122600, events = 0, revents = 0}, {fd = 0, events = 0, revents = 0}, {fd = 34154592, events = 0, revents = 0}, { fd = 34154352, events = 0, revents = 0}, {fd = 1093725736, events = 0, revents = 0}, {fd = 1, events = 0, revents = 0}, {fd = 1093726220, events = 0, revents = 0}, {fd = 4096, events = 0, revents = 0}, { fd = -496702688, events = 32517, revents = 0}, {fd = 34154352, events = 0, revents = 0}, {fd = -426683747, events = 32517, revents = 0}, {fd = 34154592, events = 0, revents = 0}, {fd = -427360096, events = 32517, revents = 0}, {fd = 1093725856, events = 0, revents = 0}, {fd = 56260192, events = 0, revents = 0}, {fd = 43831448, events = 0, revents = 0}, { fd = 5, events = 0, revents = 0}, {fd = 16, events = 0, revents = 0}, { fd = 6, events = 0, revents = 0}, {fd = 0, events = 0, revents = 0}, { fd = -433639052, events = 32517, revents = 0}, {fd = 5, events = 0, revents = 0}, {fd = -426828001, events = 32517, revents = 0}, { fd = 607900482, events = 0, revents = 0}, {fd = -426877522, events = 32517, revents = 0}, {fd = -2142568446, events = 0, revents = 0}, {fd = 24, events = 0, revents = 0}, {fd = 1093725872, events = 0, revents = 0}, {fd = -268438029, events = 32767, revents = 0}, {fd = 56260240, events = 0, revents = 0}, {fd = 1093725888, events = 0, revents = 0}, {fd = 0, events = 0, revents = 0}, {fd = -268438029, events = 32767, revents = 0}, {fd = 43831432, events = 0, revents = 0}, { fd = 1093725920, events = 0, revents = 0}, {fd = 0, events = 0, revents = 0}, {fd = -268437858, events = 32767, revents = 0}} syspoll = (struct pollfd *) 0x4130ecb0 index = <value optimized out> msecs = -1 ready = 34868984 start = 0 elapsed = <value optimized out> #2 0x00007f05e6237b8a in ?? () from /usr/lib/iceweasel/xulrunner/libxul.so No symbol table info available. #3 0x00007f05e6238030 in ?? () from /usr/lib/iceweasel/xulrunner/libxul.so No symbol table info available. #4 0x00007f05e62382a3 in ?? () from /usr/lib/iceweasel/xulrunner/libxul.so No symbol table info available. #5 0x00007f05e691548d in ?? () from /usr/lib/iceweasel/xulrunner/libxul.so No symbol table info available. #6 0x00007f05e68eb506 in ?? () from /usr/lib/iceweasel/xulrunner/libxul.so No symbol table info available. #7 0x00007f05e6237d80 in ?? () from /usr/lib/iceweasel/xulrunner/libxul.so No symbol table info available. #8 0x00007f05e69154e2 in ?? () from /usr/lib/iceweasel/xulrunner/libxul.so No symbol table info available. #9 0x00007f05e68eb506 in ?? () from /usr/lib/iceweasel/xulrunner/libxul.so No symbol table info available. #10 0x00007f05e6915b5e in ?? () from /usr/lib/iceweasel/xulrunner/libxul.so No symbol table info available. #11 0x00007f05e26545b3 in _pt_root (arg=<value optimized out>) at ptthread.c:221 thred = (PRThread *) 0x2141960 detached = 0 #12 0x00007f05e2414fc7 in start_thread () from /lib/libpthread.so.0 No symbol table info available. #13 0x00007f05e75e05ad in clone () from /lib/libc.so.6 No symbol table info available. #14 0x0000000000000000 in ?? () No symbol table info available. Thread 7 (Thread 0x41b3b950 (LWP 5193)): #0 0x00007f05e2418fad in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 No symbol table info available. #1 0x00007f05e264ddd4 in pt_TimedWait (cv=0x208ab18, ml=0x2092070, timeout=723) at ptsynch.c:280 rv = <value optimized out> now = {tv_sec = 1229201880, tv_usec = 540930} tmo = {tv_sec = 1229201881, tv_nsec = 263930000} ticks = <value optimized out> #2 0x00007f05e264e9aa in PR_WaitCondVar (cvar=0x208ab10, timeout=723) at ptsynch.c:407 rv = <value optimized out> thred = (PRThread *) 0x2266830 #3 0x00007f05e6917c0a in ?? () from /usr/lib/iceweasel/xulrunner/libxul.so No symbol table info available. #4 0x00007f05e69154e2 in ?? () from /usr/lib/iceweasel/xulrunner/libxul.so No symbol table info available. #5 0x00007f05e68eb506 in ?? () from /usr/lib/iceweasel/xulrunner/libxul.so No symbol table info available. #6 0x00007f05e6915b5e in ?? () from /usr/lib/iceweasel/xulrunner/libxul.so No symbol table info available. #7 0x00007f05e26545b3 in _pt_root (arg=<value optimized out>) at ptthread.c:221 thred = (PRThread *) 0x2266830 detached = 0 #8 0x00007f05e2414fc7 in start_thread () from /lib/libpthread.so.0 No symbol table info available. #9 0x00007f05e75e05ad in clone () from /lib/libc.so.6 No symbol table info available. #10 0x0000000000000000 in ?? () No symbol table info available. Thread 6 (Thread 0x4233c950 (LWP 5197)): #0 0x00007f05e2418d29 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 No symbol table info available. #1 0x00007f05e264ea24 in PR_WaitCondVar (cvar=0x260e170, timeout=4294967295) at ptsynch.c:405 rv = <value optimized out> thred = (PRThread *) 0x260e1c0 #2 0x00007f05e6772c20 in ?? () from /usr/lib/iceweasel/xulrunner/libxul.so No symbol table info available. #3 0x00007f05e26545b3 in _pt_root (arg=<value optimized out>) at ptthread.c:221 thred = (PRThread *) 0x260e1c0 detached = 0 #4 0x00007f05e2414fc7 in start_thread () from /lib/libpthread.so.0 No symbol table info available. #5 0x00007f05e75e05ad in clone () from /lib/libc.so.6 No symbol table info available. #6 0x0000000000000000 in ?? () No symbol table info available. Thread 5 (Thread 0x4333e950 (LWP 5198)): #0 0x00007f05e2418d29 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 No symbol table info available. #1 0x00007f05e264ea24 in PR_WaitCondVar (cvar=0x260e470, timeout=4294967295) at ptsynch.c:405 rv = <value optimized out> thred = (PRThread *) 0x260e4c0 #2 0x00007f05e6773ace in ?? () from /usr/lib/iceweasel/xulrunner/libxul.so No symbol table info available. #3 0x00007f05e26545b3 in _pt_root (arg=<value optimized out>) at ptthread.c:221 thred = (PRThread *) 0x260e4c0 detached = 0 #4 0x00007f05e2414fc7 in start_thread () from /lib/libpthread.so.0 No symbol table info available. #5 0x00007f05e75e05ad in clone () from /lib/libc.so.6 No symbol table info available. #6 0x0000000000000000 in ?? () No symbol table info available. Thread 4 (Thread 0x43b3f950 (LWP 5208)): #0 0x00007f05e2418d29 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 No symbol table info available. #1 0x00007f05e264ea24 in PR_WaitCondVar (cvar=0x2f6eb10, timeout=4294967295) at ptsynch.c:405 rv = <value optimized out> thred = (PRThread *) 0x2fbb550 #2 0x00007f05e264eaa6 in PR_Wait (mon=0x2fbb3b0, timeout=128) at ptsynch.c:584 rv = -512 saved_entries = 1 saved_owner = 1135868240 #3 0x00007f05e69149e4 in ?? () from /usr/lib/iceweasel/xulrunner/libxul.so No symbol table info available. #4 0x00007f05e69154bb in ?? () from /usr/lib/iceweasel/xulrunner/libxul.so No symbol table info available. #5 0x00007f05e68eb506 in ?? () from /usr/lib/iceweasel/xulrunner/libxul.so No symbol table info available. #6 0x00007f05e6915b5e in ?? () from /usr/lib/iceweasel/xulrunner/libxul.so No symbol table info available. #7 0x00007f05e26545b3 in _pt_root (arg=<value optimized out>) at ptthread.c:221 thred = (PRThread *) 0x2fbb550 detached = 0 #8 0x00007f05e2414fc7 in start_thread () from /lib/libpthread.so.0 No symbol table info available. #9 0x00007f05e75e05ad in clone () from /lib/libc.so.6 No symbol table info available. #10 0x0000000000000000 in ?? () No symbol table info available. Thread 3 (Thread 0x44b41950 (LWP 5615)): #0 0x00007f05e2418fad in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 No symbol table info available. #1 0x00007f05e264ddd4 in pt_TimedWait (cv=0x2164108, ml=0x2144630, timeout=0) at ptsynch.c:280 rv = <value optimized out> now = {tv_sec = 1229201878, tv_usec = 444416} tmo = {tv_sec = 1229201938, tv_nsec = 444416000} ticks = <value optimized out> #2 0x00007f05e264e9aa in PR_WaitCondVar (cvar=0x2164100, timeout=60000) at ptsynch.c:407 rv = <value optimized out> thred = (PRThread *) 0x7f05d010ecb0 #3 0x00007f05e6240374 in ?? () from /usr/lib/iceweasel/xulrunner/libxul.so No symbol table info available. #4 0x00007f05e6240964 in ?? () from /usr/lib/iceweasel/xulrunner/libxul.so No symbol table info available. #5 0x00007f05e26545b3 in _pt_root (arg=<value optimized out>) at ptthread.c:221 thred = (PRThread *) 0x7f05d010ecb0 detached = 1 #6 0x00007f05e2414fc7 in start_thread () from /lib/libpthread.so.0 No symbol table info available. #7 0x00007f05e75e05ad in clone () from /lib/libc.so.6 No symbol table info available. #8 0x0000000000000000 in ?? () No symbol table info available. Thread 2 (Thread 0x44340950 (LWP 5619)): #0 0x00007f05e2418fad in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 No symbol table info available. #1 0x00007f05e264ddd4 in pt_TimedWait (cv=0x2492e88, ml=0x2493008, timeout=0) at ptsynch.c:280 rv = <value optimized out> now = {tv_sec = 1229201878, tv_usec = 352084} tmo = {tv_sec = 1229201938, tv_nsec = 352084000} ticks = <value optimized out> #2 0x00007f05e264e9aa in PR_WaitCondVar (cvar=0x2492e80, timeout=60000) at ptsynch.c:407 rv = <value optimized out> thred = (PRThread *) 0x7f05d0106810 #3 0x00007f05e264eaa6 in PR_Wait (mon=0x2493000, timeout=841231696) at ptsynch.c:584 rv = -516 saved_entries = 1 saved_owner = 1144260944 #4 0x00007f05e6916c51 in ?? () from /usr/lib/iceweasel/xulrunner/libxul.so No symbol table info available. #5 0x00007f05e69154e2 in ?? () from /usr/lib/iceweasel/xulrunner/libxul.so No symbol table info available. #6 0x00007f05e68eb506 in ?? () from /usr/lib/iceweasel/xulrunner/libxul.so No symbol table info available. #7 0x00007f05e6915b5e in ?? () from /usr/lib/iceweasel/xulrunner/libxul.so No symbol table info available. #8 0x00007f05e26545b3 in _pt_root (arg=<value optimized out>) at ptthread.c:221 thred = (PRThread *) 0x7f05d0106810 detached = 0 #9 0x00007f05e2414fc7 in start_thread () from /lib/libpthread.so.0 No symbol table info available. #10 0x00007f05e75e05ad in clone () from /lib/libc.so.6 No symbol table info available. #11 0x0000000000000000 in ?? () No symbol table info available. Thread 1 (Thread 0x7f05e7f6e6f0 (LWP 5191)): #0 0x00007f05e75ae99f in waitpid () from /lib/libc.so.6 No symbol table info available. #1 0x00007f05e31f36c9 in IA__g_spawn_sync ( working_directory=<value optimized out>, argv=<value optimized out>, envp=<value optimized out>, flags=<value optimized out>, child_setup=<value optimized out>, user_data=<value optimized out>, standard_output=0x0, standard_error=0x0, exit_status=0x0, error=0x7fffeff8ec08) at /build/buildd/glib2.0-2.16.6/glib/gspawn.c:374 outpipe = -1 errpipe = -1 pid = 5624 fds = {__fds_bits = {59409952, 8, 16, 16, 56314432, 0, 16, 0, 56314456, 46570160, 56314432, 140737219456008, 3, 139663261926486, 140737219455384, 140737219455496}} ret = <value optimized out> outstr = (GString *) 0x0 errstr = (GString *) 0x0 failed = 0 status = <value optimized out> __PRETTY_FUNCTION__ = "IA__g_spawn_sync" #2 0x00007f05e31f39d8 in IA__g_spawn_command_line_sync ( command_line=<value optimized out>, standard_output=0x0, standard_error=0x0, exit_status=0x0, error=0x7fffeff8ec08) at /build/buildd/glib2.0-2.16.6/glib/gspawn.c:682 retval = 0 argv = (gchar **) 0x35b4a40 __PRETTY_FUNCTION__ = "IA__g_spawn_command_line_sync" #3 0x00007f05dd4e3656 in ?? () from /usr/lib/gtk-2.0/modules/libgnomebreakpad.so No symbol table info available. #4 0x00007f05dd4e370d in ?? () from /usr/lib/gtk-2.0/modules/libgnomebreakpad.so No symbol table info available. #5 0x00007f05e61e6aa7 in ?? () from /usr/lib/iceweasel/xulrunner/libxul.so No symbol table info available. #6 <signal handler called> No symbol table info available. #7 0x00007f05cfdf97c0 in ?? () No symbol table info available. #8 0x00007f05e31bc78b in IA__g_main_context_dispatch (context=0x2065870) at /build/buildd/glib2.0-2.16.6/glib/gmain.c:2012 No locals. #9 0x00007f05e31bff5d in g_main_context_iterate (context=0x2065870, block=1, dispatch=1, self=<value optimized out>) at /build/buildd/glib2.0-2.16.6/glib/gmain.c:2645 max_priority = 2147483647 timeout = 1364 some_ready = 1 nfds = 11 allocated_nfds = <value optimized out> fds = (GPollFD *) 0x2f22c10 __PRETTY_FUNCTION__ = "g_main_context_iterate" #10 0x00007f05e31c011b in IA__g_main_context_iteration (context=0x2065870, may_block=1) at /build/buildd/glib2.0-2.16.6/glib/gmain.c:2708 retval = <value optimized out> #11 0x00007f05e686fcad in ?? () from /usr/lib/iceweasel/xulrunner/libxul.so No symbol table info available. #12 0x00007f05e686fdfb in ?? () from /usr/lib/iceweasel/xulrunner/libxul.so No symbol table info available. #13 0x00007f05e691548d in ?? () from /usr/lib/iceweasel/xulrunner/libxul.so No symbol table info available. #14 0x00007f05e68eb506 in ?? () from /usr/lib/iceweasel/xulrunner/libxul.so No symbol table info available. #15 0x00007f05e686ff19 in ?? () from /usr/lib/iceweasel/xulrunner/libxul.so No symbol table info available. #16 0x00007f05e6753471 in ?? () from /usr/lib/iceweasel/xulrunner/libxul.so No symbol table info available. #17 0x00007f05e61e0608 in XRE_main () from /usr/lib/iceweasel/xulrunner/libxul.so No symbol table info available. #18 0x00000000004014cb in ?? () No symbol table info available. #19 0x00007f05e752f1a6 in __libc_start_main () from /lib/libc.so.6 No symbol table info available. #20 0x0000000000401139 in ?? () No symbol table info available. #21 0x00007fffeff90948 in ?? () No symbol table info available. #22 0x000000000000001c in ?? () No symbol table info available. #23 0x0000000000000003 in ?? () No symbol table info available. #24 0x00007fffeff90bf2 in ?? () No symbol table info available. #25 0x0000000000000000 in ?? () No symbol table info available. #0 0x00007f05e75ae99f in waitpid () from /lib/libc.so.6 The program is running. Quit anyway (and detach it)? (y or n) [answered Y; input not from terminal] ----------- .xsession-errors --------------------- Forked successfully, child process PID is 5623 Shutting down Child process exited with status 15 plugin instance destruction shutting down input chan 0x3dba410 RcInitFile: parsing /etc/gnashrc RcInitFile: couldn't open file: /home/deniz/.gnashrc RcInitFile: parsing /etc/gnashpluginrc RcInitFile: couldn't open file: /home/deniz/.gnashpluginrc RcInitFile: parsing /etc/gnashpluginrc RcInitFile: couldn't open file: /home/deniz/.gnashpluginrc RcInitFile: parsing /etc/gnashpluginrc RcInitFile: couldn't open file: /home/deniz/.gnashpluginrc Could not load movie '-' /usr/lib/bug-buddy/firefox-bin: No such file or directory. --------------------------------------------------