Skip to content

Instantly share code, notes, and snippets.

@anlek
Created July 23, 2010 19:30
Show Gist options
  • Save anlek/487924 to your computer and use it in GitHub Desktop.
Save anlek/487924 to your computer and use it in GitHub Desktop.
Error that is killing my ruby process using Mogoid and embedded documents
Loading development environment (Rails 3.0.0.beta4)
>> p = Product.first
=> #<Product _id: 4c49f114b57f98927c000001, name: "test", created_at: Fri Jul 23 19:44:22 UTC 2010, updated_at: Fri Jul 23 19:44:22 UTC 2010>
>> pu = Purchaser.new(:name => 'bob')
=> #<Purchaser _id: 4c49f26fb57f989391000001, name: "bob">
>> p.purchasers << pu
=> [#<Purchaser _id: 4c49f26fb57f989391000001, name: "bob">]
>> p.save
src/tcmalloc.cc:353] Attempt to free invalid pointer: 0x225330
class Product
include Mongoid::Document
include Mongoid::Timestamps
field :name, :type => String
embeds_many :purchasers
end
class Purchaser
include Mongoid::Document
field :name, :type => String
embedded_in :product, :inverse_of => :purchasers
end
Process: ruby [36658]
Path: /Users/andrew/.rvm/rubies/ree-1.8.7-2010.02/bin/ruby
Identifier: ruby
Version: ??? (???)
Code Type: X86 (Native)
Parent Process: zsh [34860]
Date/Time: 2010-07-23 15:21:11.433 -0400
OS Version: Mac OS X 10.5.8 (9L30)
Report Version: 6
Anonymous UUID: 4C3D8AA0-D7D3-4C3C-8899-D8708102C22D
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Crashed Thread: 0
Thread 0 Crashed:
0 libSystem.B.dylib 0x97472e42 __kill + 10
1 libSystem.B.dylib 0x974e523a raise + 26
2 libSystem.B.dylib 0x974f1679 abort + 73
3 libtcmalloc_minimal.0.dylib 0x00113f72 TCMalloc_CRASH_internal(bool, char const*, int, char const*, char*) + 114
4 libtcmalloc_minimal.0.dylib 0x00114048 TCMalloc_CrashReporter::PrintfAndDie(char const*, ...) + 40
5 libtcmalloc_minimal.0.dylib 0x0011040d (anonymous namespace)::InvalidFree(void*) + 61 (tcmalloc.cc:354)
6 cbson.bundle 0x0139cdc4 write_element + 3316 (cbson.c:301)
7 ruby 0x0003f7eb hash_foreach_iter + 59
8 ruby 0x000909e1 st_foreach + 81 (st.c:488)
9 ruby 0x0003f91b hash_foreach_call + 43
10 ruby 0x0001b209 rb_ensure + 185
11 ruby 0x0003f995 rb_hash_foreach + 69
12 cbson.bundle 0x0139d541 write_doc + 449 (cbson.c:565)
13 cbson.bundle 0x0139c6c5 write_element + 1525 (cbson.c:281)
14 ruby 0x0003f7eb hash_foreach_iter + 59
15 ruby 0x000909e1 st_foreach + 81 (st.c:488)
16 ruby 0x0003f91b hash_foreach_call + 43
17 ruby 0x0001b209 rb_ensure + 185
18 ruby 0x0003f995 rb_hash_foreach + 69
19 cbson.bundle 0x0139d541 write_doc + 449 (cbson.c:565)
20 cbson.bundle 0x0139d7d3 method_serialize + 51 (cbson.c:590)
21 ruby 0x0001b605 call_cfunc + 741
22 ruby 0x00022c1e rb_call0 + 462
23 ruby 0x0002390c rb_call + 284
24 ruby 0x0003012c eval_call + 316
25 ruby 0x0003017b eval_call + 395
26 ruby 0x00023581 rb_call0 + 2865
27 ruby 0x0002390c rb_call + 284
28 ruby 0x0003012c eval_call + 316
29 ruby 0x00030045 eval_call + 85
30 ruby 0x0003017b eval_call + 395
31 ruby 0x00021d02 rb_eval + 514
32 ruby 0x00023581 rb_call0 + 2865
33 ruby 0x0002390c rb_call + 284
34 ruby 0x000240ec rb_f_send + 172
35 ruby 0x0001b665 call_cfunc + 837
36 ruby 0x00022c1e rb_call0 + 462
37 ruby 0x0002390c rb_call + 284
38 ruby 0x0003012c eval_call + 316
39 ruby 0x000287be rb_yield_0 + 1662
40 ruby 0x000290ce proc_invoke + 1102
41 ruby 0x00022e63 rb_call0 + 1043
42 ruby 0x0002390c rb_call + 284
43 ruby 0x000240ec rb_f_send + 172
44 ruby 0x0001b665 call_cfunc + 837
45 ruby 0x00022c1e rb_call0 + 462
46 ruby 0x0002390c rb_call + 284
47 ruby 0x0003012c eval_call + 316
48 ruby 0x000287be rb_yield_0 + 1662
49 ruby 0x000290ce proc_invoke + 1102
50 ruby 0x00022e63 rb_call0 + 1043
51 ruby 0x0002390c rb_call + 284
52 ruby 0x0003012c eval_call + 316
53 ruby 0x00021d02 rb_eval + 514
54 ruby 0x00021d02 rb_eval + 514
55 ruby 0x00023581 rb_call0 + 2865
56 ruby 0x0002390c rb_call + 284
57 ruby 0x0002235c rb_eval + 2140
58 ruby 0x0002229b rb_eval + 1947
59 ruby 0x000287be rb_yield_0 + 1662
60 ruby 0x00022154 rb_eval + 1620
61 ruby 0x0002253a rb_eval + 2618
62 ruby 0x00021d02 rb_eval + 514
63 ruby 0x00023581 rb_call0 + 2865
64 ruby 0x0002390c rb_call + 284
65 ruby 0x000240ec rb_f_send + 172
66 ruby 0x0001b665 call_cfunc + 837
67 ruby 0x00022c1e rb_call0 + 462
68 ruby 0x0002390c rb_call + 284
69 ruby 0x0003039c eval_fcall + 300
70 ruby 0x0002f1cd block_pass + 829
71 ruby 0x00023581 rb_call0 + 2865
72 ruby 0x0002390c rb_call + 284
73 ruby 0x0003012c eval_call + 316
74 ruby 0x0002f607 eval_iter + 839
75 ruby 0x000287be rb_yield_0 + 1662
76 ruby 0x00022154 rb_eval + 1620
77 ruby 0x0002253a rb_eval + 2618
78 ruby 0x00021d02 rb_eval + 514
79 ruby 0x00023581 rb_call0 + 2865
80 ruby 0x0002390c rb_call + 284
81 ruby 0x000240ec rb_f_send + 172
82 ruby 0x0001b665 call_cfunc + 837
83 ruby 0x00022c1e rb_call0 + 462
84 ruby 0x0002390c rb_call + 284
85 ruby 0x0003039c eval_fcall + 300
86 ruby 0x0002f1cd block_pass + 829
87 ruby 0x00023581 rb_call0 + 2865
88 ruby 0x0002390c rb_call + 284
89 ruby 0x0003012c eval_call + 316
90 ruby 0x0002f607 eval_iter + 839
91 ruby 0x00021d02 rb_eval + 514
92 ruby 0x00023581 rb_call0 + 2865
93 ruby 0x0002390c rb_call + 284
94 ruby 0x0003012c eval_call + 316
95 ruby 0x00023581 rb_call0 + 2865
96 ruby 0x0002390c rb_call + 284
97 ruby 0x0003039c eval_fcall + 300
98 ruby 0x00023581 rb_call0 + 2865
99 ruby 0x0002390c rb_call + 284
100 ruby 0x0003012c eval_call + 316
101 ruby 0x00032a1a eval + 1082
102 ruby 0x00032f06 rb_f_eval + 230
103 ruby 0x0001b665 call_cfunc + 837
104 ruby 0x00022c1e rb_call0 + 462
105 ruby 0x0002390c rb_call + 284
106 ruby 0x0003039c eval_fcall + 300
107 ruby 0x00023581 rb_call0 + 2865
108 ruby 0x0002390c rb_call + 284
109 ruby 0x0003012c eval_call + 316
110 ruby 0x000303eb eval_fcall + 379
111 ruby 0x00023581 rb_call0 + 2865
112 ruby 0x0002390c rb_call + 284
113 ruby 0x0003012c eval_call + 316
114 ruby 0x00021d02 rb_eval + 514
115 ruby 0x0002fa1e eval_rescue + 318
116 ruby 0x000226aa rb_eval + 2986
117 ruby 0x00021d02 rb_eval + 514
118 ruby 0x000287be rb_yield_0 + 1662
119 ruby 0x00022154 rb_eval + 1620
120 ruby 0x0002fb94 eval_ensure + 196
121 ruby 0x00023581 rb_call0 + 2865
122 ruby 0x0002390c rb_call + 284
123 ruby 0x0003039c eval_fcall + 300
124 ruby 0x0002f607 eval_iter + 839
125 ruby 0x000287be rb_yield_0 + 1662
126 ruby 0x00022154 rb_eval + 1620
127 ruby 0x00021d02 rb_eval + 514
128 ruby 0x0002fa1e eval_rescue + 318
129 ruby 0x000226aa rb_eval + 2986
130 ruby 0x000287be rb_yield_0 + 1662
131 ruby 0x0002a93a loop_i + 90
132 ruby 0x0001ad35 rb_rescue2 + 229
133 ruby 0x0001ae37 rb_f_loop + 71
134 ruby 0x00022c1e rb_call0 + 462
135 ruby 0x0002390c rb_call + 284
136 ruby 0x0003039c eval_fcall + 300
137 ruby 0x0002f607 eval_iter + 839
138 ruby 0x000287be rb_yield_0 + 1662
139 ruby 0x00029851 rb_f_catch + 241
140 ruby 0x00022c1e rb_call0 + 462
141 ruby 0x0002390c rb_call + 284
142 ruby 0x0003039c eval_fcall + 300
143 ruby 0x0002f607 eval_iter + 839
144 ruby 0x00023581 rb_call0 + 2865
145 ruby 0x0002390c rb_call + 284
146 ruby 0x0003012c eval_call + 316
147 ruby 0x0002f607 eval_iter + 839
148 ruby 0x00023581 rb_call0 + 2865
149 ruby 0x0002390c rb_call + 284
150 ruby 0x0003012c eval_call + 316
151 ruby 0x000287be rb_yield_0 + 1662
152 ruby 0x00029851 rb_f_catch + 241
153 ruby 0x00022c1e rb_call0 + 462
154 ruby 0x0002390c rb_call + 284
155 ruby 0x0003039c eval_fcall + 300
156 ruby 0x0002f607 eval_iter + 839
157 ruby 0x0002fb94 eval_ensure + 196
158 ruby 0x00023581 rb_call0 + 2865
159 ruby 0x0002390c rb_call + 284
160 ruby 0x0003012c eval_call + 316
161 ruby 0x00023581 rb_call0 + 2865
162 ruby 0x0002390c rb_call + 284
163 ruby 0x0003012c eval_call + 316
164 ruby 0x00023581 rb_call0 + 2865
165 ruby 0x0002390c rb_call + 284
166 ruby 0x0003012c eval_call + 316
167 ruby 0x00033a31 rb_load + 1313
168 ruby 0x00033f19 rb_require_safe + 937
169 ruby 0x00022c1e rb_call0 + 462
170 ruby 0x0002390c rb_call + 284
171 ruby 0x0003039c eval_fcall + 300
172 ruby 0x00034377 ruby_exec_internal + 151
173 ruby 0x000343b6 ruby_exec + 22
174 ruby 0x000343ea ruby_run + 42
175 ruby 0x000024ed main + 45 (main.c:48)
176 ruby 0x00002486 start + 54
Thread 0 crashed with X86 Thread State (32-bit):
eax: 0x00000000 ebx: 0x974f1639 ecx: 0xbfff707c edx: 0x97472e42
edi: 0x00000000 esi: 0xbfff7110 ebp: 0xbfff7098 esp: 0xbfff707c
ss: 0x0000001f efl: 0x00000282 eip: 0x97472e42 cs: 0x00000007
ds: 0x0000001f es: 0x0000001f fs: 0x00000000 gs: 0x00000037
cr2: 0x0013821e
Binary Images:
0x1000 - 0xbcff3 +ruby ??? (???) <3282eadeb69aca69d2824bb9283e8efd> /Users/andrew/.rvm/rubies/ree-1.8.7-2010.02/bin/ruby
0x10f000 - 0x11bff6 +libtcmalloc_minimal.0.dylib ??? (???) <a3225c32849a52db13907c24371f210f> /Users/andrew/.rvm/rubies/ree-1.8.7-2010.02/lib/libtcmalloc_minimal.0.dylib
0x14a000 - 0x14afff +libsystem_allocator.dylib ??? (???) <76409c311b380a2b067566920082135b> /Users/andrew/.rvm/rubies/ree-1.8.7-2010.02/lib/libsystem_allocator.dylib
0x151000 - 0x153ffe +thread.bundle ??? (???) <a2024adf2bb7790fda424f07fc7203c7> /Users/andrew/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/i686-darwin9.8.0/thread.bundle
0x158000 - 0x158ff4 +etc.bundle ??? (???) <7c28e9d2bb9a7ca2c64da26647a77fdb> /Users/andrew/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/i686-darwin9.8.0/etc.bundle
0x15d000 - 0x164ff1 +socket.bundle ??? (???) <699e35d2144d9c3ff5f36f58a143c309> /Users/andrew/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/i686-darwin9.8.0/socket.bundle
0x16b000 - 0x16dffe +stringio.bundle ??? (???) <fbc2c00046ce55194e980e10dd778fd1> /Users/andrew/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/i686-darwin9.8.0/stringio.bundle
0x172000 - 0x172ff2 +rational.bundle ??? (???) <4fb509963854a94bf5c6f854c7668d05> /Users/andrew/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/i686-darwin9.8.0/rational.bundle
0x179000 - 0x18eff7 +syck.bundle ??? (???) <8402f6ca50cde058ccf8652535c8ce47> /Users/andrew/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/i686-darwin9.8.0/syck.bundle
0x199000 - 0x199ffd +sha1.bundle ??? (???) <ddb2637b1e0091c22a7c9e6e6c521f7a> /Users/andrew/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/i686-darwin9.8.0/digest/sha1.bundle
0x19d000 - 0x19effc +digest.bundle ??? (???) <e85242536aa06ff2a6d046c3da51ebeb> /Users/andrew/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/i686-darwin9.8.0/digest.bundle
0x1a3000 - 0x1a8ffc +zlib.bundle ??? (???) <7ea58f4ab56cb84586c746ff7fe04046> /Users/andrew/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/i686-darwin9.8.0/zlib.bundle
0x1b0000 - 0x1dbffc +openssl.bundle ??? (???) <ef1f82d3ef22a709ea212d05fa5d25f5> /Users/andrew/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/i686-darwin9.8.0/openssl.bundle
0x1f9000 - 0x1f9ff4 +fcntl.bundle ??? (???) <8fa108e3a4ed3eb4dcaff2ac594c3bac> /Users/andrew/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/i686-darwin9.8.0/fcntl.bundle
0x1358000 - 0x135affc +strscan.bundle ??? (???) <8bc193f5e7b464512330d87ededb4be9> /Users/andrew/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/i686-darwin9.8.0/strscan.bundle
0x135f000 - 0x1360ff8 +readline.bundle ??? (???) <a31d460a53e8ea9dc9bfbf2d67815a29> /Users/andrew/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/i686-darwin9.8.0/readline.bundle
0x1365000 - 0x137bfea libedit.2.dylib ??? (???) <be5a6f391887bb96bdeeafd443cf19fb> /usr/lib/libedit.2.dylib
0x1386000 - 0x138efff +bigdecimal.bundle ??? (???) <28d128ed33a6b6d145ff3a979b022add> /Users/andrew/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/i686-darwin9.8.0/bigdecimal.bundle
0x1394000 - 0x1395ff8 +iconv.bundle ??? (???) <6f8c04b22f9482bc97e25e65320822f9> /Users/andrew/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/site_ruby/1.8/i686-darwin9.8.0/iconv.bundle
0x139a000 - 0x139dfff +cbson.bundle ??? (???) <dfd0cd2b56892abcad4474bc6379051c> /Users/andrew/.rvm/gems/ree-1.8.7-2010.02/gems/bson_ext-1.0.4/ext/bson_ext/cbson.bundle
0x13a2000 - 0x13a2ffc +md5.bundle ??? (???) <8111df6d47b4ec9ec0fdab3e64e87a91> /Users/andrew/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/i686-darwin9.8.0/digest/md5.bundle
0x13a6000 - 0x13d4fe6 +nkf.bundle ??? (???) <57e63262066407fa18101f73dd1eb189> /Users/andrew/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/i686-darwin9.8.0/nkf.bundle
0x13e8000 - 0x13e9ffb +cparse.bundle ??? (???) <eceb2cab90c559c257b4f80ed654aed0> /Users/andrew/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/1.8/i686-darwin9.8.0/racc/cparse.bundle
0x8fe00000 - 0x8fe2db43 dyld 97.1 (???) <458eed38a009e5658a79579e7bc26603> /usr/lib/dyld
0x90c49000 - 0x90cfbffb libcrypto.0.9.7.dylib ??? (???) <d02f7e5b8a68813bb7a77f5edb34ff9d> /usr/lib/libcrypto.0.9.7.dylib
0x93a43000 - 0x93b37ff4 libiconv.2.dylib ??? (???) <c508c60fafca17824c0017b2e4369802> /usr/lib/libiconv.2.dylib
0x93b4c000 - 0x93b70feb libssl.0.9.7.dylib ??? (???) <5b29af782be5894be8b336c9c73c18b6> /usr/lib/libssl.0.9.7.dylib
0x94bd8000 - 0x94be6ffd libz.1.dylib ??? (???) <5ddd8539ae2ebfd8e7cc1c57525385c7> /usr/lib/libz.1.dylib
0x965cf000 - 0x9662cffb libstdc++.6.dylib ??? (???) <04b812dcec670daa8b7d2852ab14be60> /usr/lib/libstdc++.6.dylib
0x96dbf000 - 0x96deafe7 libauto.dylib ??? (???) <4f3e58cb81da07a1662c1f647ce30225> /usr/lib/libauto.dylib
0x96f39000 - 0x96f68ff7 libncurses.5.4.dylib ??? (???) <3b2ac2ca8190942b6b81d2a7012ea859> /usr/lib/libncurses.5.4.dylib
0x9704e000 - 0x97055fe9 libgcc_s.1.dylib ??? (???) <f53c808e87d1184c0f9df63aef53ce0b> /usr/lib/libgcc_s.1.dylib
0x97404000 - 0x9756bff3 libSystem.B.dylib ??? (???) <c8f52e158bf540cc000146ca8a705958> /usr/lib/libSystem.B.dylib
0x979f3000 - 0x97ad3fff libobjc.A.dylib ??? (???) <3ca288b625a47bbcfe378158e4dc328f> /usr/lib/libobjc.A.dylib
0x97b55000 - 0x97b59fff libmathCommon.A.dylib ??? (???) /usr/lib/system/libmathCommon.A.dylib
0xfffe8000 - 0xfffebfff libobjc.A.dylib ??? (???) /usr/lib/libobjc.A.dylib
0xffff0000 - 0xffff1780 libSystem.B.dylib ??? (???) /usr/lib/libSystem.B.dylib
@anlek
Copy link
Author

anlek commented Jul 23, 2010

Details for a issue reported here: http://github.com/durran/mongoid/issues/issue/208

@anlek
Copy link
Author

anlek commented Jul 26, 2010

If you get this error, it probably means you're using REE (Ruby Enterprise Edition).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment