Project

General

Profile

Actions

Bug #3057

closed

Segmentation fault: object allocation during garbage collection phase

Added by gkellogg (Gregg Kellogg) about 14 years ago. Updated over 4 years ago.

Status:
Closed
Assignee:
-
ruby -v:
ruby 1.9.1p378 (2010-01-10 revision 26273) [x86_64-darwin10]
[ruby-core:29159]

Description

=begin
Bug happens every time at current stage of development. Slight changes in run sequence cause it to crop up in a different gem.

ruby-1.9.1-p378 > Term.to_html(:graph => g)
/Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/addressable-2.1.1/lib/addressable/uri.rb:94: [BUG] Segmentation fault
ruby 1.9.1p378 (2010-01-10 revision 26273) [x86_64-darwin10]

-- control frame ----------
c:0051 p:---- s:0262 b:0262 l:000261 d:000261 CFUNC :scan
c:0050 p:0145 s:0258 b:0258 l:000257 d:000257 METHOD /Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/addressable-2.1.1/lib/addressable/uri.rb:94
c:0049 p:0118 s:0241 b:0241 l:000240 d:000240 METHOD /Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/rdf_context-0.5.1/lib/rdf_context/uriref.rb:24
c:0048 p:---- s:0235 b:0235 l:000234 d:000234 FINISH
c:0047 p:---- s:0233 b:0233 l:000232 d:000232 CFUNC :new
c:0046 p:0305 s:0229 b:0229 l:000228 d:000228 METHOD /Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/rdf_context-0.5.1/lib/rdf_context/store/abstract_sql_store.rb:874
c:0045 p:0143 s:0221 b:0221 l:000220 d:000220 METHOD /Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/rdf_context-0.5.1/lib/rdf_context/store/abstract_sql_store.rb:851
c:0044 p:0015 s:0198 b:0198 l:000f98 d:000197 BLOCK /Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/rdf_context-0.5.1/lib/rdf_context/store/abstract_sql_store.rb:252
c:0043 p:0036 s:0191 b:0191 l:000166 d:000190 BLOCK /Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/rdf_context-0.5.1/lib/rdf_context/store/sqlite3_store.rb:171
c:0042 p:0008 s:0188 b:0188 l:000171 d:000187 BLOCK /Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/sqlite3-ruby-1.2.5/lib/sqlite3/database.rb:190
c:0041 p:0017 s:0185 b:0185 l:000184 d:000184 METHOD /Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/sqlite3-ruby-1.2.5/lib/sqlite3/resultset.rb:152
c:0040 p:0039 s:0181 b:0181 l:000171 d:000180 BLOCK /Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/sqlite3-ruby-1.2.5/lib/sqlite3/database.rb:190
c:0039 p:0037 s:0177 b:0177 l:000176 d:000176 METHOD /Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/sqlite3-ruby-1.2.5/lib/sqlite3/database.rb:163
c:0038 p:0013 s:0172 b:0172 l:000171 d:000171 METHOD /Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/sqlite3-ruby-1.2.5/lib/sqlite3/database.rb:187
c:0037 p:0113 s:0167 b:0167 l:000166 d:000166 METHOD /Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/rdf_context-0.5.1/lib/rdf_context/store/sqlite3_store.rb:169
c:0036 p:0764 s:0160 b:0160 l:000f98 d:000f98 METHOD /Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/rdf_context-0.5.1/lib/rdf_context/store/abstract_sql_store.rb:251
c:0035 p:0035 s:0149 b:0149 l:000148 d:000148 METHOD /Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/rdf_context-0.5.1/lib/rdf_context/conjunctive_graph.rb:42
c:0034 p:0113 s:0144 b:0141 l:000140 d:000140 METHOD /Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/rdf_context-0.5.1/lib/rdf_context/graph.rb:338
c:0033 p:0079 s:0135 b:0132 l:000131 d:000131 METHOD /Users/gregg/Projects/cmx/lib/cmx/resource.rb:61
c:0032 p:0074 s:0127 b:0127 l:000126 d:000126 METHOD /Users/gregg/Projects/cmx/lib/cmx/term.rb:29
c:0031 p:0045 s:0123 b:0123 l:000122 d:000122 METHOD /Users/gregg/Projects/cmx/lib/cmx/term_serializer.rb:135
c:0030 p:0027 s:0110 b:0110 l:000089 d:000109 BLOCK /Users/gregg/Projects/cmx/lib/cmx/term_serializer.rb:407
c:0029 p:---- s:0106 b:0106 l:000105 d:000105 FINISH
c:0028 p:---- s:0104 b:0104 l:000103 d:000103 CFUNC :each
c:0027 p:0231 s:0101 b:0101 l:000089 d:000100 BLOCK /Users/gregg/Projects/cmx/lib/cmx/term_serializer.rb:406
c:0026 p:---- s:0095 b:0095 l:000094 d:000094 FINISH
c:0025 p:---- s:0093 b:0093 l:000092 d:000092 CFUNC :each_pair
c:0024 p:0124 s:0090 b:0090 l:000089 d:000089 METHOD /Users/gregg/Projects/cmx/lib/cmx/term_serializer.rb:379
c:0023 p:0022 s:0082 b:0082 l:000428 d:000081 EVAL (irb):5
c:0022 p:---- s:0080 b:0080 l:000079 d:000079 FINISH
c:0021 p:---- s:0078 b:0078 l:000077 d:000077 CFUNC :eval
c:0020 p:0027 s:0071 b:0071 l:000070 d:000070 METHOD /Users/gregg/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/irb/workspace.rb:80
c:0019 p:0031 s:0064 b:0063 l:000062 d:000062 METHOD /Users/gregg/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/irb/context.rb:218
c:0018 p:0030 s:0058 b:0058 l:0008a8 d:000057 BLOCK /Users/gregg/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/irb.rb:157
c:0017 p:0039 s:0050 b:0050 l:000049 d:000049 METHOD /Users/gregg/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/irb.rb:271
c:0016 p:0011 s:0045 b:0045 l:0008a8 d:000044 BLOCK /Users/gregg/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/irb.rb:154
c:0015 p:0132 s:0041 b:0041 l:000024 d:000040 BLOCK /Users/gregg/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/irb/ruby-lex.rb:244
c:0014 p:---- s:0038 b:0038 l:000037 d:000037 FINISH
c:0013 p:---- s:0036 b:0036 l:000035 d:000035 CFUNC :loop
c:0012 p:0009 s:0033 b:0033 l:000024 d:000032 BLOCK /Users/gregg/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/irb/ruby-lex.rb:230
c:0011 p:---- s:0031 b:0031 l:000030 d:000030 FINISH
c:0010 p:---- s:0029 b:0029 l:000028 d:000028 CFUNC :catch
c:0009 p:0023 s:0025 b:0025 l:000024 d:000024 METHOD /Users/gregg/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/irb/ruby-lex.rb:229
c:0008 p:0042 s:0022 b:0022 l:0008a8 d:0008a8 METHOD /Users/gregg/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/irb.rb:153
c:0007 p:0011 s:0019 b:0019 l:000cd8 d:000018 BLOCK /Users/gregg/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/irb.rb:70
c:0006 p:---- s:0017 b:0017 l:000016 d:000016 FINISH
c:0005 p:---- s:0015 b:0015 l:000014 d:000014 CFUNC :catch
c:0004 p:0174 s:0011 b:0011 l:000cd8 d:000cd8 METHOD /Users/gregg/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/irb.rb:69
c:0003 p:0172 s:0006 b:0006 l:001b38 d:000948 EVAL /Users/gregg/.rvm/rubies/ruby-1.9.1-p378/bin/irb:17
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:001b38 d:001b38 TOP

/Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/addressable-2.1.1/lib/addressable/uri.rb:94: [BUG] object allocation during garbage collection phase
ruby 1.9.1p378 (2010-01-10 revision 26273) [x86_64-darwin10]

-- control frame ----------
c:0051 p:---- s:0262 b:0262 l:000261 d:000261 CFUNC :scan
c:0050 p:0145 s:0258 b:0258 l:000257 d:000257 METHOD /Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/addressable-2.1.1/lib/addressable/uri.rb:94
c:0049 p:0118 s:0241 b:0241 l:000240 d:000240 METHOD /Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/rdf_context-0.5.1/lib/rdf_context/uriref.rb:24
c:0048 p:---- s:0235 b:0235 l:000234 d:000234 FINISH
c:0047 p:---- s:0233 b:0233 l:000232 d:000232 CFUNC :new
c:0046 p:0305 s:0229 b:0229 l:000228 d:000228 METHOD /Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/rdf_context-0.5.1/lib/rdf_context/store/abstract_sql_store.rb:874
c:0045 p:0143 s:0221 b:0221 l:000220 d:000220 METHOD /Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/rdf_context-0.5.1/lib/rdf_context/store/abstract_sql_store.rb:851
c:0044 p:0015 s:0198 b:0198 l:000f98 d:000197 BLOCK /Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/rdf_context-0.5.1/lib/rdf_context/store/abstract_sql_store.rb:252
c:0043 p:0036 s:0191 b:0191 l:000166 d:000190 BLOCK /Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/rdf_context-0.5.1/lib/rdf_context/store/sqlite3_store.rb:171
c:0042 p:0008 s:0188 b:0188 l:000171 d:000187 BLOCK /Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/sqlite3-ruby-1.2.5/lib/sqlite3/database.rb:190
c:0041 p:0017 s:0185 b:0185 l:000184 d:000184 METHOD /Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/sqlite3-ruby-1.2.5/lib/sqlite3/resultset.rb:152
c:0040 p:0039 s:0181 b:0181 l:000171 d:000180 BLOCK /Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/sqlite3-ruby-1.2.5/lib/sqlite3/database.rb:190
c:0039 p:0037 s:0177 b:0177 l:000176 d:000176 METHOD /Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/sqlite3-ruby-1.2.5/lib/sqlite3/database.rb:163
c:0038 p:0013 s:0172 b:0172 l:000171 d:000171 METHOD /Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/sqlite3-ruby-1.2.5/lib/sqlite3/database.rb:187
c:0037 p:0113 s:0167 b:0167 l:000166 d:000166 METHOD /Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/rdf_context-0.5.1/lib/rdf_context/store/sqlite3_store.rb:169
c:0036 p:0764 s:0160 b:0160 l:000f98 d:000f98 METHOD /Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/rdf_context-0.5.1/lib/rdf_context/store/abstract_sql_store.rb:251
c:0035 p:0035 s:0149 b:0149 l:000148 d:000148 METHOD /Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/rdf_context-0.5.1/lib/rdf_context/conjunctive_graph.rb:42
c:0034 p:0113 s:0144 b:0141 l:000140 d:000140 METHOD /Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/rdf_context-0.5.1/lib/rdf_context/graph.rb:338
c:0033 p:0079 s:0135 b:0132 l:000131 d:000131 METHOD /Users/gregg/Projects/cmx/lib/cmx/resource.rb:61
c:0032 p:0074 s:0127 b:0127 l:000126 d:000126 METHOD /Users/gregg/Projects/cmx/lib/cmx/term.rb:29
c:0031 p:0045 s:0123 b:0123 l:000122 d:000122 METHOD /Users/gregg/Projects/cmx/lib/cmx/term_serializer.rb:135
c:0030 p:0027 s:0110 b:0110 l:000089 d:000109 BLOCK /Users/gregg/Projects/cmx/lib/cmx/term_serializer.rb:407
c:0029 p:---- s:0106 b:0106 l:000105 d:000105 FINISH
c:0028 p:---- s:0104 b:0104 l:000103 d:000103 CFUNC :each
c:0027 p:0231 s:0101 b:0101 l:000089 d:000100 BLOCK /Users/gregg/Projects/cmx/lib/cmx/term_serializer.rb:406
c:0026 p:---- s:0095 b:0095 l:000094 d:000094 FINISH
c:0025 p:---- s:0093 b:0093 l:000092 d:000092 CFUNC :each_pair
c:0024 p:0124 s:0090 b:0090 l:000089 d:000089 METHOD /Users/gregg/Projects/cmx/lib/cmx/term_serializer.rb:379
c:0023 p:0022 s:0082 b:0082 l:000428 d:000081 EVAL (irb):5
c:0022 p:---- s:0080 b:0080 l:000079 d:000079 FINISH
c:0021 p:---- s:0078 b:0078 l:000077 d:000077 CFUNC :eval
c:0020 p:0027 s:0071 b:0071 l:000070 d:000070 METHOD /Users/gregg/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/irb/workspace.rb:80
c:0019 p:0031 s:0064 b:0063 l:000062 d:000062 METHOD /Users/gregg/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/irb/context.rb:218
c:0018 p:0030 s:0058 b:0058 l:0008a8 d:000057 BLOCK /Users/gregg/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/irb.rb:157
c:0017 p:0039 s:0050 b:0050 l:000049 d:000049 METHOD /Users/gregg/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/irb.rb:271
c:0016 p:0011 s:0045 b:0045 l:0008a8 d:000044 BLOCK /Users/gregg/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/irb.rb:154
c:0015 p:0132 s:0041 b:0041 l:000024 d:000040 BLOCK /Users/gregg/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/irb/ruby-lex.rb:244
c:0014 p:---- s:0038 b:0038 l:000037 d:000037 FINISH
c:0013 p:---- s:0036 b:0036 l:000035 d:000035 CFUNC :loop
c:0012 p:0009 s:0033 b:0033 l:000024 d:000032 BLOCK /Users/gregg/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/irb/ruby-lex.rb:230
c:0011 p:---- s:0031 b:0031 l:000030 d:000030 FINISH
c:0010 p:---- s:0029 b:0029 l:000028 d:000028 CFUNC :catch
c:0009 p:0023 s:0025 b:0025 l:000024 d:000024 METHOD /Users/gregg/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/irb/ruby-lex.rb:229
c:0008 p:0042 s:0022 b:0022 l:0008a8 d:0008a8 METHOD /Users/gregg/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/irb.rb:153
c:0007 p:0011 s:0019 b:0019 l:000cd8 d:000018 BLOCK /Users/gregg/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/irb.rb:70
c:0006 p:---- s:0017 b:0017 l:000016 d:000016 FINISH
c:0005 p:---- s:0015 b:0015 l:000014 d:000014 CFUNC :catch
c:0004 p:0174 s:0011 b:0011 l:000cd8 d:000cd8 METHOD /Users/gregg/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/irb.rb:69
c:0003 p:0172 s:0006 b:0006 l:001b38 d:000948 EVAL /Users/gregg/.rvm/rubies/ruby-1.9.1-p378/bin/irb:17
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:001b38 d:001b38 TOP

