Bugs: Browse | Submit New | Admin

[#28021] Sync thread deadlock (fatal)

Date:
2010-03-29 08:29
Priority:
5
Submitted By:
Yann Golanski (kierun)
Assigned To:
Colby Gutierrez-Kraybill (colbygk)
Category:
None
State:
Open
Summary:
Sync thread deadlock (fatal)

Detailed description
I am doing work in a thread that calls log4r.  At the end of the thread call, I call Thread.current().exit() as I want
to make sure that the thread dies.  However, this call seems to deadlock with log4r.

Is there a bug in log4r or is there some call I should make before called .exit()?

Thanks.

I am using:
  log4r (1.1.7)
  ruby 1.8.7 (2009-06-12 patchlevel 174) [x86_64-linux]
  gem 1.3.5
  
Trace:

*** glibc detected *** ruby: double free or corruption (fasttop): 0x00000000008faf60 ***
======= Backtrace: =========
/lib/libc.so.6[0x7fdeae078928]
/lib/libc.so.6(cfree+0x76)[0x7fdeae07aa36]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec86636]
/usr/lib/libruby1.8.so.1.8(ruby_xmalloc+0x87)[0x7fdeaec86ae7]
/usr/lib/libruby1.8.so.1.8(ruby_getcwd+0x18)[0x7fdeaece21b8]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec83680]
/usr/lib/libruby1.8.so.1.8(rb_path_check+0x6d)[0x7fdeaec8380d]
/usr/lib/libruby1.8.so.1.8(rb_env_path_tainted+0x34)[0x7fdeaec88814]
/usr/lib/libruby1.8.so.1.8[0x7fdeaecb85d9]
/usr/lib/libruby1.8.so.1.8[0x7fdeaecb868c]
/usr/lib/libruby1.8.so.1.8(rb_f_exec+0x7f)[0x7fdeaecb8c5f]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec716c2]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec7182a]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec6b912]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec6f9bb]
/usr/lib/libruby1.8.so.1.8(rb_protect+0x131)[0x7fdeaec678f1]
/usr/lib/libruby1.8.so.1.8[0x7fdeaecb88a4]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec716c2]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec7182a]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec6b912]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec6ef80]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec6f9bb]
/usr/lib/libruby1.8.so.1.8(rb_protect+0x131)[0x7fdeaec678f1]
/usr/lib/libruby1.8.so.1.8[0x7fdeaecb88a4]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec716c2]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec7182a]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec6b912]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec6ef80]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec6cc02]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec71578]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec7182a]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec6b7e0]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec6d43a]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec6cbbb]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec6f9bb]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec6bbd8]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec6e8ee]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec6ea9f]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec71578]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec7182a]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec6b7e0]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec6ef80]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec6e8ee]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec6ea9f]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec71578]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec7182a]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec6b7e0]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec6e3d3]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec6ca0a]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec6e8ee]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec71578]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec7182a]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec6b7e0]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec6e3d3]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec6ca0a]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec71578]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec7182a]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec6b7e0]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec6cc02]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec6e8ee]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec71578]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec7182a]
/usr/lib/libruby1.8.so.1.8[0x7fdeaec6b7e0]
======= Memory map: ========
00400000-00401000 r-xp 00000000 09:01 3548917                            /usr/bin/ruby1.8
00600000-00601000 rw-p 00000000 09:01 3548917                            /usr/bin/ruby1.8
0074a000-0516e000 rw-p 0074a000 00:00 0                                  [heap]
405e5000-405e6000 ---p 405e5000 00:00 0
405e6000-40de6000 rw-p 405e6000 00:00 0
7fdea0000000-7fdea0021000 rw-p 7fdea0000000 00:00 0
7fdea0021000-7fdea4000000 ---p 7fdea0021000 00:00 0
7fdea7589000-7fdea759f000 r-xp 00000000 09:01 2040085                    /lib/libgcc_s.so.1
7fdea759f000-7fdea779f000 ---p 00016000 09:01 2040085                    /lib/libgcc_s.so.1
7fdea779f000-7fdea77a0000 rw-p 00016000 09:01 2040085                    /lib/libgcc_s.so.1
7fdea77a0000-7fdea795f000 r-xp 00000000 09:01 3540705                    /usr/lib/libmysqlclient.so.15.0.0
7fdea795f000-7fdea7b5f000 ---p 001bf000 09:01 3540705                    /usr/lib/libmysqlclient.so.15.0.0
7fdea7b5f000-7fdea7baa000 rw-p 001bf000 09:01 3540705                    /usr/lib/libmysqlclient.so.15.0.0
7fdea7baa000-7fdea7bab000 rw-p 7fdea7baa000 00:00 0
7fdea7bab000-7fdea7bbe000 r-xp 00000000 09:01 3637286                    /usr/lib/ruby/1.8/x86_64-linux/mysql.so
7fdea7bbe000-7fdea7dbd000 ---p 00013000 09:01 3637286                    /usr/lib/ruby/1.8/x86_64-linux/mysql.so
7fdea7dbd000-7fdea7dbe000 rw-p 00012000 09:01 3637286                    /usr/lib/ruby/1.8/x86_64-linux/mysql.so
7fdea7dbe000-7fdea7dce000 r-xp 00000000 09:01 2041012                    /lib/libresolv-2.7.so
7fdea7dce000-7fdea7fce000 ---p 00010000 09:01 2041012                    /lib/libresolv-2.7.so
7fdea7fce000-7fdea7fd0000 rw-p 00010000 09:01 2041012                    /lib/libresolv-2.7.so
7fdea7fd0000-7fdea7fd2000 rw-p 7fdea7fd0000 00:00 0
7fdea7fd2000-7fdea7fd6000 r-xp 00000000 09:01 2041013                    /lib/libnss_dns-2.7.so
7fdea7fd6000-7fdea81d5000 ---p 00004000 09:01 2041013                    /lib/libnss_dns-2.7.so
7fdea81d5000-7fdea81d7000 rw-p 00003000 09:01 2041013                    /lib/libnss_dns-2.7.so
7fdea81d7000-7fdea8ed1000 rw-p 7fdea81d7000 00:00 0
7fdea8ed1000-7fdea8ed5000 r-xp 00000000 09:01 3639283                    /usr/lib/ruby/1.8/x86_64-linux/strscan.so
7fdea8ed5000-7fdea90d5000 ---p 00004000 09:01 3639283                    /usr/lib/ruby/1.8/x86_64-linux/strscan.so
7fdea90d5000-7fdea90d6000 rw-p 00004000 09:01 3639283                    /usr/lib/ruby/1.8/x86_64-linux/strscan.so
7fdea90d6000-7fdea90da000 r-xp 00000000 09:01 3639279                    /usr/lib/ruby/1.8/x86_64-linux/racc/cparse.so
7fdea90da000-7fdea92d9000 ---p 00004000 09:01 3639279                    /usr/lib/ruby/1.8/x86_64-linux/racc/cparse.so
7fdea92d9000-7fdea92da000 rw-p 00003000 09:01 3639279                    /usr/lib/ruby/1.8/x86_64-linux/racc/cparse.so
7fdea92da000-7fdea92dd000 r-xp 00000000 09:01 3540760                    /usr/lib/libgpg-error.so.0.3.0
7fdea92dd000-7fdea93dc000 ---p 00003000 09:01 3540760                    /usr/lib/libgpg-error.so.0.3.0
7fdea93dc000-7fdea93dd000 rw-p 00002000 09:01 3540760                    /usr/lib/libgpg-error.so.0.3.0
7fdea93dd000-7fdea9442000 r-xp 00000000 09:01 3540817                    /usr/lib/libgcrypt.so.11.4.4
7fdea9442000-7fdea9641000 ---p 00065000 09:01 3540817                    /usr/lib/libgcrypt.so.11.4.4
7fdea9641000-7fdea9644000 rw-p 00064000 09:01 3540817                    /usr/lib/libgcrypt.so.11.4.4
7fdea9644000-7fdea9796000 r-xp 00000000 09:01 3541032                    /usr/lib/libxml2.so.2.6.32
7fdea9796000-7fdea9995000 ---p 00152000 09:01 3541032                    /usr/lib/libxml2.so.2.6.32
7fdea9995000-7fdea999f000 rw-p 00151000 09:01 3541032                    /usr/lib/libxml2.so.2.6.32
7fdea999f000-7fdea99a0000 rw-p 7fdea999f000 00:00 0
7fdea99a0000-7fdea99d9000 r-xp 00000000 09:01 3540678                    /usr/lib/libxslt.so.1.1.24
7fdea99d9000-7fdea9bd8000 ---p 00039000 09:01 3540678                    /usr/lib/libxslt.so.1.1.24
7fdea9bd8000-7fdea9bda000 rw-p 00038000 09:01 3540678                    /usr/lib/libxslt.so.1.1.24
7fdea9bda000-7fdea9bed000 r-xp 00000000 09:01 3540674                    /usr/lib/libexslt.so.0.8.13
7fdea9bed000-7fdea9dec000 ---p 00013000 09:01 3540674                    /usr/lib/libexslt.so.0.8.13
7fdea9dec000-7fdea9ded000 rw-p 00012000 09:01 3540674                    /usr/lib/libexslt.so.0.8.13
7fdea9ded000-7fdea9e01000 r-xp 00000000 09:01 4637103                 
/home/sentinel/.gem/ruby/1.8/gems/nokogiri-1.4.1/lib/nokogiri/nokogiri.so
7fdea9e01000-7fdeaa001000 ---p 00014000 09:01 4637103                 
/home/sentinel/.gem/ruby/1.8/gems/nokogiri-1.4.1/lib/nokogiri/nokogiri.so
7fdeaa001000-7fdeaa002000 rw-p 00014000 09:01 4637103                 
/home/sentinel/.gem/ruby/1.8/gems/nokogiri-1.4.1/lib/nokogiri/nokogiri.so
7fdeaa002000-7fdeaa004000 r-xp 00000000 09:01 3639268                    /usr/lib/ruby/1.8/x86_64-linux/digest/md5.so
7fdeaa004000-7fdeaa203000 ---p 00002000 09:01 3639268                    /usr/lib/ruby/1.8/x86_64-linux/digest/md5.so
7fdeaa203000-7fdeaa204000 rw-p 00001000 09:01 3639268                    /usr/lib/ruby/1.8/x86_64-linux/digest/md5.so
7fdeaa204000-7fdeaa207000 r-xp 00000000 09:01 4662193                 
/home/sentinel/.gem/ruby/1.8/gems/SystemTimer-1.2/lib/system_timer_native.so
7fdeaa207000-7fdeaa406000 ---p 00003000 09:01 4662193                 
/home/sentinel/.gem/ruby/1.8/gems/SystemTimer-1.2/lib/system_timer_native.so
7fdeaa406000-7fdeaa407000 rw-p 00002000 09:01 4662193                 
/home/sentinel/.gem/ruby/1.8/gems/SystemTimer-1.2/lib/system_timer_native.so
7fdeaa407000-7fdeaa442000 r-xp 00000000 09:01 2039914                    /lib/libncurses.so.5.7
7fdeaa442000-7fdeaa641000 ---p 0003b000 09:01 2039914                    /lib/libncurses.so.5.7
7fdeaa641000-7fdeaa646000 rw-p 0003a000 09:01 2039914                    /lib/libncurses.so.5.7
7fdeaa646000-7fdeaa67e000 r-xp 00000000 09:01 2040986                    /lib/libreadline.so.5.2
7fdeaa67e000-7fdeaa87d000 ---p 00038000 09:01 2040986                    /lib/libreadline.so.5.2
7fdeaa87d000-7fdeaa885000 rw-p 00037000 09:01 2040986                    /lib/libreadline.so.5.2
7fdeaa885000-7fdeaa886000 rw-p 7fdeaa885000 00:00 0
7fdeaa886000-7fdeaa88a000 r-xp 00000000 09:01 3637533                    /usr/lib/ruby/1.8/x86_64-linux/readline.so
7fdeaa88a000-7fdeaaa8a000 ---p 00004000 09:01 3637533                    /usr/lib/ruby/1.8/x86_64-linux/readline.so
7fdeaaa8a000-7fdeaaa8b000 rw-p 00004000 09:01 3637533                    /usr/lib/ruby/1.8/x86_64-linux/readline.so
7fdeaaa8b000-7fdeaaa8e000 r-xp 00000000 09:01 4596546                 
/home/sentinel/.gem/ruby/1.8/gems/linecache-0.43/ext/trace_nums.so
7fdeaaa8e000-7fdeaac8d000 ---p 00003000 09:01 4596546                 
/home/sentinel/.gem/ruby/1.8/gems/linecache-0.43/ext/trace_nums.so
7fdeaac8d000-7fdeaac8e000 rw-p 00002000 09:01 4596546                 
/home/sentinel/.gem/ruby/1.8/gems/linecache-0.43/ext/trace_nums.so
7fdeaac8e000-7fdeaac91000 r-xp 00000000 09:01 3639270                    /usr/lib/ruby/1.8/x86_64-linux/digest/sha1.so
7fdeaac91000-7fdeaae90000 ---p 00003000 09:01 3639270                    /usr/lib/ruby/1.8/x86_64-linux/digest/sha1.so
7fdeaae90000-7fdeaae91000 rw-p 00002000 09:01 3639270                    /usr/lib/ruby/1.8/x86_64-linux/digest/sha1.so
7fdeaae91000-7fdeaae9a000 r-xp 00000000 09:01 4596576                 
/home/sentinel/.gem/ruby/1.8/gems/ruby-debug-base-0.10.3/lib/ruby_debug.so
7fdeaae9a000-7fdeab099000 ---p 00009000 09:01 4596576                 
/home/sentinel/.gem/ruby/1.8/gems/ruby-debug-base-0.10.3/lib/ruby_debug.so
7fdeab099000-7fdeab09a000 rw-p 00008000 09:01 4596576                 
/home/sentinel/.gem/ruby/1.8/gems/ruby-debug-base-0.10.3/lib/ruby_debug.so
7fdeab09a000-7fdeabbd2000 rw-p 7fdeab09a000 00:00 0
7fdeabbd2000-7fdeabbdc000 r-xp 00000000 09:01 2039873                    /lib/libnss_files-2.7.so
7fdeabbdc000-7fdeabddc000 ---p 0000a000 09:01 2039873                    /lib/libnss_files-2.7.so
7fdeabddc000-7fdeabdde000 rw-p 0000a000 09:01 2039873                    /lib/libnss_files-2.7.so
7fdeabdde000-7fdeabde7000 r-xp 00000000 09:01 2039869                    /lib/libnss_nis-2.7.so
7fdeabde7000-7fdeabfe7000 ---p 00009000 09:01 2039869                    /lib/libnss_nis-2.7.so
7fdeabfe7000-7fdeabfe9000 rw-p 00009000 09:01 2039869                    /lib/libnss_nis-2.7.so
7fdeabfe9000-7fdeabffe000 r-xp 00000000 09:01 2041010                    /lib/libnsl-2.7.so
7fdeabffe000-7fdeac1fd000 ---p 00015000 09:01 2041010                    /lib/libnsl-2.7.so
7fdeac1fd000-7fdeac1ff000 rw-p 00014000 09:01 2041010                    /lib/libnsl-2.7.so
7fdeac1ff000-7fdeac201000 rw-p 7fdeac1ff000 00:00 0
7fdeac201000-7fdeac208000 r-xp 00000000 09:01 2039875                    /lib/libnss_compat-2.7.so
7fdeac208000-7fdeac407000 ---p 00007000 09:01 2039875                    /lib/libnss_compat-2.7.so
7fdeac407000-7fdeac409000 rw-p 00006000 09:01 2039875                    /lib/libnss_compat-2.7.so
7fdeac409000-7fdeac643000 rw-p 7fdeac409000 00:00 0
7fdeac643000-7fdeac660000 r-xp 00000000 09:01 3639284                    /usr/lib/ruby/1.8/x86_64-linux/syck.so
7fdeac660000-7fdeac85f000 ---p 0001d000 09:01 3639284                    /usr/lib/ruby/1.8/x86_64-linux/syck.so
7fdeac85f000-7fdeac861000 rw-p 0001c000 09:01 3639284                    /usr/lib/ruby/1.8/x86_64-linux/syck.so
7fdeac861000-7fdeac866000 r-xp 00000000 09:01 3639282                    /usr/lib/ruby/1.8/x86_64-linux/stringio.so
7fdeac866000-7fdeaca65000 ---p 00005000 09:01 3639282                    /usr/lib/ruby/1.8/x86_64-linux/stringio.so
7fdeaca65000-7fdeaca66000 rw-p 00004000 09:01 3639282                    /usr/lib/ruby/1.8/x86_64-linux/stringio.so
7fdeaca66000-7fdeaca68000 r-xp 00000000 09:01 3639273                    /usr/lib/ruby/1.8/x86_64-linux/etc.so
7fdeaca68000-7fdeacc68000 ---p 00002000 09:01 3639273                    /usr/lib/ruby/1.8/x86_64-linux/etc.so
7fdeacc68000-7fdeacc69000 rw-p 00002000 09:01 3639273                    /usr/lib/ruby/1.8/x86_64-linux/etc.so
7fdeacc69000-7fdeacc6c000 r-xp 00000000 09:01 3639266                    /usr/lib/ruby/1.8/x86_64-linux/digest.so
7fdeacc6c000-7fdeace6b000 ---p 00003000 09:01 3639266                    /usr/lib/ruby/1.8/x86_64-linux/digest.so
7fdeace6b000-7fdeace6c000 rw-p 00002000 09:01 3639266                    /usr/lib/ruby/1.8/x86_64-linux/digest.so
7fdeace6c000-7fdeace82000 r-xp 00000000 09:01 3540770                    /usr/lib/libz.so.1.2.3.3
7fdeace82000-7fdead082000 ---p 00016000 09:01 3540770                    /usr/lib/libz.so.1.2.3.3
7fdead082000-7fdead083000 rw-p 00016000 09:01 3540770                    /usr/lib/libz.so.1.2.3.3
7fdead083000-7fdead1f5000 r-xp 00000000 09:01 3540746                    /usr/lib/libcrypto.so.0.9.8
7fdead1f5000-7fdead3f4000 ---p 00172000 09:01 3540746                    /usr/lib/libcrypto.so.0.9.8
7fdead3f4000-7fdead41a000 rw-p 00171000 09:01 3540746                    /usr/lib/libcrypto.so.0.9.8
7fdead41a000-7fdead41e000 rw-p 7fdead41a000 00:00 0
7fdead41e000-7fdead468000 r-xp 00000000 09:01 3540754                    /usr/lib/libssl.so.0.9.8
7fdead468000-7fdead668000 ---p 0004a000 09:01 3540754                    /usr/lib/libssl.so.0.9.8
7fdead668000-7fdead66f000 rw-p 0004a000 09:01 3540754                    /usr/lib/libssl.so.0.9.8
7fdead66f000-7fdead6b5000 r-xp 00000000 09:01 3637586                    /usr/lib/ruby/1.8/x86_64-linux/openssl.so
7fdead6b5000-7fdead8b5000 ---p 00046000 09:01 3637586                    /usr/lib/ruby/1.8/x86_64-linux/openssl.so
7fdead8b5000-7fdead8b8000 rw-p 00046000 09:01 3637586                    /usr/lib/ruby/1.8/x86_64-linux/openssl.so
7fdead8b8000-7fdead8bc000 r-xp 00000000 09:01 3639286                    /usr/lib/ruby/1.8/x86_64-linux/thread.so
7fdead8bc000-7fdeadabb000 ---p 00004000 09:01 3639286                    /usr/lib/ruby/1.8/x86_64-linux/thread.so
7fdeadabb000-7fdeadabc000 rw-p 00003000 09:01 3639286                    /usr/lib/ruby/1.8/x86_64-linux/thread.so
7fdeadabc000-7fdeadabd000 r-xp 00000000 09:01 3639274                    /usr/lib/ruby/1.8/x86_64-linux/fcntl.so
7fdeadabd000-7fdeadcbc000 ---p 00001000 09:01 3639274                    /usr/lib/ruby/1.8/x86_64-linux/fcntl.so
7fdeadcbc000-7fdeadcbd000 rw-p 00000000 09:01 3639274                    /usr/lib/ruby/1.8/x86_64-linux/fcntl.so
7fdeadcbd000-7fdeaddfa000 rw-p 7fdeadcbd000 00:00 0
7fdeaddfa000-7fdeade05000 r-xp 00000000 09:01 3639281                    /usr/lib/ruby/1.8/x86_64-linux/socket.so
7fdeade05000-7fdeae004000 ---p 0000b000 09:01 3639281                    /usr/lib/ruby/1.8/x86_64-linux/socket.so
7fdeae004000-7fdeae005000 rw-p 0000a000 09:01 3639281                    /usr/lib/ruby/1.8/x86_64-linux/socket.so
7fdeae005000-7fdeae14f000 r-xp 00000000 09:01 2041011                    /lib/libc-2.7.so
7fdeae14f000-7fdeae34e000 ---p 0014a000 09:01 2041011                    /lib/libc-2.7.so
7fdeae34e000-7fdeae351000 r--p 00149000 09:01 2041011                    /lib/libc-2.7.so
7fdeae351000-7fdeae353000 rw-p 0014c000 09:01 2041011                    /lib/libc-2.7.so
7fdeae353000-7fdeae358000 rw-p 7fdeae353000 00:00 0
7fdeae358000-7fdeae3da000 r-xp 00000000 09:01 2041016                    /lib/libm-2.7.so
7fdeae3da000-7fdeae5d9000 ---p 00082000 09:01 2041016                    /lib/libm-2.7.so
7fdeae5d9000-7fdeae5db000 rw-p 00081000 09:01 2041016                    /lib/libm-2.7.so
7fdeae5db000-7fdeae5e3000 r-xp 00000000 09:01 2039884                    /lib/libcrypt-2.7.so
7fdeae5e3000-7fdeae7e3000 ---p 00008000 09:01 2039884                    /lib/libcrypt-2.7.so
7fdeae7e3000-7fdeae7e5000 rw-p 00008000 09:01 2039884                    /lib/libcrypt-2.7.so
7fdeae7e5000-7fdeae813000 rw-p 7fdeae7e5000 00:00 0
7fdeae813000-7fdeae815000 r-xp 00000000 09:01 2039878                    /lib/libdl-2.7.so
7fdeae815000-7fdeaea15000 ---p 00002000 09:01 2039878                    /lib/libdl-2.7.so
7fdeaea15000-7fdeaea17000 rw-p 00002000 09:01 2039878                    /lib/libdl-2.7.so
7fdeaea17000-7fdeaea2d000 r-xp 00000000 09:01 2041014                    /lib/libpthread-2.7.so
7fdeaea2d000-7fdeaec2d000 ---p 00016000 09:01 2041014                    /lib/libpthread-2.7.so
7fdeaec2d000-7fdeaec2f000 rw-p 00016000 09:01 2041014                    /lib/libpthread-2.7.so
7fdeaec2f000-7fdeaec33000 rw-p 7fdeaec2f000 00:00 0
7fdeaec33000-7fdeaed16000 r-xp 00000000 09:01 3540997                    /usr/lib/libruby1.8.so.1.8.7
7fdeaed16000-7fdeaef16000 ---p 000e3000 09:01 3540997                    /usr/lib/libruby1.8.so.1.8.7
7fdeaef16000-7fdeaef1a000 rw-p 000e3000 09:01 3540997                    /usr/lib/libruby1.8.so.1.8.7
7fdeaef1a000-7fdeaef38000 rw-p 7fdeaef1a000 00:00 0
7fdeaef38000-7fdeaef54000 r-xp 00000000 09:01 2039880                    /lib/ld-2.7.so
7fdeaef9d000-7fdeaef9e000 rw-p 7fdeaef9d000 00:00 0
7fdeaefa3000-7fdeaefa5000 rw-p 7fdeaefa3000 00:00 0
7fdeaf001000-7fdeaf009000 rw-p 7fdeaf001000 00:00 0
7fdeaf00a000-7fdeaf00d000 rw-p 7fdeaf00a000 00:00 0
7fdeaf00e000-7fdeaf00f000 rw-p 7fdeaf00e000 00:00 0
7fdeaf010000-7fdeaf011000 rw-p 7fdeaf010000 00:00 0
7fdeaf012000-7fdeaf02b000 rw-p 7fdeaf012000 00:00 0
7fdeaf02c000-7fdeaf02e000 rw-p 7fdeaf02c000 00:00 0
7fdeaf02f000-7fdeaf033000 rw-p 7fdeaf02f000 00:00 0
7fdeaf034000-7fdeaf14a000 rw-p 7fdeaf034000 00:00 0
7fdeaf14b000-7fdeaf150000 rw-p 7fdeaf14b000 00:00 0
7fdeaf150000-7fdeaf153000 rw-p 7fdeaf150000 00:00 0
7fdeaf153000-7fdeaf155000 rw-p 0001b000 09:01 2039880                    /lib/ld-2.7.so
7fffb706c000-7fffb7155000 rw-p 7ffffff16000 00:00 0                      [stack]
7fffb71ff000-7fffb7200000 r-xp 7fffb71ff000 00:00 0                      [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]
deadlock 0x7fdea8b6a218: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8b77918: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdeaf13c370: sleep:- (main) -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8977f78: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8d60ae0: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8db5888: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8ddeb98: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8e19c48: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea89c48a0: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea89e0d98: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8a135e0: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8a4d4e8: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8a812e8: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8a925e8: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8aa0198: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8aadcd0: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8abb9e8: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8ac93b8: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8ae2ac0: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8aea1f8: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8afb700: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8b106a0: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8b21e28: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8eb47c0: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8b35270: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8b49338: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8b5a660: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8b6ee80: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8b7ec90: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8b8c908: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8b1f3a8: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8b9ae40: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8baa3e0: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8bb8440: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8bc6b30: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8bd47a8: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8be51e8: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8bf43a0: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8c22228: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8c32bc8: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8c74f00: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8c83848: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8cb1b30: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8cbbd88: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8ccc1d8: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8cd9c98: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8ce9148: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8cf7888: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8d05618: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8d15ab8: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8d25828: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8d33400: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8d40df8: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8d502f8: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8d5c7b0: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8d6a748: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8d93fa8: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8dbd588: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8de7248: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8e11368: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8e1ee28: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8e2f020: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8e491f0: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8e4c698: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8e5a090: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8e6e6d0: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8e7ced8: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8e8d648: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8e9e5d8: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8ead9e8: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8ebcf88: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8ecc168: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8ae29a8: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8af0238: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8afd960: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8b0b178: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8b189b8: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8b26298: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8b33d30: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8b41728: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8b4f0d0: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
deadlock 0x7fdea8b5ca00: sleep:-  - /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:128
./bin/../lib/checkerMinion.rb:74:in `synch': Thread(0x7fdea8673ea8): deadlock (fatal)
        from /home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter/outputter.rb:108:in `canonical_log'
        from (eval):3:in `warn'
        from (eval):8:in `warn'
        from (eval):8:in `each'
        from (eval):8:in `warn'
        from (eval):9:in `warn'
        from ./bin/../lib/overseer.rb:229:in `memoryChecker'
        from ./bin/../lib/overseer.rb:182:in `mainLoop'
        from ./bin/../lib/overseer.rb:162:in `loop'
        from ./bin/../lib/overseer.rb:162:in `mainLoop'
        from ./bin/NetworkSystemMonitor.rb:139

Add A Comment: Notepad

Please login


Followup

Message
Date: 2010-10-20 23:54
Sender: Seth Goings

Sorry - didn't see your comment about the thread locking fix
being initially tested. I pulled the repo, installed it, and
all is well.

What's the life status of this project?
Date: 2010-10-20 23:32
Sender: Seth Goings

I ran into this issue with 1.1.8 and Ruby 1.9.1-p378 as well
- but using log inheritance.

Here's the error I got:
<internal:prelude>:6:in `lock': deadlock; recursive locking
(ThreadError)
        from <internal:prelude>:6:in `synchronize'
        from <internal:prelude>:20:in `exclusive'
        from C:/Ruby191/lib/ruby/gems/1.9.1/gems/log4r-1.1.8/lib/
