Report abuse

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
gauss:rubinius brian$ gdb --args vm/vm mspec/bin/mspec-ci --profile
GNU gdb 6.3.50-20050815 (Apple version gdb-962) (Sat Jul 26 08:14:40 UTC 2008)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-apple-darwin"...Reading symbols for shared libraries .... done

(gdb) r
Starting program: /Users/brian/devel/rubinius/vm/vm mspec/bin/mspec-ci --profile
Reading symbols for shared libraries +++. done
Assertion failed: (!call_frame->top_scope->method()->name()->nil_p()), function under_call_frame, file vm/builtin/block_environment.cpp, line 299.

Program received signal SIGABRT, Aborted.
0x94301e42 in __kill ()
(gdb) fr 5
#5  0x000cbf6d in rubinius::BlockEnvironment::under_call_frame (state=0x4001c0, cm=0x133ead0, caller=0x18609d0, call_frame=0xbff9c760, index=2) at vm/builtin/block_environment.cpp:299
299         assert(!call_frame->top_scope->method()->name()->nil_p());
(gdb) l
294           }
295           caller->blocks[index] = vmm;
296         }
297
298         be->scope(state, call_frame->scope);
299         assert(!call_frame->top_scope->method()->name()->nil_p());
300         be->top_scope(state, call_frame->top_scope);
301         be->method(state, cm);
302         be->local_count(state, cm->local_count());
303         be->name(state, call_frame->name);
(gdb) rp call_frame->name
:__metaclass_init__
$1 = void
(gdb) rp top_scope->method()
Attempt to extract a component of a value that is not a struct or union
(gdb) rp top_scope_->method()
No symbol "top_scope_" in current context.
(gdb) rp call_frame->top_scope          
#<VariableScope:0x151e928>
$2 = void
(gdb) rp call_frame->top_scope->method()
#<CompiledMethod:0x133ea80>
  exceptions: #<Tuple:0x1384980>
  file: :/Users/brian/devel/rubinius/lib/fileutils.rb
  iseq: #<InstructionSequence:0x138496c>
  lines: #<Tuple:0x1384990>: 5
    0
    1533
    1
    1534
    12
  >
  literals: #<Tuple:0x13849c8>: 4
    :FileUtils
    :METHODS
    #<CompiledMethod:0x133ead0>
    #<SendSite:0x13606b4>
  >
  local_count: 1
  local_names: #<Tuple:0x13849b4>: 1
    :@lre
  >
  name: nil
  required_args: 0
  scope: #<StaticScope:0x151e910>
  splat: nil
  stack_size: 3
  total_args: 0
>
$3 = void