From: Aaron Schrab Date: 2006-04-01T07:48:10+09:00 Subject: Too much recursion when specifying backtrace info for exceptions --tKW2IUtsqtDRztdT Content-Type: text/plain; charset=us-ascii Content-Disposition: inline I'm using an AMD64 system running the Debian sarge (stable) distribution, with locally backported ruby 1.8.4 packages (no changes from current packages for unstable other than package version number). I've been seeing "stack level too deep" exceptions, and occasional segfaults. When I get an exception, it always points to a line that does nothing but call WeakRef#__getobj__. If I catch the exception and continue on I'll get a segfault soon after. I'm attaching a gzipped gdb backtrace from a sample core file. It appears that it's getting stuck in an infinite recursion. I have several core files still around, so if there's other information that could be helpful I can try looking for that. In trying to narrow down where the problem was occurring, I modified the standard weakref.rb by removing the third argument (caller(2)) to both occurrences of raise. Instead of giving me a better idea of where the problem is, it seemed to make the problem go away. Unfortunately, I can't provide code to reproduce the problem. The actual code which exhibits the problem is in a lot of proprietary code, and my attempts to produce a simple test program were unsuccessful. --tKW2IUtsqtDRztdT Content-Type: application/octet-stream Content-Disposition: attachment; filename="gdb.out.gz" Content-Transfer-Encoding: base64 H4sICGyhLUQCA2dkYi5vdXQA7J3Njl3XcUbneoqGM4gNJNTe9V9Dww+QAE7GStNsyQQkMmhS cfT2uTIcIJCAwHLWN4tGoggV2MUq4Ky6657v1x8+Pr17efv9N9+8//DN06cfvnv78dtPT19/ /P7Du9988a+ffvyPf/z46fPTt+/ffv7j68vzu6/evf3xF6/Prz88/erLx799+T9/682nj2/u r9588buPry9Pf3r+9PTNy4eX1+fPL++e3v7w9G9ffv/p9cu37z98+fr945f/+KenN1/+7vnd 719e/+Pl9c3r26d/+e3v/+nv33zxz68fv3l9/u7p88vrd+8//Pn//tP7z398+vT+mw/P3z7d +w9Pv3/55ruXD5+fP7//+OHp6+fvv/385otf/28/y///5uM3/+48PZ3/PI9/7PnHf96+/OHm H57ef3h6ffvVb19fn394+vVvnr5+/fjd05//qv7y1/vj39Z9M3/+y30zVJX7sypl9Yur2E+q fO32zv9S5ceh+erd+0/Pb799+er9h8c4vX7/75//qrL+s7Lz9u3/vWz89Gd+9+7ll3cuf1bl Dy/zi6vUT3/Erf3vKl9/9e3zd2/fPf9Vhfqnf5yX2fOL/zjzsx8q3tkvrrKacbhHMg73EuNw 7af9P8/9y6u4pnOh6VwinStikW5Di3SHWKS7xCLZkYyDXck4mBHjYE4skoWmc6npXCGda2KR bKBFsiUWyQ+xSH41DygmGQd3Yhw8iEXy1HSuNJ1rpHNDLJIvtEhxiEWKSyxSmGQcwjVP+kGM QySxSFGazrWmc4N0bolFygMtUl5ikdKIRUrNk35qnvQTedLPIhYpW9O50XRuic7VQY4NF1qk MmKRyolFKs2Tfmme9At50q8mFqlG07mVdK4P0bm+xCK1UVc7Jxapg1ik1jzpt+ZJv5En/R5i kXolnRvNvXOQe+cYsUjj0CJNIOfvJBZpNE/6o3nSH+RJf5ZYpNXcO1dz71zk3rlOLNIGtEib xCJtIZ8jaZ70V/Okv8iT/j0H+SDpXNFncJqT5z3OdC+QD5NOUp8mnUI+TjpNLNQ9I5qKFX00 izz03599xPu37dTVHD/vdVH3guleIjv10895//aduo3s1M8+6f3bdupqnv6viXQHg3wHRngw kfFgIuXBGOfBGOnBMOvBGO3BEO/hugYErmtI4DqCAtedkYhC1L0Uda+Y7iH+w3VKgLiOGBA3 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 /vU/4hxQWEWMAgA= --tKW2IUtsqtDRztdT--