log4r/repository.rb:34:in `[]'
        from C:/Ruby191/lib/ruby/gems/1.9.1/gems/log4r-1.1.8/lib/
log4r/repository.rb:75:in `block in find_ancestor'
        from <internal:prelude>:21:in `block in exclusive'
        from <internal:prelude>:8:in `synchronize'
        from <internal:prelude>:20:in `exclusive'
        from C:/Ruby191/lib/ruby/gems/1.9.1/gems/log4r-1.1.8/lib/
log4r/repository.rb:73:in `find_ancestor'
        from C:/Ruby191/lib/ruby/gems/1.9.1/gems/log4r-1.1.8/lib/
log4r/logger.rb:62:in `deal_with_inheritance'
        from C:/Ruby191/lib/ruby/gems/1.9.1/gems/log4r-1.1.8/lib/
log4r/logger.rb:36:in `initialize'
        from C:/Documents and Settings/Administrator/My
Documents/NetBeansProjects/Log4rtest/lib/main.rb:6:in `new'
        from C:/Documents and Settings/Administrator/My
Documents/NetBeansProjects/Log4rtest/lib/main.rb:6:in
`<main>'

Here's my testcase:
-----------------------
require 'log4r'
include Log4r

parent_log = Logger.new("Main")
parent_log.add(FileOutputter.new(parent_log, :filename =>
"Main.log", :trunc => true))
log = Logger.new("Main::Child")
log.add(FileOutputter.new(log, :filename => "Child.log",
:trunc => true))

