From: Suraj Kurapati Date: 2009-10-23T12:24:54+09:00 Subject: [ruby-core:26247] [Bug #2258] Kernel#require inside rb_require() inside rb_protect() inside SysV context fails Issue #2258 has been updated by Suraj Kurapati. Hi, Below is a full GDB backtrace of the bug in Ruby 1.9.2dev. I hope this is more useful than the output I posted so far. Thanks for your consideration. ############################################################### # ruby -v extconf.rb && sed -i 's,-shared,,g' Makefile ############################################################### ruby 1.9.2dev (2009-10-23 trunk 25426) [i686-linux] checking for ruby_init() in -lruby-static... yes checking for ruby_sysinit()... yes checking for sys/ucontext.h... yes creating Makefile ############################################################### # make && gdb ./main.so ############################################################### gcc -I. -I/home/sun/app/ruby/include/ruby-1.9.1/i686-linux -I/home/sun/app/ruby/include/ruby-1.9.1/ruby/backward -I/home/sun/app/ruby/include/ruby-1.9.1 -I. -DHAVE_RUBY_SYSINIT -DHAVE_SYS_UCONTEXT_H -D_FILE_OFFSET_BITS=64 -fPIC -g -o main.o -c main.c gcc -o main.so main.o -L. -L/home/sun/app/ruby/lib -Wl,-R/home/sun/app/ruby/lib -L. -rdynamic -Wl,-export-dynamic -lruby-static -lpthread -lrt -ldl -lcrypt -lm -lc GNU gdb (GDB) 7.0 Copyright (C) 2009 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "i686-pc-linux-gnu". For bug reporting instructions, please see: ... Reading symbols from /home/sun/lab/ruby-ucontext/main.so...done. (gdb) run Starting program: /home/sun/lab/ruby-ucontext/main.so [Thread debugging using libthread_db enabled] [New Thread 0xb7fdfb70 (LWP 1814)] Main: relay_from_main_to_ruby() begin Ruby: context begin Ruby: relay 0 Ruby: relay_from_ruby_to_main() begin Main: relay_from_main_to_ruby() end Main: relay_from_main_to_ruby() begin Ruby: relay_from_ruby_to_main() end Ruby: relay 1 Ruby: relay_from_ruby_to_main() begin Main: relay_from_main_to_ruby() end Main: relay_from_main_to_ruby() begin Ruby: relay_from_ruby_to_main() end Ruby: relay 2 Ruby: relay_from_ruby_to_main() begin Main: relay_from_main_to_ruby() end Main: relay_from_main_to_ruby() begin Ruby: relay_from_ruby_to_main() end Ruby: require 'hello' begin ~~~~> Hello World! The time is 2009-10-22 20:18:23 -0700. ~~~~> Doing relay from /home/sun/lab/ruby-ucontext/hello.rb:3 Ruby: relay_from_ruby_to_main() begin Main: relay_from_main_to_ruby() end Main: relay_from_main_to_ruby() begin Ruby: relay_from_ruby_to_main() end ~~~~> OMG, back from main!! :-) Program received signal SIGSEGV, Segmentation fault. mark_locations_array (objspace=0x82134f0, x=0x82d9000, n=-302737297) at gc.c:1312 1312 v = *x; (gdb) bt full #0 mark_locations_array (objspace=0x82134f0, x=0x82d9000, n=-302737297) at gc.c:1312 v = 0 #1 0x08071bd0 in gc_mark_locations (objspace=0x82134f0, start=0x82036c0, end=0xbffff1c0) at gc.c:1328 n = -302518592 #2 0x080732cd in mark_current_machine_context (objspace=0x82134f0, th=0x8213290) at gc.c:2123 save_regs_gc_mark = {{__jmpbuf = {136398340, 136398660, 136400040, 136329096, -859083016, -2101213448}, __mask_was_saved = 0, __saved_mask = {__val = {136328984, 134735412, 136569480, 4294967295, 136329016, 134922497, 136603800, 136534240, 136329016, 134923347, 136550480, 918079462, 712, 136603800, 1, 136393360, 136329064, 134684644, 136398372, 136398374, 136603800, 134960397, 137160472, 10128, 3085330718, 136556320, 136590280, 136398340, 136329096, 134684829, 136393968, 136556320}}}} stack_start = 0x82036c0 stack_end = 0xbffff1c0 #3 0x08073514 in garbage_collect (objspace=0x82134f0) at gc.c:2172 list = 0xb7f3c380 th = 0x8213290 gc_time = 0 count = 0 #4 0x080715ca in rb_newobj_from_heap (objspace=0x82134f0) at gc.c:1011 obj = 134679951 #5 0x08071683 in rb_newobj () at gc.c:1094 th = 0x8213290 objspace = 0x82134f0 #6 0x08071690 in rb_node_newnode (type=NODE_SCOPE, a0=137166880, a1=136398340, a2=136398660) at gc.c:1101 n = 0x14 #7 0x080b27da in node_newnode (parser=0x82bb4a0, type=NODE_SCOPE, a0=137166880, a1=136398340, a2=136398660) at parse.y:7674 n = 0x82d0020 #8 0x080a8209 in ruby_yyparse (parser=0x82bb4a0) at parse.y:2928 body = 0x8214604 yychar = -2 yylval = {val = 6, node = 0x6, id = 6, num = 6} yynerrs = 0 yystate = 953 yyerrstatus = 0 yyssa = {0, 2, 65, 283, 87, 349, 564, 698, 65, 283, 89, 366, 574, 708, 808, 871, 908, 936, 953, 786, 856, 399, 602, 601, 602, 601, 722, 774, 466, 601, 601, 505, 399, 602, 601, 602, 601, 796, 864, 905, 687, 796, 864, 905, 687, 796, 864, 905, 687, 796, 864, 905, 480, 326, 535, 667, 775, 850, 499, 390, 541, 671, 399, 602, 601, 0, 12944, 2081, 13552, 2081, 0, 0, 8192, 0, 15640, 2080, -22393, 2063, 26776, 2084, -26584, 2083, 15656, 2080, -23694, 2069, -26604, 2083, 2, 0, 15688, 2080, -22043, 2063, -26596, 2083, -18936, 2091, 15688, 2080, -23644, 2069, -26604, 2083, 2, 0, 15720, 2080, -24124, 2063, -26594, 2083, -26594, 2083, 15720, 2080, -14319, 2055, -26604, 2083, 26776, 2084, 2, 0, 8192, 0, -19112, 2091, 4960, 2091, 15784, 2080, -8337, 2055, -26604, 2083, -19112, 2091, 26776, 2084, 15748, 2080, -19112, 2091, 0, 16, -26604, 2083, 2, 0, 2, 0, 2, 0, -18936, 2091, -18935, 2091, -26584, 2083, 14176, 2084, 15880, 2080, -7508, 2055, -19112, 2091, 26776, 2084, 16104, 2080, -4494, 2067, 2, 0, 16400, 2080, 4, 0, -19112, 2091, 0, 0, 26776, 2084, 15880, 2080, 15864, 2080, 2, 0, 12296, 2081, 2432, 2091, 2, 0, 13552, 2081} yyss = 0x8203c64 yyssp = 0x8203c88 yyvsa = {{val = 3086200820, node = 0xb7f3aff4, id = 3086200820, num = -1208766476}, {val = 0, node = 0x0, id = 0, num = 0}, {val = 136415420, node = 0x82188bc, id = 136415420, num = 136415420}, {val = 6, node = 0x6, id = 6, num = 6}, {val = 6, node = 0x6, id = 6, num = 6}, {val = 136414380, node = 0x82184ac, id = 136414380, num = 136414380}, { val = 136414340, node = 0x8218484, id = 136414340, num = 136414340}, {val = 1550, node = 0x60e, id = 1550, num = 1550}, {val = 136410200, node = 0x8217458, id = 136410200, num = 136410200}, {val = 6, node = 0x6, id = 6, num = 6}, {val = 6, node = 0x6, id = 6, ---Type to continue, or q to quit--- num = 6}, {val = 136398900, node = 0x8214834, id = 136398900, num = 136398900}, {val = 6, node = 0x6, id = 6, num = 6}, {val = 0, node = 0x0, id = 0, num = 0}, {val = 10896, node = 0x2a90, id = 10896, num = 10896}, {val = 0, node = 0x0, id = 0, num = 0}, { val = 136398660, node = 0x8214744, id = 136398660, num = 136398660}, {val = 136398340, node = 0x8214604, id = 136398340, num = 136398340}, {val = 6, node = 0x6, id = 6, num = 6}, {val = 0, node = 0x0, id = 0, num = 0}, {val = 0, node = 0x0, id = 0, num = 0}, { val = 136398440, node = 0x8214668, id = 136398440, num = 136398440}, {val = 0, node = 0x0, id = 0, num = 0}, {val = 6, node = 0x6, id = 6, num = 6}, {val = 0, node = 0x0, id = 0, num = 0}, {val = 6, node = 0x6, id = 6, num = 6}, {val = 0, node = 0x0, id = 0, num = 0}, { val = 6, node = 0x6, id = 6, num = 6}, {val = 6, node = 0x6, id = 6, num = 6}, {val = 6, node = 0x6, id = 6, num = 6}, {val = 6, node = 0x6, id = 6, num = 6}, {val = 136425000, node = 0x821ae28, id = 136425000, num = 136425000}, {val = 136425100, node = 0x821ae8c, id = 136425100, num = 136425100}, {val = 0, node = 0x0, id = 0, num = 0}, {val = 6, node = 0x6, id = 6, num = 6}, {val = 0, node = 0x0, id = 0, num = 0}, {val = 6, node = 0x6, id = 6, num = 6}, {val = 6, node = 0x6, id = 6, num = 6}, {val = 136468120, node = 0x8225698, id = 136468120, num = 136468120}, {val = 136465420, node = 0x8224c0c, id = 136465420, num = 136465420}, {val = 136467880, node = 0x82255a8, id = 136467880, num = 136467880}, {val = 6, node = 0x6, id = 6, num = 6}, {val = 136467520, node = 0x8225440, id = 136467520, num = 136467520}, {val = 136465440, node = 0x8224c20, id = 136465440, num = 136465440}, {val = 136467460, node = 0x8225404, id = 136467460, num = 136467460}, {val = 6, node = 0x6, id = 6, num = 6}, {val = 136466680, node = 0x82250f8, id = 136466680, num = 136466680}, {val = 136465460, node = 0x8224c34, id = 136465460, num = 136465460}, {val = 136466440, node = 0x8225008, id = 136466440, num = 136466440}, {val = 6, node = 0x6, id = 6, num = 6}, {val = 136465660, node = 0x8224cfc, id = 136465660, num = 136465660}, {val = 0, node = 0x0, id = 0, num = 0}, {val = 136465500, node = 0x8224c5c, id = 136465500, num = 136465500}, {val = 6, node = 0x6, id = 6, num = 6}, {val = 136465580, node = 0x8224cac, id = 136465580, num = 136465580}, { val = 0, node = 0x0, id = 0, num = 0}, {val = 0, node = 0x0, id = 0, num = 0}, { val = 136465560, node = 0x8224c98, id = 136465560, num = 136465560}, {val = 136465960, node = 0x8224e28, id = 136465960, num = 136465960}, {val = 6, node = 0x6, id = 6, num = 6}, {val = 448, node = 0x1c0, id = 448, num = 448}, {val = 136465980, node = 0x8224e3c, id = 136465980, num = 136465980}, {val = 136465980, node = 0x8224e3c, id = 136465980, num = 136465980}, {val = 0, node = 0x0, id = 0, num = 0}, {val = 6, node = 0x6, id = 6, num = 6}, {val = 136551228, node = 0x8239b3c, id = 136551228, num = 136551228}, { val = 136551220, node = 0x8239b34, id = 136551220, num = 136551220}, {val = 3, node = 0x3, id = 3, num = 3}, {val = 3084869508, node = 0xb7df5f84, id = 3084869508, num = -1210097788}, {val = 1, node = 0x1, id = 1, num = 1}, {val = 2, node = 0x2, id = 2, num = 2}, {val = 136551208, node = 0x8239b28, id = 136551208, num = 136551208}, { val = 136551220, node = 0x8239b34, id = 136551220, num = 136551220}, {val = 136329912, node = 0x8203ab8, id = 136329912, num = 136329912}, {val = 135607304, node = 0x8153408, id = 135607304, num = 135607304}, {val = 2, node = 0x2, id = 2, num = 2}, {val = 135964471, node = 0x81aa737, id = 135964471, num = 135964471}, {val = 136329912, node = 0x8203ab8, id = 136329912, num = 136329912}, {val = 3085314675, node = 0xb7e62a73, id = 3085314675, num = -1209652621}, {val = 1, node = 0x1, id = 1, num = 1}, {val = 1, node = 0x1, id = 1, num = 1}, {val = 136329888, node = 0x8203aa0, id = 136329888, num = 136329888}, {val = 0, node = 0x0, id = 0, num = 0}, {val = 1, node = 0x1, id = 1, num = 1}, {val = 136331588, node = 0x8204144, id = 136331588, num = 136331588}, {val = 1, node = 0x1, id = 1, num = 1}, {val = 1, node = 0x1, id = 1, num = 1}, {val = 0, node = 0x0, id = 0, num = 0}, {val = 0, node = 0x0, id = 0, num = 0}, {val = 136329956, node = 0x8203ae4, id = 136329956, num = 136329956}, {val = 0, node = 0x0, id = 0, num = 0}, {val = 136331440, node = 0x82040b0, id = 136331440, num = 136331440}, {val = 3086048928, node = 0xb7f15ea0, id = 3086048928, num = -1208918368}, {val = 136329944, node = 0x8203ad8, id = 136329944, num = 136329944}, {val = 135607390, node = 0x815345e, id = 135607390, num = 135607390}, { val = 136393360, node = 0x8213290, id = 136393360, num = 136393360}, {val = 1, node = 0x1, id = 1, num = 1}, {val = 3086921792, node = 0xb7feb040, id = 3086921792, num = -1208045504}, {val = 136550440, node = 0x8239828, id = 136550440, num = 136550440}, { val = 3084869508, node = 0xb7df5f84, id = 3084869508, num = -1210097788}, {val = 137040736, node = 0x82b1360, id = 137040736, num = 137040736}, {val = 136330072, node = 0x8203b58, ---Type to continue, or q to quit--- id = 136330072, num = 136330072}, {val = 135569188, node = 0x8149f24, id = 135569188, num = 135569188}, {val = 136393360, node = 0x8213290, id = 136393360, num = 136393360}, { val = 136550440, node = 0x8239828, id = 136550440, num = 136550440}, {val = 2, node = 0x2, id = 2, num = 2}, {val = 2, node = 0x2, id = 2, num = 2}, {val = 136330240, node = 0x8203c00, id = 136330240, num = 136330240}, {val = 0, node = 0x0, id = 0, num = 0}, {val = 3084345404, node = 0xb7d7603c, id = 3084345404, num = -1210621892}, {val = 3084345404, node = 0xb7d7603c, id = 3084345404, num = -1210621892}, {val = 1, node = 0x1, id = 1, num = 1}, {val = 3086922597, node = 0xb7feb365, id = 3086922597, num = -1208044699}, { val = 0, node = 0x0, id = 0, num = 0}, {val = 136330012, node = 0x8203b1c, id = 136330012, num = 136330012}, {val = 0, node = 0x0, id = 0, num = 0}, {val = 135968849, node = 0x81ab851, id = 135968849, num = 135968849}, {val = 1, node = 0x1, id = 1, num = 1}, {val = 135241775, node = 0x80fa02f, id = 135241775, num = 135241775}, {val = 136676752, node = 0x8258590, id = 136676752, num = 136676752}, {val = 0, node = 0x0, id = 0, num = 0}, {val = 136593940, node = 0x8244214, id = 136593940, num = 136593940}, {val = 0, node = 0x0, id = 0, num = 0}, {val = 3086991092, node = 0xb7ffbef4, id = 3086991092, num = -1207976204}, {val = 136330060, node = 0x8203b4c, id = 136330060, num = 136330060}, { val = 0, node = 0x0, id = 0, num = 0}, {val = 3084869420, node = 0xb7df5f2c, id = 3084869420, num = -1210097876}, {val = 3084869376, node = 0xb7df5f00, id = 3084869376, num = -1210097920}, {val = 0, node = 0x0, id = 0, num = 0}, {val = 8, node = 0x8, id = 8, num = 8}, {val = 136393360, node = 0x8213290, id = 136393360, num = 136393360}, { val = 136550440, node = 0x8239828, id = 136550440, num = 136550440}, {val = 3084869508, node = 0xb7df5f84, id = 3084869508, num = -1210097788}, {val = 136330152, node = 0x8203ba8, id = 136330152, num = 136330152}, {val = 135570442, node = 0x814a40a, id = 135570442, num = 135570442}, {val = 136393360, node = 0x8213290, id = 136393360, num = 136393360}, { val = 136550440, node = 0x8239828, id = 136550440, num = 136550440}, {val = 2863, node = 0xb2f, id = 2863, num = 2863}, {val = 2, node = 0x2, id = 2, num = 2}, { val = 136330240, node = 0x8203c00, id = 136330240, num = 136330240}, {val = 136676696, node = 0x8258558, id = 136676696, num = 136676696}, {val = 136330336, node = 0x8203c60, id = 136330336, num = 136330336}, {val = 3087005720, node = 0xb7fff818, id = 3087005720, num = -1207961576}, {val = 136593940, node = 0x8244214, id = 136593940, num = 136593940}, { val = 136676696, node = 0x8258558, id = 136676696, num = 136676696}, {val = 136360328, node = 0x820b188, id = 136360328, num = 136360328}, {val = 136393360, node = 0x8213290, id = 136393360, num = 136393360}, {val = 2863, node = 0xb2f, id = 2863, num = 2863}, { val = 8, node = 0x8, id = 8, num = 8}, {val = 0, node = 0x0, id = 0, num = 0}, { val = 3084878136, node = 0xb7df8138, id = 3084878136, num = -1210089160}, {val = 5, node = 0x5, id = 5, num = 5}, {val = 136550440, node = 0x8239828, id = 136550440, num = 136550440}, {val = 136330200, node = 0x8203bd8, id = 136330200, num = 136330200}, { val = 135570501, node = 0x814a445, id = 135570501, num = 135570501}, {val = 136550440, node = 0x8239828, id = 136550440, num = 136550440}, {val = 2863, node = 0xb2f, id = 2863, num = 2863}, {val = 2, node = 0x2, id = 2, num = 2}, {val = 136330240, node = 0x8203c00, id = 136330240, num = 136330240}, {val = 1, node = 0x1, id = 1, num = 1}, {val = 6, node = 0x6, id = 6, num = 6}, {val = 0, node = 0x0, id = 0, num = 0}, {val = 3087005280, node = 0xb7fff660, id = 3087005280, num = -1207962016}, {val = 0, node = 0x0, id = 0, num = 0}, {val = 136330336, node = 0x8203c60, id = 136330336, num = 136330336}, { val = 136330296, node = 0x8203c38, id = 136330296, num = 136330296}, {val = 135571700, node = 0x814a8f4, id = 135571700, num = 135571700}, {val = 136550440, node = 0x8239828, id = 136550440, num = 136550440}, {val = 2863, node = 0xb2f, id = 2863, num = 2863}, { val = 2, node = 0x2, id = 2, num = 2}, {val = 136330240, node = 0x8203c00, id = 136330240, num = 136330240}, {val = 1, node = 0x1, id = 1, num = 1}, {val = 4, node = 0x4, id = 4, num = 4}, {val = 136330264, node = 0x8203c18, id = 136330264, num = 136330264}, { val = 136351724, node = 0x8208fec, id = 136351724, num = 136351724}, {val = 323598, node = 0x4f00e, id = 323598, num = 323598}, {val = 0, node = 0x0, id = 0, num = 0}, { val = 136330296, node = 0x8203c38, id = 136330296, num = 136330296}, {val = 135563461, node = 0x81488c5, id = 135563461, num = 135563461}, {val = 136590280, node = 0x82433c8, id = 136590280, num = 136590280}, {val = 1264, node = 0x4f0, id = 1264, num = 1264}, { val = 3086070978, node = 0xb7f1b4c2, id = 3086070978, num = -1208896318}, { val = 3086205868, node = 0xb7f3c3ac, id = 3086205868, num = -1208761428}, { val = 3086662295, node = 0xb7faba97, id = 3086662295, num = -1208305001}, { ---Type to continue, or q to quit--- val = 3086205868, node = 0xb7f3c3ac, id = 3086205868, num = -1208761428}, { val = 3086205824, node = 0xb7f3c380, id = 3086205824, num = -1208761472}, {val = 0, node = 0x0, id = 0, num = 0}, {val = 3086662295, node = 0xb7faba97, id = 3086662295, num = -1208305001}, {val = 3086205872, node = 0xb7f3c3b0, id = 3086205872, num = -1208761424}, {val = 3086667417, node = 0xb7face99, id = 3086667417, num = -1208299879}, {val = 3086205824, node = 0xb7f3c380, id = 3086205824, num = -1208761472}, {val = 137040736, node = 0x82b1360, id = 137040736, num = 137040736}, { val = 136330416, node = 0x8203cb0, id = 136330416, num = 136330416}, {val = 0, node = 0x0, id = 0, num = 0}, {val = 136550440, node = 0x8239828, id = 136550440, num = 136550440}, { val = 3084869508, node = 0xb7df5f84, id = 3084869508, num = -1210097788}, {val = 137040736, node = 0x82b1360, id = 137040736, num = 137040736}, {val = 136330376, node = 0x8203c88, id = 136330376, num = 136330376}, {val = 135598333, node = 0x81510fd, id = 135598333, num = 135598333}, {val = 136393516, node = 0x821332c, id = 136393516, num = 136393516}} yyvs = 0x8203944 yyvsp = 0x820398c yystacksize = 200 yyn = 313 yyresult = 136603800 yytoken = 10 yyval = {val = 6, node = 0x6, id = 6, num = 6} yymsgbuf = '\000' , "l\022+\b\020\026\a\bH\233#\b\000\000\000\000l\022+\b\020\026\a\b\f\233#\b\000\000\000\000\024\000\000\000\020\026\a\b \233#\b\000\000\000\000\024\000\000\000\f\233#\b\360\064!\b8\234#\bX9 \b\203\026\a\b\360\064!\b\000\000\000\000h9 \b\203\026\a\b" yymsg = 0x82038c0 "" yymsg_alloc = 128 yylen = 9 #9 0x080abf83 in yycompile0 (arg=137082016, tracing=0) at parse.y:5009 n = 136331280 tree = 0xb7f3c3c8 parser = 0x82bb4a0 #10 0x0815641c in ruby_suppress_tracing (func=0x80abe80 , arg=137082016, always=1) at thread.c:4031 _th = 0x8213290 _tag = {buf = {{__jmpbuf = {136550440, -1210097788, 137040736, 136331256, -858214664, -1502679816}, __mask_was_saved = 0, __saved_mask = {__val = {137040736, 136331128, 3085340191, 136331128, 136393360, 136550440, 3084869508, 136331192, 136550440, 3084869508, 137040736, 136331176, 134679951, 42, 136821896, 20, 136550480, 136569860, 136821896, 136353776, 137082328, 6216, 8, 136331208, 134680280, 136393968, 42, 136331240, 135570501, 136550480, 6216, 137040736}}}}, tag = 0, retval = 137082328, prev = 0x82040ec} th = 0x8213290 state = 0 tracing = 0 raised = 0 result = 4 #11 0x080ac0d5 in yycompile (parser=0x82bb4a0, f=0x82bb428 "/home/sun/app/ruby/lib/ruby/1.9.1/date.rb", line=1) at parse.y:5035 No locals. #12 0x080ac4fa in rb_parser_compile_file (vparser=136550500, f=0x82bb428 "/home/sun/app/ruby/lib/ruby/1.9.1/date.rb", file=136550480, start=1) at parse.y:5164 parser = 0x82bb4a0 tmp = 136331364 node = 0x2 #13 0x080f0ba7 in load_file_internal (arg=136331712) at ruby.c:1582 argp = 0x82041c0 parser = 136550500 fname = 0x82bb428 "/home/sun/app/ruby/lib/ruby/1.9.1/date.rb" script = 0 ---Type to continue, or q to quit--- opt = 0x82041f8 f = 136550480 line_start = 1 tree = 0x0 enc = 0x8246898 set_encoding = 6216 #14 0x080644f9 in rb_ensure (b_proc=0x80f05f7 , data1=136331712, e_proc=0x80f0c36 , data2=1) at eval.c:695 _th = 0x8213290 _tag = {buf = {{__jmpbuf = {135203894, -1210097788, 137040736, 136331688, -869839112, -2144393992}, __mask_was_saved = 0, __saved_mask = {__val = {136331560, 134966724, 135912338, 2, 136331592, 135234776, 6347, 0, 136331592, 134966758, 135912338, 6347, 0, 136550500, 136331768, 136568020, 136331640, 135427485, 6347, 136336424, 136828320, 72, 0, 136828304, 136828304, 136828320, 137081936, 136331768, 136331688, 135427854, 136828304, 0}}}}, tag = 0, retval = 0, prev = 0x8204274} state = 0 result = 4 #15 0x080f0c9d in load_file (parser=136550500, fname=0x82bb428 "/home/sun/app/ruby/lib/ruby/1.9.1/date.rb", script=0, opt=0x82041f8) at ruby.c:1610 arg = {parser = 136550500, fname = 0x82bb428 "/home/sun/app/ruby/lib/ruby/1.9.1/date.rb", script = 0, opt = 0x82041f8} #16 0x080f0cd7 in rb_load_file (fname=0x82bb428 "/home/sun/app/ruby/lib/ruby/1.9.1/date.rb") at ruby.c:1618 opt = {sflag = 0, xflag = 0, do_loop = 0, do_print = 0, do_line = 0, do_split = 0, do_search = 0, disable = 0, verbose = 0, safe_level = 0, setids = 0, dump = 0, script = 0x0, script_name = 0, e_script = 0, src = {enc = {name = 0, index = -1}}, ext = {enc = {name = 0, index = -1}}, intern = {enc = {name = 0, index = -1}}, req_list = 0} #17 0x080659a9 in rb_load_internal (fname=136550700, wrap=0) at load.c:289 node = 0x8239878 iseq = 137027312 _th = 0x8213290 _tag = {buf = {{__jmpbuf = {136332384, -1210097788, 137040736, 136332104, -870174984, -2146162440}, __mask_was_saved = 0, __saved_mask = {__val = {24, 136331960, 135240468, 129642000, 3924919611, 16, 136332008, 137081984, 137039840, 98, 136331992, 134680280, 136393968, 24, 2369585980, 135615477, 0, 137027312, 136332056, 135235937, 24, 136332384, 136332056, 135615515, 129642000, 4, 42, 137081984, 137081896, 129642000, 137039800, 136332384}}}}, tag = 0, retval = 137040736, prev = 0x8204378} state = 0 th = 0x8213290 wrapper = 0 self = 136591700 loaded = 0 mild_compile_error = 0 #18 0x080664bf in rb_require_safe (fname=136550940, safe=0) at load.c:582 path = 136550700 handle = 1 found = 114 _th = 0x8213290 _tag = {buf = {{__jmpbuf = {136335472, -1210097788, 137040736, 136332376, -870297864, -2141119240}, __mask_was_saved = 0, __saved_mask = {__val = {0, 1, 136393360, 136335472, 3084869508, 136332280, 135570442, 136393360, 136568440, 5752, 1, 3084345380, 136813648, 36, 135571748, 136569860, 136813648, 136353056, 136393360, 5752, 8, 3085304102, 36, 3086202048, 136335472, 136332328, 135570501, 136568440, 5752, 1, 3084345380, 1}}}}, tag = 0, retval = 136332336, prev = 0x8204d38} result = 4 th = 0x8213290 errinfo = 4 state = 0 ---Type to continue, or q to quit--- saved = {safe = 0} ftptr = 0x82b0fb8 "/home/sun/app/ruby/lib/ruby/1.9.1/date.rb" #19 0x08065d59 in rb_f_require (obj=136591700, fname=136550960) at load.c:439 No locals. #20 0x0813ee9b in call_cfunc (func=0x8065d3f , recv=136591700, len=1, argc=1, argv=0xb7d76024) at vm_insnhelper.c:292 No locals. #21 0x0813f832 in vm_call_cfunc (th=0x8213290, reg_cfp=0xb7df5f84, num=1, recv=136591700, blockptr=0x0, flag=8, me=0x8291058) at vm_insnhelper.c:386 cfp = 0xb7df5f58 _th = 0x8213290 _tag = {buf = {{__jmpbuf = {760, 136332824, 134680367, 136393968, 103, 136332824}, __mask_was_saved = 135255526, __saved_mask = {__val = {136551000, 136551020, 136584860, 103, 136584860, 760, 136332888, 135262636, 137038364, 136551028, 1, 136393360, 136335472, 3084869508, 136332904, 135234776, 8456, 137038304, 0, 0, 0, 8456, 20, 0, 136335472, 3084869508, 136332952, 135562233, 136609856, 8456, 136332940, 2}}}}, tag = 0, retval = 1048576, prev = 0x8204d38} val = 0 state = 0 def = 0x8291090 klass = 136593940 id = 8456 #22 0x0813fd3d in vm_call_method (th=0x8213290, cfp=0xb7df5f84, num=1, blockptr=0x0, flag=8, id=8456, me=0x8291058, recv=136591700) at vm_insnhelper.c:511 val = 136551780 #23 0x08144196 in vm_exec_core (th=0x8213290, initial=0) at insns.def:994 v = 4 me = 0x8291058 recv = 136591700 flag = 8 klass = 136591680 blockptr = 0x0 num = 1 id = 8456 val = 4 ic = 0x82b04d0 blockiseq = 0x0 op_argc = 1 op_id = 8456 op_flag = 8 reg_pc = 0x82b1360 reg_cfp = 0xb7df5f84 insns_address_table = {0x8141f0c, 0x8141f1f, 0x8141f97, 0x8141ff2, 0x814208b, 0x81420f3, 0x81421b4, 0x8142257, 0x81422e9, 0x8142361, 0x814240a, 0x8142499, 0x814254a, 0x81425dc, 0x814264e, 0x81426a6, 0x8142701, 0x814275d, 0x81427bb, 0x814286b, 0x81428d8, 0x814294a, 0x8142a2e, 0x8142ab0, 0x8142bd2, 0x8142c72, 0x8142ce4, 0x8142d59, 0x8142ec5, 0x8142f90, 0x81431d0, 0x81432c8, 0x814337b, 0x81433ae, 0x814344e, 0x81434e3, 0x814357b, 0x81435e9, 0x8143661, 0x81436f7, 0x8143731, 0x8143b75, 0x8143c00, 0x8144030, 0x814420c, 0x81443e2, 0x8144498, 0x814458b, 0x81445cf, 0x8144658, 0x81446a6, 0x814471e, 0x8144796, 0x814483c, 0x81448ea, 0x81449d3, 0x8144afe, 0x8144b4d, 0x8144e9e, 0x8145160, 0x8145450, 0x81457d7, 0x8145be2, 0x8145d7b, 0x8145f9c, 0x8146236, 0x8146406, 0x81466a0, 0x8146870, 0x8146a87, 0x8146c9b, 0x8146eff, 0x8147186, 0x81473c2, 0x81475d4, 0x8147742, 0x81477c9, 0x814788a, 0x81478ed, 0x8147952} #24 0x0814e674 in vm_exec (th=0x8213290) at vm.c:1117 _th = 0x8213290 _tag = {buf = {{__jmpbuf = {136335472, 0, 0, 136334904, -868421896, -1519756040}, __mask_was_saved = 0, __saved_mask = {__val = {137038208, 136334744, 135504907, 1, 0, 136334744, 135503935, 137038208, 136334752, 136334792, 135443162, 137038056, ---Type to continue, or q to quit--- 136334752, 0, 0, 136334776, 3085340191, 136334792, 135505861, 137038208, 137038316, 0, 137039760, 136334752, 3084869552, 1, 136334824, 135579190, 136393360, 0, 81, 4}}}}, tag = 0, retval = 4, prev = 0x8204e84} state = 0 result = 1 err = 136334904 initial = 0 escape_dfp = 0x0 #25 0x0814ecb6 in rb_iseq_eval (iseqval=136551660) at vm.c:1327 th = 0x8213290 val = 0 tmp = 3 #26 0x08065a08 in rb_load_internal (fname=136552920, wrap=0) at load.c:293 node = 0x8239d14 iseq = 136551660 _th = 0x8213290 _tag = {buf = {{__jmpbuf = {136335472, 0, 0, 136335192, -868610312, -2146162440}, __mask_was_saved = 0, __saved_mask = {__val = {24, 136335048, 135240468, 372735741, 4082522556, 16, 136335096, 137027536, 137027428, 0, 136335080, 134680280, 136393968, 24, 1273695967, 135615477, 0, 137027312, 136335144, 135235937, 24, 11, 136335144, 135615515, 372735741, 4, 37, 137027536, 135917544, 137023241, 137027392, 136392712}}}}, tag = 0, retval = 0, prev = 0x8204f88} state = 0 th = 0x8213290 wrapper = 0 self = 136591700 loaded = 1 mild_compile_error = 0 #27 0x080664bf in rb_require_safe (fname=136553280, safe=0) at load.c:582 path = 136552920 handle = 135801851 found = 114 _th = 0x8213290 _tag = {buf = {{__jmpbuf = {136323376, 0, 0, 136335464, -868733192, -2141119240}, __mask_was_saved = 0, __saved_mask = {__val = {0, 136335320, 134682243, 136393968, 0, 0, 0, 0, 0, 136393360, 136393968, 0, 0, 136335352, 135243911, 0, 0, 0, 136553280, 0, 0, 136335400, 135244261, 136553288, 135801851, 10, 0, 0, 136553280, 0, 10, 0}}}}, tag = 0, retval = 136335432, prev = 0x82050b4} result = 4 th = 0x8213290 errinfo = 4 state = 0 saved = {safe = 0} ftptr = 0x82adf40 "/home/sun/lab/ruby-ucontext/hello.rb" #28 0x08066613 in rb_require (fname=0x8182bfb "./hello.rb") at load.c:618 fn = 136553280 #29 0x08064429 in rb_protect (proc=0x80665bd , data=135801851, state=0x8205244) at eval.c:670 _th = 0x8213290 _tag = {buf = {{__jmpbuf = {136323376, 0, 0, 136335896, -871911688, -2144408328}, __mask_was_saved = 0, __saved_mask = {__val = {136335696, 3086922597, 0, 0, 0, 0, 6, 0, 0, 0, 0, 3084897640, 3086991092, 136335644, 24, 11229533, 3084878060, 359345080, 8, 0, 0, 5, 624, 3084878104, 3086880104, 134573205, 3084934616, 134537100, 1, 3087003588, 136335920, 3087005720}}}}, tag = 0, retval = 3086923193, prev = 0x0} result = 4 status = 0 th = 0x8213290 cfp = 0xb7df5fdc ---Type to continue, or q to quit--- trap_tag = {prev = 0x0} org_jmpbuf = {{__jmpbuf = {0, 0, 0, 0, 0, 0}, __mask_was_saved = 0, __saved_mask = {__val = { 0 }}}} #30 0x0805d09f in ruby_context_body_require (file=0x8182bfb "./hello.rb") at main.c:38 error = -1210091840 result = 3086202048 #31 0x0805d211 in ruby_context_body () at main.c:78 i = 3 #32 0xb7e3303b in makecontext () from /lib/libc.so.6 No symbol table info available. #33 0x08203140 in ?? () No symbol table info available. #34 0x00000000 in ?? () No symbol table info available. ---------------------------------------- http://redmine.ruby-lang.org/issues/show/2258 ---------------------------------------- http://redmine.ruby-lang.org