Bug #11224

test/socket/test_nonblock.rb:266: [BUG] Segmentation fault at 0x00000000000008 on sparc Solaris 10

Added by ngoto (Naohisa Goto) about 5 years ago. Updated about 5 years ago.

Target version:
ruby -v:
ruby 2.3.0dev (2015-06-05) [sparc64-solaris2.10]


On sparc Solaris10, during make test-all, the following SEGV occurs.

TestSocketNonblock#test_recvmsg_nonblock_error = 0.00 s = .
/XXXXXXXXXX-trunk-50782/test/socket/test_nonblock.rb:266: [BUG] Segmentation fault at 0x00000000000008
ruby 2.3.0dev (2015-06-05) [sparc64-solaris2.10]

-- Control frame information -----------------------------------------------
c:0029 p:---- s:0139 e:000138 CFUNC  :sendmsg_nonblock
c:0028 p:0014 s:0135 e:000134 BLOCK  /XXXXXXXXXX-trunk-50782/test/socket/test_nonblock.rb:266 [FINISH]
c:0027 p:---- s:0133 e:000132 CFUNC  :loop
c:0026 p:0009 s:0130 e:000129 BLOCK  /XXXXXXXXXX-trunk-50782/test/socket/test_nonblock.rb:265
c:0025 p:0121 s:0126 e:000125 METHOD /XXXXXXXXXX-trunk-50782/test/socket/test_nonblock.rb:186
c:0024 p:0007 s:0115 e:000114 METHOD /XXXXXXXXXX-trunk-50782/test/socket/test_nonblock.rb:263
c:0023 p:0034 s:0112 e:000111 METHOD /XXXXXXXXXX-trunk-50782/test/lib/test/unit.rb:1008
c:0022 p:0069 s:0107 e:000106 METHOD /XXXXXXXXXX-trunk-50782/test/lib/minitest/unit.rb:1268
c:0021 p:0019 s:0099 e:000098 METHOD /XXXXXXXXXX-trunk-50782/test/lib/test/unit/testcase.rb:17
c:0020 p:0068 s:0095 e:000094 BLOCK  /XXXXXXXXXX-trunk-50782/test/lib/minitest/unit.rb:940 [FINISH]
c:0019 p:---- s:0089 e:000088 CFUNC  :map
c:0018 p:0116 s:0086 e:000085 METHOD /XXXXXXXXXX-trunk-50782/test/lib/minitest/unit.rb:933
c:0017 p:0048 s:0075 e:000074 METHOD /XXXXXXXXXX-trunk-50782/test/lib/test/unit.rb:902
c:0016 p:0015 s:0069 e:000067 BLOCK  /XXXXXXXXXX-trunk-50782/test/lib/test/unit.rb:480 [FINISH]
c:0015 p:---- s:0064 e:000063 CFUNC  :each
c:0014 p:0067 s:0061 E:001dd8 METHOD /XXXXXXXXXX-trunk-50782/test/lib/test/unit.rb:478
c:0013 p:0012 s:0055 E:000a28 METHOD /XXXXXXXXXX-trunk-50782/test/lib/test/unit.rb:511
c:0012 p:0131 s:0049 E:000ac8 METHOD /XXXXXXXXXX-trunk-50782/test/lib/minitest/unit.rb:884
c:0011 p:0009 s:0039 E:000b30 METHOD /XXXXXXXXXX-trunk-50782/test/lib/minitest/unit.rb:1095
c:0010 p:0009 s:0036 E:000c08 BLOCK  /XXXXXXXXXX-trunk-50782/test/lib/minitest/unit.rb:1082 [FINISH]
c:0009 p:---- s:0033 e:000032 CFUNC  :each
c:0008 p:0048 s:0030 E:000b98 METHOD /XXXXXXXXXX-trunk-50782/test/lib/minitest/unit.rb:1081
c:0007 p:0017 s:0026 E:000c78 METHOD /XXXXXXXXXX-trunk-50782/test/lib/minitest/unit.rb:1069
c:0006 p:0010 s:0022 E:000cf0 METHOD /XXXXXXXXXX-trunk-50782/test/lib/test/unit.rb:671
c:0005 p:0019 s:0017 E:000d58 METHOD /XXXXXXXXXX-trunk-50782/test/lib/test/unit.rb:32
c:0004 p:0040 s:0013 E:000dc0 METHOD /XXXXXXXXXX-trunk-50782/test/lib/test/unit.rb:979
c:0003 p:0013 s:0010 E:000e28 METHOD /XXXXXXXXXX-trunk-50782/test/lib/test/unit.rb:983
c:0002 p:0278 s:0006 E:000a18 EVAL   ./test/runner.rb:45 [FINISH]
c:0001 p:0000 s:0002 E:000e80 (none) [FINISH]


r50782-SEGV.log (99.3 KB) r50782-SEGV.log ngoto (Naohisa Goto), 06/05/2015 03:40 PM

Related issues

Related to Ruby master - Bug #11225: r50776 + r50780 + r50781 changes behavior on systems without HAVE_STRUCT_MSGHDR_MSG_CONTROLClosedActions

Updated by ngoto (Naohisa Goto) about 5 years ago

  • Related to Bug #11225: r50776 + r50780 + r50781 changes behavior on systems without HAVE_STRUCT_MSGHDR_MSG_CONTROL added

Updated by ngoto (Naohisa Goto) about 5 years ago

  • Status changed from Open to Closed

Applied in changeset r50784.

  • ext/socket/ancdata.c (bsock_sendmsg_internal): all arguments are parsed even on systems without HAVE_STRUCT_MSGHDR_MSG_CONTROL to prevent SEGV caused by passing Qnil to RARRAY_LENINT and to preserve behavior before r50776. [Bug #11224] [ruby-core:69468] [Bug #11225] [ruby-core:69469]

Updated by usa (Usaku NAKAMURA) about 5 years ago

  • Backport changed from 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN to 2.0.0: DONTNEED, 2.1: DONTNEED, 2.2: DONTNEED

Also available in: Atom PDF