log.info("Got to this point.")
------------------

I see that the log4r code on GitHub has a possible fix for this,
but I wasn't sure if it was a good one. Please tell me if it's
a good idea to pull 1.1.9 alpha, since RubyForge (and therefore
gem installs) only has 1.1.8 at the current time. A gem, of course,
would be much appreciated, since at current time this is a pretty
serious issue. :-)
Date: 2010-06-08 07:55
Sender: Yann Golanski

Yes, of course.  I will clone the repository and try it. 
Date: 2010-06-08 05:47
Sender: Colby Gutierrez-Kraybill

I've switched log4r to use Monitor instead of Mutex directly.
Initial testing seems to be good so far.  If you're still available
for helping test the changes out, that would be grand.  I've
pushed the changes into the current head of the git tree for
log4r.  You can get it either from rubyforge or github, depending
on what you prefer:

git://rubyforge.org/log4r.git
or
git://github.com/colbygk/log4r.git

Thanks - Colby
Date: 2010-04-13 10:01
Sender: Yann Golanski

If you wanted me to help test it, let me know.  I am happy
to do so.
Date: 2010-04-12 21:31
Sender: Colby Gutierrez-Kraybill

This makes sense to me.  It may be that section of code pre-dates
the Monitor class.  The next release is planned to flesh out
testing and re-organize the layout of the source tree (moving
src/**/* into lib).  The usage of mutex directly is dropped in
favor of a Monitor mixin, I'd like the test the living crap out
of it before release.
Date: 2010-04-08 14:12
Sender: Yann Golanski

