退出时红宝石1.9分段故障(ruby 1.9 segmentation fault on exit)

编程入门 行业动态 更新时间:2024-10-23 16:14:53
退出时红宝石1.9分段故障(ruby 1.9 segmentation fault on exit)

我在这里变得疯狂,只是试图在我的服务器上部署一个小测试应用程序,并且每当ruby退出时(即在运行rake资产:预编译或退出控制台等之后)我都会遇到seg故障。 刚跑

script/rails r -e production "puts 1"

会导致

1 [BUG] Segmentation fault ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux] -- C level backtrace information ------------------------------------------- /usr/local/rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9 [0x7f92fd681f25] /usr/local/rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9 [0x7f92fd55608c] /usr/local/rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9(rb_bug+0xb8) [0x7f92fd556208] error.c:277 /usr/local/rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9 [0x7f92fd60db77] /lib/libpthread.so.0 [0x7f92fd2e5a80] /lib/libselinux.so.1 [0x7f92f0db831d] /lib/libselinux.so.1 [0x7f92f0dab57f] -- Other runtime information ----------------------------------------------- Segmentation fault

注意脚本/ rake任务,无论运行什么,但退出 - > seg fault

奇怪的是,这只发生在我的服务器上(debian lenny,rvm,ruby 1.9.2或1.9.3)并且仅在生产模式下发生。 我自然而然地认为,一些生产组宝石正在造成这种情况,我尝试关闭我的Gemfile中的生产组,以及切换生产< - >开发宝石,没有变化,每次ruby退出 - > seg fault

我该怎么办? 有人可以给我一些调试技巧,以找到这个的根源,这个seg错误的回溯让我完全没有提示

(我尝试删除ruby,并重新编译,我尝试了1.9.2-p290和1.9.3,相同的结果)

好的,回溯时间:

#0 rb_string_value (ptr=0x5a8) at string.c:1406 1406 VALUE s = *ptr; (gdb) where #0 rb_string_value (ptr=0x5a8) at string.c:1406 #1 0x00007f3c5b619428 in rb_string_value_cstr (ptr=0x5a8) at string.c:1424 #2 0x00007f3c5b6708cc in rb_vm_bugreport () at vm_dump.c:826 #3 0x00007f3c5b549f1c in report_bug (file=<value optimized out>, line=<value optimized out>, fmt=0x7f3c5b69e88b "Segmentation fault", args=0x66cd40) at error.c:258 #4 0x00007f3c5b54a098 in rb_bug (fmt=0x7f3c5b69e88b "Segmentation fault") at error.c:277 #5 0x00007f3c5b5fe037 in sigsegv (sig=<value optimized out>, info=<value optimized out>, ctx=<value optimized out>) at signal.c:609 #6 <signal handler called> #7 0x00007f3c4e6fa18d in fini_context_translations () at setrans_client.c:211 #8 0x00007f3c4e6ed5df in __do_global_dtors_aux () from /lib/libselinux.so.1 #9 0x0000000000400850 in setlocale@plt () #10 0x00007fffffffdec0 in ?? () #11 0x00007f3c4e6fb991 in _fini () from /lib/libselinux.so.1 #12 0x000000000000005f in ?? () #13 0x00007f3c5b933d94 in ?? () from /lib64/ld-linux-x86-64.so.2 Backtrace stopped: previous frame inner to this frame (corrupt stack?)

i'm getting crazy here, just trying to deploy a little test app on my server, and i keep getting a seg fault whenever ruby quits (i.e. after running rake assets:precompile, or quitting console etc). just running

script/rails r -e production "puts 1"

will lead to

1 [BUG] Segmentation fault ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux] -- C level backtrace information ------------------------------------------- /usr/local/rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9 [0x7f92fd681f25] /usr/local/rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9 [0x7f92fd55608c] /usr/local/rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9(rb_bug+0xb8) [0x7f92fd556208] error.c:277 /usr/local/rvm/rubies/ruby-1.9.3-p0/lib/libruby.so.1.9 [0x7f92fd60db77] /lib/libpthread.so.0 [0x7f92fd2e5a80] /lib/libselinux.so.1 [0x7f92f0db831d] /lib/libselinux.so.1 [0x7f92f0dab57f] -- Other runtime information ----------------------------------------------- Segmentation fault

note that the scripts/rake tasks, whatever do run, but on exit -> seg fault

the weird thing is, this 1. happens only on my server (debian lenny, rvm, ruby 1.9.2 or 1.9.3 ) and only in production mode. so naturally i thought, some production group gem is causing this, and i tried switching off the production group in my Gemfile, as well as switching production <-> development gems, no change, everytime ruby quits -> seg fault

what the hell can i do? can somebody give me please some debugging tips to get to the root of this, the backtrace for this seg fault leaves me with absolutely no hint

(i tried removing ruby, and recompiling, and i tried 1.9.2-p290 AND 1.9.3, same result)

okay, backtrace time:

#0 rb_string_value (ptr=0x5a8) at string.c:1406 1406 VALUE s = *ptr; (gdb) where #0 rb_string_value (ptr=0x5a8) at string.c:1406 #1 0x00007f3c5b619428 in rb_string_value_cstr (ptr=0x5a8) at string.c:1424 #2 0x00007f3c5b6708cc in rb_vm_bugreport () at vm_dump.c:826 #3 0x00007f3c5b549f1c in report_bug (file=<value optimized out>, line=<value optimized out>, fmt=0x7f3c5b69e88b "Segmentation fault", args=0x66cd40) at error.c:258 #4 0x00007f3c5b54a098 in rb_bug (fmt=0x7f3c5b69e88b "Segmentation fault") at error.c:277 #5 0x00007f3c5b5fe037 in sigsegv (sig=<value optimized out>, info=<value optimized out>, ctx=<value optimized out>) at signal.c:609 #6 <signal handler called> #7 0x00007f3c4e6fa18d in fini_context_translations () at setrans_client.c:211 #8 0x00007f3c4e6ed5df in __do_global_dtors_aux () from /lib/libselinux.so.1 #9 0x0000000000400850 in setlocale@plt () #10 0x00007fffffffdec0 in ?? () #11 0x00007f3c4e6fb991 in _fini () from /lib/libselinux.so.1 #12 0x000000000000005f in ?? () #13 0x00007f3c5b933d94 in ?? () from /lib64/ld-linux-x86-64.so.2 Backtrace stopped: previous frame inner to this frame (corrupt stack?)

最满意答案

好的,我明白了! 它实际上是libselinux中的这个错误http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=505920 ,它已经修复了一段时间,但更新没有进入lenny? 我冒昧地从挤压中安装了libselinux1 deb,我不确定这实际上是不是一个好主意,但至少问题已经消失了。

okay, i got it! it's actually this bug http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=505920 in libselinux, which has been fixed a while ago, but the updates didn't make it into lenny? i took the liberty and installed the libselinux1 deb from squeeze, i'm not sure if this is actually a good idea, but at least the problem is gone.

更多推荐

本文发布于:2023-08-07 01:18:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1458820.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:红宝石   故障   ruby   fault   segmentation

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!