ruby/ext
Peter Zhu 516a6cd1ad Check whether object is valid in allocation_info_tracer_compact
When reference updating ObjectSpace.trace_object_allocations, we need to
check whether the object is valid or not because it does not mark the
object so the object may be dead. This can cause a segmentation fault
if the object is on a free heap page.

For example, the following script crashes:

    require "objspace"

    objs = []
    ObjectSpace.trace_object_allocations do
      1_000_000.times do
        objs << Object.new
      end
    end

    objs = nil

    # Free pages that the objs were on
    GC.start

    # Run compaction and check that it doesn't crash
    GC.compact
2024-12-16 12:24:24 -05:00
..
-test- [Bug #20903] rb_econv_str_append arguments expected to be String 2024-11-22 10:36:05 +09:00
cgi/escape ruby tool/update-deps --fix 2024-04-27 21:55:28 +09:00
continuation ruby tool/update-deps --fix 2024-04-27 21:55:28 +09:00
coverage ruby tool/update-deps --fix 2024-04-27 21:55:28 +09:00
date [ruby/date] Fix broken rdoc-ref to the calendar page 2024-12-15 06:20:10 +00:00
digest [ruby/digest] Bump up v3.2.0 2024-12-16 03:31:55 +00:00
erb/escape [ruby/erb] Skip building a native extension for JRuby 2024-01-04 22:33:16 +00:00
etc [ruby/etc] Bump up 1.4.5 2024-12-09 14:06:05 +09:00
fcntl [ruby/fcntl] Fixup gemspec files 2024-11-07 18:45:05 +09:00
fiddle Lock released version of fiddle-1.1.6 2024-12-16 10:22:30 +09:00
io [ruby/io-console] Bump up 0.8.0 2024-12-03 05:05:14 +00:00
json [ruby/json] Release 2.9.0 2024-12-05 09:16:22 +01:00
monitor ruby tool/update-deps --fix 2024-04-27 21:55:28 +09:00
objspace Check whether object is valid in allocation_info_tracer_compact 2024-12-16 12:24:24 -05:00
openssl [ruby/openssl] ssl: do not clear existing SSL options in SSLContext#set_params 2024-12-07 08:15:08 +00:00
pathname [ruby/pathname] Bump up v0.4.0 2024-11-06 07:09:08 +00:00
psych [ruby/psych] Don't autolink Exception in psych module docs 2024-12-16 04:01:53 +00:00
pty Remove a useless check if fd is negative 2024-11-29 12:38:20 +09:00
rbconfig/sizeof ruby tool/update-deps --fix 2024-04-27 21:55:28 +09:00
ripper Fix memory leak in Ripper for indented heredocs 2024-09-25 08:56:14 -04:00
rubyvm Added depend files 2019-07-14 01:31:29 +09:00
socket [DOC] Fix broken parameter display and see links for Socket 2024-12-16 10:07:39 +09:00
stringio Lock released version of stringio-3.1.2 2024-12-13 10:05:55 +09:00
strscan [ruby/strscan] [DOC] Add syntax highlighting to MarkDown code blocks 2024-12-16 10:10:34 +09:00
win32 [ruby/resolv] Build the extension library only when CRuby (Fix 2024-12-10 09:29:38 +00:00
win32ole [ruby/win32ole] Deprecate old constants in toplevel 2024-12-12 14:39:20 +00:00
zlib [ruby/zlib] Bump up v3.2.1 2024-12-13 00:33:58 +00:00
.document [ruby/io-console] [DOC] Split .document files to sync with ruby/ruby 2023-10-22 11:09:06 +09:00
extmk.rb extmk.rb: define Gem.target_rbconfig not to break Gem::Platform.local 2024-06-18 11:12:52 +09:00
Setup Clean up removed directories in ext/Setup* [ci skip] 2023-01-18 12:02:27 +09:00
Setup.atheos racc/cparse is extracted from ruby/ruby repository 2023-06-08 18:05:07 +09:00
Setup.nt racc/cparse is extracted from ruby/ruby repository 2023-06-08 18:05:07 +09:00