-- Ruby level backtrace information-----------------------------------------
/Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/addressable-2.1.1/lib/addressable/uri.rb:94:in scan' /Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/addressable-2.1.1/lib/addressable/uri.rb:94:in parse'
/Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/rdf_context-0.5.1/lib/rdf_context/uriref.rb:24:in initialize' /Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/rdf_context-0.5.1/lib/rdf_context/store/abstract_sql_store.rb:874:in new'
/Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/rdf_context-0.5.1/lib/rdf_context/store/abstract_sql_store.rb:874:in createTerm' /Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/rdf_context-0.5.1/lib/rdf_context/store/abstract_sql_store.rb:851:in extractTriple'
/Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/rdf_context-0.5.1/lib/rdf_context/store/abstract_sql_store.rb:252:in block in triples' /Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/rdf_context-0.5.1/lib/rdf_context/store/sqlite3_store.rb:171:in block in executeSQL'
/Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/sqlite3-ruby-1.2.5/lib/sqlite3/database.rb:190:in block (2 levels) in execute' /Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/sqlite3-ruby-1.2.5/lib/sqlite3/resultset.rb:152:in each'
/Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/sqlite3-ruby-1.2.5/lib/sqlite3/database.rb:190:in block in execute' /Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/sqlite3-ruby-1.2.5/lib/sqlite3/database.rb:163:in prepare'
/Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/sqlite3-ruby-1.2.5/lib/sqlite3/database.rb:187:in execute' /Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/rdf_context-0.5.1/lib/rdf_context/store/sqlite3_store.rb:169:in executeSQL'
/Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/rdf_context-0.5.1/lib/rdf_context/store/abstract_sql_store.rb:251:in triples' /Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/rdf_context-0.5.1/lib/rdf_context/conjunctive_graph.rb:42:in triples'
/Users/gregg/.rvm/gems/ruby-1.9.1-p378/gems/rdf_context-0.5.1/lib/rdf_context/graph.rb:338:in properties' /Users/gregg/Projects/cmx/lib/cmx/resource.rb:61:in properties'
/Users/gregg/Projects/cmx/lib/cmx/term.rb:29:in properties' /Users/gregg/Projects/cmx/lib/cmx/term_serializer.rb:135:in to_html'
/Users/gregg/Projects/cmx/lib/cmx/term_serializer.rb:407:in block (2 levels) in to_html' /Users/gregg/Projects/cmx/lib/cmx/term_serializer.rb:406:in each'
/Users/gregg/Projects/cmx/lib/cmx/term_serializer.rb:406:in block in to_html' /Users/gregg/Projects/cmx/lib/cmx/term_serializer.rb:379:in each_pair'
/Users/gregg/Projects/cmx/lib/cmx/term_serializer.rb:379:in to_html' (irb):5:in irb_binding'
/Users/gregg/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/irb/workspace.rb:80:in eval' /Users/gregg/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/irb/workspace.rb:80:in evaluate'
/Users/gregg/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/irb/context.rb:218:in evaluate' /Users/gregg/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/irb.rb:157:in block (2 levels) in eval_input'
/Users/gregg/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/irb.rb:271:in signal_status' /Users/gregg/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/irb.rb:154:in block in eval_input'
/Users/gregg/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/irb/ruby-lex.rb:244:in block (2 levels) in each_top_level_statement' /Users/gregg/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/irb/ruby-lex.rb:230:in loop'
/Users/gregg/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/irb/ruby-lex.rb:230:in block in each_top_level_statement' /Users/gregg/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/irb/ruby-lex.rb:229:in catch'
/Users/gregg/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/irb/ruby-lex.rb:229:in each_top_level_statement' /Users/gregg/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/irb.rb:153:in eval_input'
/Users/gregg/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/irb.rb:70:in block in start' /Users/gregg/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/irb.rb:69:in catch'
/Users/gregg/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/irb.rb:69:in start' /Users/gregg/.rvm/rubies/ruby-1.9.1-p378/bin/irb:17:in '

-- C level backtrace information -------------------------------------------

[NOTE]
=end

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0