On 07/15 12:15, Eric Wong wrote: > Jeremy Evans <[email protected]> wrote: > > Thanks for this patch. I'm not an RB_GC_GUARD expert, but the changes > > look fine to me. The existing RB_GC_GUARD calls were added by me in > > 2012 to fix an earlier segfault.[1] This is the first reported > > RB_GC_GUARD-related segfault in sequel_pg since then. > > No worries; I don't consider myself a RB_GC_GUARD expert, either(*). > > > [1] > > https://github.com/jeremyevans/sequel_pg/commit/15edb132887d9b5292cad419fc7692ed5cd4b01b.diff > > I suspect your original guards were lucky enough for C compilers > in 2012, but compilers have gotten more clever since then. So > there's a a higher likelyhood of exposing bugs given the > conservative GC in Ruby(**). > > Historical note: > > Back in the day, "volatile" alone was enough to defeat > compiler optimizations in C Ruby. Eventually, compilers got > better, so RB_GC_GUARD was introduced. And in the future, > RB_GC_GUARD may evolve to accomodate even more clever > compilers. > > > Pere, I would appreciate if you could test this patch and see if it > > fixes your issue. I will also test it and will release a new sequel_pg > > version with this patch if it fixes the issue. > > Yes, actually testing the code is important, everything else > I've written here is theory ;)
All of Sequel's postgres adapter tests still pass with this, so I merged this into the master branch. I'll do some more testing of my apps, but unless I run into problems I plan to release this as sequel_pg 1.7.1 early next week. Thanks, Jeremy -- unsubscribe: [email protected] archive: https://bogomips.org/unicorn-public/
