ruby-protobuf / protobuf

A pure ruby implementation of Google's Protocol Buffers
https://github.com/ruby-protobuf
MIT License
463 stars 101 forks source link

Sporadic "Segmentation fault at 0x00000000000090" inside Google::Protobuf::DescriptorPool.generated_pool.build #379

Closed tarcieri closed 7 years ago

tarcieri commented 7 years ago

"Sporadic" means I encountered it once, but it does appear to be a NULL struct dereference:

-- Control frame information -----------------------------------------------
c:0138 p:---- s:0730 e:000729 CFUNC  :build
-- Machine register context ------------------------------------------------
 RIP: 0x00005566edca511f RBP: 0x00007f2530f2b188 RSP: 0x00007ffd8bd9fed0
 RAX: 0x0000000000000012 RBX: 0x00005566eebbbac0 RCX: 0x000000000000003d
 RDX: 0x000000000000013d RDI: 0x00005566eebbbac0 RSI: 0x0000000000000000
  R8: 0x00005566f1ef6ad0  R9: 0x0000000000000001 R10: 0x00005566f312d970
 R11: 0x00005566eebbbac0 R12: 0x00007f2530f28000 R13: 0x0000000000000004
 R14: 0x00007ffd8bda0010 R15: 0xcccccccccccccccd EFL: 0x0000000000010202

This occurred loading relatively uncomplicated generated protobuf Ruby files.

film42 commented 7 years ago

Hey @tarcieri , sounds like you're looking for https://github.com/google/protobuf/tree/master/ruby

This gem is the pure ruby implementation.

tarcieri commented 7 years ago

Whoops, sorry!

tarcieri commented 7 years ago

In case anyone stumbles upon this issue via Google or what have you, I opened one on google/protobuf here:

https://github.com/google/protobuf/issues/3649