Bug #12290
Updated by nobu (Nobuyoshi Nakada) about 8 years ago
Ruby 2.3 added a Thread#name=, which may segfault when used incorrectly. This little program: ```ruby ``` class SubClassedThread < Thread def initialize() self.name = 'foo' super do yield end end end SubClassedThread.new {} ``` Causes a segfault with both Ruby 2.3 (ruby 2.3.0p0 (2015-12-25 revision 53290)) and ruby-2.4.0-dev (ruby 2.4.0dev (2016-04-15 trunk 54594)). Moving the line that assignes the name in the block passed to super resolves the issue. Even thought there is a workaround, it shouldn't be possible to trigger a segfault from a script imho. The relevant lines of the backtrace ``` /lib/i386-linux-gnu/i686/cmov/libpthread.so.0(pthread_setname_np+0x50) [0xf739ded0] ruby(rb_thread_setname+0x95) [0xf755dc85] thread.c:2797 ``` The system is a default Debian Jessie (32bit), with libc version 2.19-18+deb8u4.