From: nagachika00@... Date: 2014-06-23T15:08:44+00:00 Subject: [ruby-core:63299] [ruby-trunk - Bug #9739] TestException#test_machine_stackoverflow(_by_define_method) failures on x64-mingw32 Issue #9739 has been updated by Tomoyuki Chikanaga. Backport changed from 2.0.0: UNKNOWN, 2.1: UNKNOWN to 2.0.0: UNKNOWN, 2.1: DONE Backported into `ruby_2_1` branch at r46522. ---------------------------------------- Bug #9739: TestException#test_machine_stackoverflow(_by_define_method) failures on x64-mingw32 https://bugs.ruby-lang.org/issues/9739#change-47349 * Author: Hiroshi Shirosaki * Status: Closed * Priority: Normal * Assignee: Nobuyoshi Nakada * Category: platform/mingw * Target version: current: 2.2.0 * ruby -v: ruby 2.2.0dev (2014-04-13 trunk 45580) [x64-mingw32] * Backport: 2.0.0: UNKNOWN, 2.1: DONE ---------------------------------------- I have the following two test failures with x64-mingw32 on Windows 7. ~~~ $ gcc -v 2>&1 | tail -n1 gcc version 4.8.2 20130712 (prerelease) (Built by MinGW-builds project) $ make test-all TESTS="-q ruby/test_exception.rb" (snip) [29/43] TestException#test_machine_stackoverflow = 0.05 s 1) Failure: TestException#test_machine_stackoverflow [c:/Users/h.shirosaki/work/ruby/test/ruby/test_exception.rb:537]: pid 2228 killed by SIGSEGV (signal 11) [30/43] TestException#test_machine_stackoverflow_by_define_method = 0.05 s 2) Failure: TestException#test_machine_stackoverflow_by_define_method [c:/Users/h.shirosaki/work/ruby/test/ruby/test_exception.rb:54 8]: pid 8984 killed by SIGSEGV (signal 11) Finished tests in 0.575033s, 74.7783 tests/s, 370.4135 assertions/s. 43 tests, 213 assertions, 2 failures, 0 errors, 0 skips ruby -v: ruby 2.2.0dev (2014-04-13 trunk 45580) [x64-mingw32] ~~~ I'm not sure the reason, but setting larger stack size fixes SIGSEGV. ~~~patch diff --git a/configure.in b/configure.in index f52e0ba..078f9ba 100644 --- a/configure.in +++ b/configure.in @@ -2782,7 +2782,7 @@ if test "$with_dln_a_out" != yes; then rb_cv_dlopen=yes], [cygwin*|mingw*], [ : ${LDSHARED='$(CC) -shared $(if $(filter-out -g -g0,$(debugflags)),,-s)'} - XLDFLAGS="$XLDFLAGS -Wl,--stack,0x00200000,--enable-auto-import" + XLDFLAGS="$XLDFLAGS -Wl,--stack,0x01200000,--enable-auto-import" DLDFLAGS="${DLDFLAGS} -Wl,--enable-auto-image-base,--enable-auto-import" : ${LIBPATHENV=""} rb_cv_dlopen=yes], ~~~ ---Files-------------------------------- 0001-Handle-machine-stack-overflow-on-mingw.patch (1.89 KB) -- https://bugs.ruby-lang.org/