Another crash... Trace below.

I had a look at the source and you use the Mutex class which
is not re-entering, as opposed to Monitor which is.  I
wonder if that maybe the problem?  I shall hack the source
and see if I can get this bug to re-appear -- which sadly is
none trivial. 


deadlock 0x7fa37bcf57a8: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bcf95d8: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa38228e358: sleep:- (main) -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bd4bf40: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37b598c58: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37b5b5ba0: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37b5d67b0: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37b5f4580: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bd59960: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bd69b30: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bd7f1d8: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bd86050: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bd952a8: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bda4988: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bdb23f8: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bdbfb98: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bdd9660: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bddae20: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bde88e0: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bdf6440: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37be03d48: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37be11790: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37be2ad30: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37b931068: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37be2cc98: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37be3a578: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37be47f98: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bdd9660: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bddae20: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bde88e0: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bdf6440: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37be03d48: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37be11790: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37be2ad30: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37b931068: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37be2cc98: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37be3a578: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37be47f98: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37be55990: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37be634f0: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37be7dee0: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bd21970: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37be7e840: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37be8c288: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37be99bb8: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bea78a8: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37beb5340: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bec2e28: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bed07d0: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bedde30: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37beeb8c8: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bef8ff0: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bf06ba0: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bf14430: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bf23980: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bf2fa28: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bf3d330: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bf4ae18: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bf58810: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bf6d378: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bf74858: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bf82430: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bf8ff18: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bf9d938: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bfac140: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bfba290: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bfc7d78: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bfd6f30: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bfe5620: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bff2fc8: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37c0009e8: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37c00e188: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37c01bbd0: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bb69a88: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bbb3688: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bbd6c78: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bc05528: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bc12f48: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bc20990: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bc2e108: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bc48030: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bc49318: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bc56e50: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bc647a8: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bc71f70: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bc7fa30: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bc8d450: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bc9add0: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bca8520: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bcb5b58: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bcc35c8: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bcd0e08: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
deadlock 0x7fa37bcde6e8: sleep:-  -
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:128
./bin/../lib/checkerMinion.rb:76:in `synch':
Thread(0x7fa37b547a60): deadlock (fatal)
        from
/home/sentinel/.gem/ruby/1.8/gems/log4r-1.1.7/src/log4r/outputter
/outputter.rb:108:in
`canonical_log'
        from (eval):3:in `warn'
        from (eval):8:in `warn'
        from (eval):8:in `each'
        from (eval):8:in `warn'
        from (eval):9:in `warn'
        from ./bin/../lib/overseer.rb:229:in `memoryChecker'

Date: 2010-04-01 17:02
Sender: Colby Gutierrez-Kraybill

Yes, I'll chew on this.
Date: 2010-04-01 07:52
Sender: Yann Golanski

Thanks.

The code that does this is convoluted and has many threads.
 I suspect it maybe something with threads which is causing
side effect problems.  Tracking it down for a test while
nice is rather hard.  

I am using RollingFileOutputter.

However, most of the code running log4r is really trivial
and I can paste it here. 

I start the logger with:
    config = {
      "filename" =>
"#{File.dirname(__FILE__)}/../log/NetworkSystemMonitor.log&q
uot;,
      "maxtime" => 86400,
      "trunc" => false,
      :formatter => Log4r::PatternFormatter.new(:pattern
=>
"%d [%7.7l  %C] - %m")
    }
    logger = Log4r::Logger.new('mainLogger')
    logger.outputters =
Log4r::RollingFileOutputter.new("mainLogger", config)
    logger.level = Log4r::INFO

Once that is done, each of my class has a logger created by:

@logger = Log4r::Logger.new "mainLogger::CheckerMinion
<#{Process.pid}>"

To be fair, the Process.pdf is just that one class as there
are many many of them.  The minions do a check (like ping a
host) then die.

All the other calls are based on
@logger(info|error|fatal|...) and thus I suspect pretty well 
tested. 

The only other instance is a flush called as such:
      @logger.outputters.each {|i| i.flush()}
before the minion thread calls Thread.current().exit()

Does that help?
Date: 2010-04-01 03:43
Sender: Colby Gutierrez-Kraybill

Which actual outputter are you using?  outputter.rb is the 'abstract'
class, from which all implementations of outputters are derived.
Looking at the traces above, it looks like you're calling outputter
directly instead of a specific outputter implementation such
as syslogoutputter or consoleoutputters, etc..

If you could, please include a refined test case that reproduces
the bug.  If you don't wish to post it to rubyforge, you could
email it to me directly.

Attached Files:

Name Description Download
No Files Currently Attached

Changes:

Field Old Value Date By
resolution_idNone2010-06-08 05:47colbygk
artifact_group_idNone2010-06-08 05:47colbygk
priority32010-04-01 03:32colbygk
assigned_tonone2010-04-01 03:32colbygk