Bug #5407

Cannot build ruby-1.9.3-rc1 with TDM-GCC 4.6.1 on Windows XP SP3

Added by Heesob Park over 2 years ago. Updated over 2 years ago.

[ruby-core:39957]
Status:Closed
Priority:Urgent
Assignee:Nobuyoshi Nakada
Category:build
Target version:1.9.3
ruby -v:- Backport:

Description

I guess this bug is related with Bug #5375(http://redmine.ruby-lang.org/issues/5375).

First, it fails when configuring tk.

$ make
CC = gcc
LD = ld
LDSHARED = gcc -shared -s
CFLAGS = -O3 -g -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long
-long -Wno-missing-field-initializers -Werror=pointer-arith -Werror=write-string
s -Werror=declaration-after-statement -Werror=implicit-function-declaration
XCFLAGS = -include ruby/config.h -include ruby/missing.h -fvisibility=hi
dden -DRUBYEXPORT
CPPFLAGS = -I. -I.ext/include/i386-mingw32 -I./include -I.
DLDFLAGS = -Wl,--enable-auto-image-base,--enable-auto-import -Wl,--out-i
mplib=libmsvcrt-ruby191.dll.a msvcrt-ruby191.def
SOLIBS = msvcrt-ruby191.res.o -lshell32 -lws2
32 -limagehlp
generating enc.mk
generating encdb.h
encdb.h unchanged
making enc
make[1]: Entering directory /c/work/ruby-1.9.3-rc1'
make[1]: Nothing to be done for
enc'.
make[1]: Leaving directory /c/work/ruby-1.9.3-rc1'
making srcs under enc
make[1]: Entering directory
/c/work/ruby-1.9.3-rc1'
make[1]: Nothing to be done for srcs'.
make[1]: Leaving directory
/c/work/ruby-1.9.3-rc1'
generating transdb.h
transdb.h unchanged
making trans
make[1]: Entering directory /c/work/ruby-1.9.3-rc1'
make[1]: Nothing to be done for
./enc/trans'.
make[1]: Leaving directory /c/work/ruby-1.9.3-rc1'
making encs
make[1]: Entering directory
/c/work/ruby-1.9.3-rc1'
make[1]: Leaving directory `/c/work/ruby-1.9.3-rc1'
configuring tk
c:/work/ruby-1.9.3-rc1/lib/mkmf.rb:1398: [BUG] Segmentation fault
ruby 1.9.3dev (2011-09-23) [i386-mingw32]

-- Control frame information -----------------------------------------------
c:0016 p:---- s:0129 b:0129 l:000128 d:000128 CFUNC :fetch
c:0015 p:0081 s:0125 b:0125 l:000124 d:000124 METHOD c:/work/ruby-1.9.3-rc1/lib/
mkmf.rb:1398
c:0014 p:0036 s:0118 b:0118 l:002678 d:002678 METHOD c:/work/ruby-1.9.3-rc1/lib/
mkmf.rb:1417
c:0013 p:0014 s:0112 b:0112 l:000102 d:000111 BLOCK c:/work/ruby-1.9.3-rc1/ext/
tk/extconf.rb:64
c:0012 p:---- s:0108 b:0108 l:000107 d:000107 FINISH
c:0011 p:---- s:0106 b:0106 l:000105 d:000105 CFUNC :each_key
c:0010 p:0339 s:0103 b:0103 l:000102 d:000102 TOP c:/work/ruby-1.9.3-rc1/ext/
tk/extconf.rb:63
c:0009 p:---- s:0073 b:0073 l:000072 d:000072 FINISH
c:0008 p:---- s:0071 b:0071 l:000070 d:000070 CFUNC :load
c:0007 p:0759 s:0067 b:0067 l:000066 d:000066 METHOD ./ext/extmk.rb:174
c:0006 p:0046 s:0045 b:0045 l:0000dc d:000044 BLOCK ./ext/extmk.rb:468
c:0005 p:---- s:0042 b:0042 l:000041 d:000041 FINISH
c:0004 p:---- s:0040 b:0040 l:000039 d:000039 CFUNC :each
c:0003 p:1285 s:0037 b:0037 l:0000dc d:001728 EVAL ./ext/extmk.rb:464
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:0000dc d:0000dc TOP

-- Ruby level backtrace information ----------------------------------------
./ext/extmk.rb:464:in <main>'
./ext/extmk.rb:464:in
each'
./ext/extmk.rb:468:in block in <main>'
./ext/extmk.rb:174:in
extmake'
./ext/extmk.rb:174:in load'
c:/work/ruby-1.9.3-rc1/ext/tk/extconf.rb:63:in
'
c:/work/ruby-1.9.3-rc1/ext/tk/extconf.rb:63:in each_key'
c:/work/ruby-1.9.3-rc1/ext/tk/extconf.rb:64:in
block in '
c:/work/ruby-1.9.3-rc1/lib/mkmf.rb:1417:in with_config'
c:/work/ruby-1.9.3-rc1/lib/mkmf.rb:1398:in
arg_config'
c:/work/ruby-1.9.3-rc1/lib/mkmf.rb:1398:in `fetch'

-- C level backtrace information -------------------------------------------
F:\WINDOWS\system32\ntdll.dll(KiFastSystemCallRet+0x0) [0x7c93e514]
F:\WINDOWS\system32\kernel32.dll(WaitForSingleObject+0x12) [0x7c7d2542]

-- Other runtime information -----------------------------------------------

  • Loaded script: ./ext/extmk.rb

  • Loaded features:

    0 enumerator.so
    1 c:/work/ruby-1.9.3-rc1/rbconfig.rb
    2 mkmf.rb
    3 c:/work/ruby-1.9.3-rc1/lib/fileutils.rb
    4 c:/work/ruby-1.9.3-rc1/lib/shellwords.rb
    5 c:/work/ruby-1.9.3-rc1/lib/optparse.rb
    6 c:/work/ruby-1.9.3-rc1/lib/optparse/shellwords.rb

[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
make: *** [exts.mk] Error 3

Second, if I skip tk by removing tk, it fails when making rdoc.

Generating RDoc documentation
Parsing sources...
0% [ 1/767] addr2line.c
0% [ 2/767] array.c
0% [ 3/767] bignum.c
0% [ 4/767] class.c
0% [ 5/767] compar.c
0% [ 6/767] compile.c
0% [ 7/767] complex.c
1% [ 8/767] cont.c
1% [ 9/767] debug.c
1% [10/767] dir.c
1% [11/767] dln.c
1% [12/767] dln_find.c
1% [13/767] dmydln.c
1% [14/767] dmyencoding.c
1% [15/767] dmyext.c
2% [16/767] dmyversion.c
2% [17/767] encoding.c
2% [18/767] enum.c
2% [19/767] enumerator.c
2% [20/767] error.c
c:/work/ruby-1.9.3-rc1/lib/rdoc/parser/c.rb:846: [BUG] Segmentation fault
ruby 1.9.3dev (2011-09-23) [i386-mingw32]

-- Control frame information -----------------------------------------------
c:0016 p:---- s:0078 b:0078 l:000077 d:000077 CFUNC :Integer
c:0015 p:0172 s:0074 b:0074 l:000073 d:000073 METHOD c:/work/ruby-1.9.3-rc1/lib/
rdoc/parser/c.rb:846
c:0014 p:0075 s:0057 b:0057 l:000042 d:000056 BLOCK c:/work/ruby-1.9.3-rc1/lib/
rdoc/parser/c.rb:345
c:0013 p:---- s:0049 b:0049 l:000048 d:000048 FINISH
c:0012 p:---- s:0047 b:0047 l:000046 d:000046 CFUNC :scan
c:0011 p:0015 s:0043 b:0043 l:000042 d:000042 METHOD c:/work/ruby-1.9.3-rc1/lib/
rdoc/parser/c.rb:326
c:0010 p:0041 s:0040 b:0040 l:000039 d:000039 METHOD c:/work/ruby-1.9.3-rc1/lib/
rdoc/parser/c.rb:1039
c:0009 p:0164 s:0037 b:0037 l:000036 d:000036 METHOD c:/work/ruby-1.9.3-rc1/lib/
rdoc/rdoc.rb:334
c:0008 p:0020 s:0028 b:0028 l:000019 d:000027 BLOCK c:/work/ruby-1.9.3-rc1/lib/
rdoc/rdoc.rb:379
c:0007 p:---- s:0025 b:0025 l:000024 d:000024 FINISH
c:0006 p:---- s:0023 b:0023 l:000022 d:000022 CFUNC :map
c:0005 p:0095 s:0020 b:0020 l:000019 d:000019 METHOD c:/work/ruby-1.9.3-rc1/lib/
rdoc/rdoc.rb:377
c:0004 p:0222 s:0014 b:0014 l:000013 d:000013 METHOD c:/work/ruby-1.9.3-rc1/lib/
rdoc/rdoc.rb:434
c:0003 p:0067 s:0008 b:0008 l:000e8c d:002094 EVAL ./bin/rdoc:20
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:000e8c d:000e8c TOP

-- Ruby level backtrace information ----------------------------------------
./bin/rdoc:20:in <main>'
c:/work/ruby-1.9.3-rc1/lib/rdoc/rdoc.rb:434:in
document'
c:/work/ruby-1.9.3-rc1/lib/rdoc/rdoc.rb:377:in parse_files'
c:/work/ruby-1.9.3-rc1/lib/rdoc/rdoc.rb:377:in
map'
c:/work/ruby-1.9.3-rc1/lib/rdoc/rdoc.rb:379:in block in parse_files'
c:/work/ruby-1.9.3-rc1/lib/rdoc/rdoc.rb:334:in
parsefile'
c:/work/ruby-1.9.3-rc1/lib/rdoc/parser/c.rb:1039:in scan'
c:/work/ruby-1.9.3-rc1/lib/rdoc/parser/c.rb:326:in
do
methods'
c:/work/ruby-1.9.3-rc1/lib/rdoc/parser/c.rb:326:in scan'
c:/work/ruby-1.9.3-rc1/lib/rdoc/parser/c.rb:345:in
block in do_methods'
c:/work/ruby-1.9.3-rc1/lib/rdoc/parser/c.rb:846:in handle_method'
c:/work/ruby-1.9.3-rc1/lib/rdoc/parser/c.rb:846:in
Integer'

-- C level backtrace information -------------------------------------------
F:\WINDOWS\system32\ntdll.dll(KiFastSystemCallRet+0x0) [0x7c93e514]
F:\WINDOWS\system32\kernel32.dll(WaitForSingleObject+0x12) [0x7c7d2542]

-- Other runtime information -----------------------------------------------

  • Loaded script: ./bin/rdoc

  • Loaded features:

    0 enumerator.so
    1 c:/work/ruby-1.9.3-rc1/.ext/i386-mingw32/enc/encdb.so
    2 c:/work/ruby-1.9.3-rc1/.ext/i386-mingw32/enc/cp949.so
    3 c:/work/ruby-1.9.3-rc1/.ext/i386-mingw32/enc/trans/transdb.so
    4 c:/work/ruby-1.9.3-rc1/lib/rdoc.rb
    5 c:/work/ruby-1.9.3-rc1/lib/rdoc/encoding.rb
    6 c:/work/ruby-1.9.3-rc1/.ext/i386-mingw32/strscan.so
    7 c:/work/ruby-1.9.3-rc1/lib/rdoc/text.rb
    8 c:/work/ruby-1.9.3-rc1/lib/rdoc/codeobject.rb
    9 c:/work/ruby-1.9.3-rc1/lib/rdoc/context.rb
    10 c:/work/ruby-1.9.3-rc1/lib/rdoc/top
    level.rb
    11 c:/work/ruby-1.9.3-rc1/lib/rdoc/classmodule.rb
    12 c:/work/ruby-1.9.3-rc1/lib/rdoc/normal
    class.rb
    13 c:/work/ruby-1.9.3-rc1/lib/rdoc/normalmodule.rb
    14 c:/work/ruby-1.9.3-rc1/lib/rdoc/anon
    class.rb
    15 c:/work/ruby-1.9.3-rc1/lib/rdoc/singleclass.rb
    16 c:/work/ruby-1.9.3-rc1/lib/rdoc/method
    attr.rb
    17 c:/work/ruby-1.9.3-rc1/lib/rdoc/tokenstream.rb
    18 c:/work/ruby-1.9.3-rc1/lib/rdoc/any
    method.rb
    19 c:/work/ruby-1.9.3-rc1/lib/rdoc/alias.rb
    20 c:/work/ruby-1.9.3-rc1/lib/rdoc/ghostmethod.rb
    21 c:/work/ruby-1.9.3-rc1/lib/rdoc/meta
    method.rb
    22 c:/work/ruby-1.9.3-rc1/lib/rdoc/attr.rb
    23 c:/work/ruby-1.9.3-rc1/lib/rdoc/constant.rb
    24 c:/work/ruby-1.9.3-rc1/lib/rdoc/require.rb
    25 c:/work/ruby-1.9.3-rc1/lib/rdoc/include.rb
    26 c:/work/ruby-1.9.3-rc1/lib/rdoc/codeobjects.rb
    27 c:/work/ruby-1.9.3-rc1/lib/rdoc/markup/blank
    line.rb
    28 c:/work/ruby-1.9.3-rc1/lib/rdoc/markup/document.rb
    29 c:/work/ruby-1.9.3-rc1/lib/rdoc/markup/heading.rb
    30 c:/work/ruby-1.9.3-rc1/lib/rdoc/markup/list.rb
    31 c:/work/ruby-1.9.3-rc1/lib/rdoc/markup/listitem.rb
    32 c:/work/ruby-1.9.3-rc1/lib/rdoc/markup/raw.rb
    33 c:/work/ruby-1.9.3-rc1/lib/rdoc/markup/paragraph.rb
    34 c:/work/ruby-1.9.3-rc1/lib/rdoc/markup/indented
    paragraph.rb
    35 c:/work/ruby-1.9.3-rc1/lib/rdoc/markup/rule.rb
    36 c:/work/ruby-1.9.3-rc1/lib/rdoc/markup/verbatim.rb
    37 c:/work/ruby-1.9.3-rc1/lib/rdoc/markup/parser.rb
    38 c:/work/ruby-1.9.3-rc1/lib/rdoc/markup/attributemanager.rb
    39 c:/work/ruby-1.9.3-rc1/lib/rdoc/markup/inline.rb
    40 c:/work/ruby-1.9.3-rc1/lib/rdoc/markup.rb
    41 c:/work/ruby-1.9.3-rc1/lib/rdoc/markup/pre
    process.rb
    42 c:/work/ruby-1.9.3-rc1/lib/rdoc/stats.rb
    43 c:/work/ruby-1.9.3-rc1/lib/rdoc/parser/simple.rb
    44 c:/work/ruby-1.9.3-rc1/lib/rdoc/parser.rb
    45 c:/work/ruby-1.9.3-rc1/lib/rdoc/rubytoken.rb
    46 c:/work/ruby-1.9.3-rc1/lib/e2mmap.rb
    47 c:/work/ruby-1.9.3-rc1/lib/irb/output-method.rb
    48 c:/work/ruby-1.9.3-rc1/lib/irb/notifier.rb
    49 c:/work/ruby-1.9.3-rc1/lib/irb/slex.rb
    50 c:/work/ruby-1.9.3-rc1/.ext/i386-mingw32/stringio.so
    51 c:/work/ruby-1.9.3-rc1/lib/rdoc/ruby
    lex.rb
    52 c:/work/ruby-1.9.3-rc1/lib/rdoc/parser/rubytools.rb
    53 c:/work/ruby-1.9.3-rc1/lib/rdoc/parser/ruby.rb
    54 c:/work/ruby-1.9.3-rc1/lib/rdoc/known
    classes.rb
    55 c:/work/ruby-1.9.3-rc1/lib/rdoc/parser/c.rb
    56 c:/work/ruby-1.9.3-rc1/lib/optparse.rb
    57 c:/work/ruby-1.9.3-rc1/.ext/i386-mingw32/etc.so
    58 c:/work/ruby-1.9.3-rc1/lib/fileutils.rb
    59 c:/work/ruby-1.9.3-rc1/lib/rdoc/ri/store.rb
    60 c:/work/ruby-1.9.3-rc1/lib/rdoc/ri.rb
    61 c:/work/ruby-1.9.3-rc1/rbconfig.rb
    62 c:/work/ruby-1.9.3-rc1/lib/rdoc/ri/paths.rb
    63 c:/work/ruby-1.9.3-rc1/lib/rdoc/options.rb
    64 c:/work/ruby-1.9.3-rc1/lib/find.rb
    65 c:/work/ruby-1.9.3-rc1/.ext/i386-mingw32/datecore.so
    66 c:/work/ruby-1.9.3-rc1/.ext/common/date/format.rb
    67 c:/work/ruby-1.9.3-rc1/.ext/common/date.rb
    68 c:/work/ruby-1.9.3-rc1/lib/time.rb
    69 c:/work/ruby-1.9.3-rc1/lib/rubygems/defaults.rb
    70 c:/work/ruby-1.9.3-rc1/lib/rubygems/deprecate.rb
    71 c:/work/ruby-1.9.3-rc1/lib/rubygems/exceptions.rb
    72 c:/work/ruby-1.9.3-rc1/lib/rubygems/custom
    require.rb
    73 c:/work/ruby-1.9.3-rc1/lib/rubygems.rb
    74 c:/work/ruby-1.9.3-rc1/lib/rubygems/version.rb
    75 c:/work/ruby-1.9.3-rc1/lib/rubygems/requirement.rb
    76 c:/work/ruby-1.9.3-rc1/lib/rubygems/platform.rb
    77 c:/work/ruby-1.9.3-rc1/lib/rubygems/specification.rb
    78 c:/work/ruby-1.9.3-rc1/lib/rubygems/pathsupport.rb
    79 c:/work/ruby-1.9.3-rc1/.ext/i386-mingw32/pathname.so
    80 c:/work/ruby-1.9.3-rc1/.ext/common/pathname.rb
    81 c:/work/ruby-1.9.3-rc1/lib/erb.rb
    82 c:/work/ruby-1.9.3-rc1/lib/rdoc/erbio.rb
    83 c:/work/ruby-1.9.3-rc1/lib/rdoc/generator.rb
    84 c:/work/ruby-1.9.3-rc1/lib/rdoc/markup/formatter.rb
    85 c:/work/ruby-1.9.3-rc1/lib/cgi/core.rb
    86 c:/work/ruby-1.9.3-rc1/lib/cgi/cookie.rb
    87 c:/work/ruby-1.9.3-rc1/lib/cgi/util.rb
    88 c:/work/ruby-1.9.3-rc1/lib/cgi.rb
    89 c:/work/ruby-1.9.3-rc1/lib/rdoc/markup/to
    html.rb
    90 c:/work/ruby-1.9.3-rc1/lib/rdoc/crossreference.rb
    91 c:/work/ruby-1.9.3-rc1/lib/rdoc/markup/to
    htmlcrossref.rb
    92 c:/work/ruby-1.9.3-rc1/lib/rdoc/generator/markup.rb
    93 c:/work/ruby-1.9.3-rc1/lib/rdoc/generator/darkfish.rb
    94 c:/work/ruby-1.9.3-rc1/lib/rdoc/generator/ri.rb
    95 c:/work/ruby-1.9.3-rc1/lib/rdoc/rdoc.rb
    96 c:/work/ruby-1.9.3-rc1/lib/rdoc/stats/quiet.rb
    97 c:/work/ruby-1.9.3-rc1/lib/rdoc/stats/normal.rb
    98 c:/work/ruby-1.9.3-rc1/.ext/i386-mingw32/enc/utf
    16le.so
    99 c:/work/ruby-1.9.3-rc1/.ext/i386-mingw32/enc/trans/singlebyte.so
    100 c:/work/ruby-1.9.3-rc1/.ext/i386-mingw32/enc/trans/utf
    16_32.so

[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
make: *** [rdoc] Error 3


Related issues

Related to Backport93 - Backport #5518: Please backport r33577 (mingw: append -fno-omit-frame-poi... Closed 10/31/2011
Duplicates ruby-trunk - Bug #5375: [mingw32] segfault on WinXP SP3 with 1.9.3dev@33347 Closed 09/28/2011

Associated revisions

Revision 33577
Added by Luis Lavena over 2 years ago

  • configure.in: check -fno-omit-frame-pointer acceptance and usage under MinGW. [Bug #5407]

History

#1 Updated by Jon Forums over 2 years ago

@Heesob..if you happen to be using the RubyInstaller recipes, would you try again but this time use the mingw.org GCC 4.6.1 to build? You'll need to pull updates from our repo as I just included support for that toolchain last night.

Build something like:

rake ruby19 local=C:\path\to\ruby\repo nogems=1 dkver=mingw-32-4.6.1

Even if you're not using the recipes, you can quickly create a mingw.org 4.6.1 toolkit to use via something like:

rake devkit 7z=1 dkver=mingw-32-4.6.1

and look in the 'pkg' subdir.

I build on Win7 and can't replicate the error you're seeing. Maybe there's some difference between the TDM-GCC and plain vanilla mingw.org toolkits, but I'd be surprised since they both use many of the same components.

#2 Updated by Heesob Park over 2 years ago

I guess it is Windows XP and GCC 4.6.1 setjmp/longjmp issue as mentioned at Bug #5375.

I can build ruby-1.9.3-rc1 with TDM-GCC 4.6.1 on Windows 7 without error.

#3 Updated by Heesob Park over 2 years ago

After some trial and error, it turns out this bug is GCC 4.6.1 optimization flag issue.

According to the document of gcc 4.6.1(http://gcc.gnu.org/onlinedocs/gcc-4.6.1/gcc/Optimize-Options.html#index-fomit_002dframe_002dpointer-691):
"Starting with GCC version 4.6, the default setting (when not optimizing for size) for 32-bit Linux x86 and 32-bit Darwin x86 targets has been changed to -fomit-frame-pointer. The default can be reverted to -fno-omit-frame-pointer by configuring GCC with the --enable-frame-pointer configure option."

The work around is adding -fno-omit-frame-pointer flag like this:
make optflags='-O3 -fno-omit-frame-pointer'

I think this also applies to the Bug #5375.

#4 Updated by Luis Lavena over 2 years ago

  • ruby -v changed from ruby 1.9.3dev (2011-09-23) [i386-mingw32] to -

On Mon, Oct 17, 2011 at 11:59 AM, Heesob Park phasis@gmail.com wrote:

Issue #5407 has been updated by Heesob Park.

After some trial and error, it turns out this bug is GCC 4.6.1 optimization flag issue.

According to the document of gcc 4.6.1(http://gcc.gnu.org/onlinedocs/gcc-4.6.1/gcc/Optimize-Options.html#index-fomit_002dframe_002dpointer-691):
"Starting with GCC version 4.6, the default setting (when not optimizing for size) for 32-bit Linux x86 and 32-bit Darwin x86 targets has been changed to -fomit-frame-pointer. The default can be reverted to -fno-omit-frame-pointer by configuring GCC with the --enable-frame-pointer configure option."

The work around is adding -fno-omit-frame-pointer flag like this:
make optflags

#5 Updated by Heesob Park over 2 years ago

Hi,

2011/10/17 Luis Lavena luislavena@gmail.com

On Mon, Oct 17, 2011 at 11:59 AM, Heesob Park phasis@gmail.com wrote:

Issue #5407 has been updated by Heesob Park.

After some trial and error, it turns out this bug is GCC 4.6.1
optimization flag issue.

According to the document of gcc 4.6.1(
http://gcc.gnu.org/onlinedocs/gcc-4.6.1/gcc/Optimize-Options.html#index-fomit_002dframe_002dpointer-691
):
"Starting with GCC version 4.6, the default setting (when not optimizing
for size) for 32-bit Linux x86 and 32-bit Darwin x86 targets has been
changed to -fomit-frame-pointer. The default can be reverted to
-fno-omit-frame-pointer by configuring GCC with the --enable-frame-pointer
configure option."

The work around is adding -fno-omit-frame-pointer flag like this:
make optflags='-O3 -fno-omit-frame-pointer'

I think this also applies to the Bug #5375.

Thank you Heesob, what is interesting is that this do not happen on trunk.

Perhaps there is something else we are missing?

I tried to build trunk on Windows XP with gcc-4.6.1 and it failed to build
too.
Here is the log

c:/work/snapshot/lib/rdoc/parser/ruby_tools.rb:108: [BUG] Segmentation fault
ruby 1.9.4dev (2011-10-14 trunk 33469) [i386-mingw32]

-- Control frame information -----------------------------------------------
c:0030 p:---- s:0216 b:0216 l:000215 d:000215 CFUNC :==
c:0029 p:---- s:0214 b:0214 l:000213 d:000213 CFUNC :delete
c:0028 p:0015 s:0210 b:0210 l:000209 d:000209 METHOD
c:/work/snapshot/lib/rdoc/p
arser/rubytools.rb:108
c:0027 p:0030 s:0206 b:0205 l:000204 d:000204 METHOD
c:/work/snapshot/lib/rdoc/p
arser/ruby
tools.rb:142
c:0026 p:0085 s:0201 b:0201 l:000200 d:000200 METHOD
c:/work/snapshot/lib/rdoc/p
arser/ruby.rb:996
c:0025 p:0777 s:0186 b:0186 l:000185 d:000185 METHOD
c:/work/snapshot/lib/rdoc/p
arser/ruby.rb:1323
c:0024 p:0680 s:0173 b:0173 l:000172 d:000172 METHOD
c:/work/snapshot/lib/rdoc/p
arser/ruby.rb:655
c:0023 p:0711 s:0156 b:0156 l:000155 d:000155 METHOD
c:/work/snapshot/lib/rdoc/p
arser/ruby.rb:1313
c:0022 p:0187 s:0143 b:0143 l:000136 d:000142 BLOCK
c:/work/snapshot/lib/rdoc/p
arser/ruby.rb:1118
c:0021 p:0019 s:0141 b:0141 l:000140 d:000140 METHOD
c:/work/snapshot/lib/rdoc/p
arser/ruby_tools.rb:140
c:0020 p:0277 s:0137 b:0137 l:000136 d:000136 METHOD
c:/work/snapshot/lib/rdoc/p
arser/ruby.rb:1095
c:0019 p:0777 s:0122 b:0122 l:000121 d:000121 METHOD
c:/work/snapshot/lib/rdoc/p
arser/ruby.rb:1323
c:0018 p:0117 s:0109 b:0109 l:000108 d:000108 METHOD
c:/work/snapshot/lib/rdoc/p
arser/ruby.rb:1225
c:0017 p:0744 s:0099 b:0099 l:000098 d:000098 METHOD
c:/work/snapshot/lib/rdoc/p
arser/ruby.rb:1317
c:0016 p:0414 s:0086 b:0086 l:000085 d:000085 METHOD
c:/work/snapshot/lib/rdoc/p
arser/ruby.rb:626
c:0015 p:0711 s:0069 b:0069 l:000068 d:000068 METHOD
c:/work/snapshot/lib/rdoc/p
arser/ruby.rb:1313
c:0014 p:0081 s:0056 b:0056 l:000055 d:000055 METHOD
c:/work/snapshot/lib/rdoc/p
arser/ruby.rb:1505
c:0013 p:0014 s:0051 b:0051 l:000039 d:000050 BLOCK
c:/work/snapshot/lib/rdoc/p
arser/ruby.rb:1660
c:0012 p:---- s:0046 b:0046 l:000045 d:000045 FINISH
c:0011 p:---- s:0044 b:0044 l:000043 d:000043 CFUNC :catch
c:0010 p:0023 s:0040 b:0040 l:000039 d:000039 METHOD
c:/work/snapshot/lib/rdoc/p
arser/ruby.rb:1658
c:0009 p:0164 s:0037 b:0037 l:000036 d:000036 METHOD
c:/work/snapshot/lib/rdoc/r
doc.rb:334
c:0008 p:0020 s:0028 b:0028 l:000019 d:000027 BLOCK
c:/work/snapshot/lib/rdoc/r
doc.rb:379
c:0007 p:---- s:0025 b:0025 l:000024 d:000024 FINISH
c:0006 p:---- s:0023 b:0023 l:000022 d:000022 CFUNC :map
c:0005 p:0095 s:0020 b:0020 l:000019 d:000019 METHOD
c:/work/snapshot/lib/rdoc/r
doc.rb:377
c:0004 p:0222 s:0014 b:0014 l:000013 d:000013 METHOD
c:/work/snapshot/lib/rdoc/r
doc.rb:434
c:0003 p:0067 s:0008 b:0008 l:001d84 d:001104 EVAL ./bin/rdoc:22
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:001d84 d:001d84 TOP

-- Ruby level backtrace information ----------------------------------------
./bin/rdoc:22:in <main>'
c:/work/snapshot/lib/rdoc/rdoc.rb:434:in
document'
c:/work/snapshot/lib/rdoc/rdoc.rb:377:in parse_files'
c:/work/snapshot/lib/rdoc/rdoc.rb:377:in
map'
c:/work/snapshot/lib/rdoc/rdoc.rb:379:in block in parse_files'
c:/work/snapshot/lib/rdoc/rdoc.rb:334:in
parsefile'
c:/work/snapshot/lib/rdoc/parser/ruby.rb:1658:in scan'
c:/work/snapshot/lib/rdoc/parser/ruby.rb:1658:in
catch'
c:/work/snapshot/lib/rdoc/parser/ruby.rb:1660:in block in scan'
c:/work/snapshot/lib/rdoc/parser/ruby.rb:1505:in
parse
toplevelstatements'
c:/work/snapshot/lib/rdoc/parser/ruby.rb:1313:in parse_statements'
c:/work/snapshot/lib/rdoc/parser/ruby.rb:626:in
parseclass'
c:/work/snapshot/lib/rdoc/parser/ruby.rb:1317:in parse_statements'
c:/work/snapshot/lib/rdoc/parser/ruby.rb:1225:in
parse
module'
c:/work/snapshot/lib/rdoc/parser/ruby.rb:1323:in parse_statements'
c:/work/snapshot/lib/rdoc/parser/ruby.rb:1095:in
parsemethod'
c:/work/snapshot/lib/rdoc/parser/ruby
tools.rb:140:in token_listener'
c:/work/snapshot/lib/rdoc/parser/ruby.rb:1118:in
block in parsemethod'
c:/work/snapshot/lib/rdoc/parser/ruby.rb:1313:in parse_statements'
c:/work/snapshot/lib/rdoc/parser/ruby.rb:655:in
parse
class'
c:/work/snapshot/lib/rdoc/parser/ruby.rb:1323:in parse_statements'
c:/work/snapshot/lib/rdoc/parser/ruby.rb:996:in
parsemethod'
c:/work/snapshot/lib/rdoc/parser/ruby
tools.rb:142:in token_listener'
c:/work/snapshot/lib/rdoc/parser/ruby_tools.rb:108:in
removetokenlistener'
c:/work/snapshot/lib/rdoc/parser/ruby_tools.rb:108:in delete'
c:/work/snapshot/lib/rdoc/parser/ruby_tools.rb:108:in
=='

-- C level backtrace information -------------------------------------------
F:\WINDOWS\system32\ntdll.dll(KiFastSystemCallRet+0x0) [0x7c93e514]
F:\WINDOWS\system32\kernel32.dll(WaitForSingleObject+0x12) [0x7c7d2542]

-- Other runtime information -----------------------------------------------

  • Loaded script: ./bin/rdoc

  • Loaded features:

    0 enumerator.so
    1 c:/work/snapshot/.ext/i386-mingw32/enc/encdb.so
    2 c:/work/snapshot/.ext/i386-mingw32/enc/cp949.so
    3 c:/work/snapshot/.ext/i386-mingw32/enc/trans/transdb.so
    4 c:/work/snapshot/lib/rdoc.rb
    5 c:/work/snapshot/lib/rdoc/encoding.rb
    6 c:/work/snapshot/.ext/i386-mingw32/strscan.so
    7 c:/work/snapshot/lib/rdoc/text.rb
    8 c:/work/snapshot/lib/rdoc/codeobject.rb
    9 c:/work/snapshot/lib/rdoc/context.rb
    10 c:/work/snapshot/lib/rdoc/top
    level.rb
    11 c:/work/snapshot/lib/rdoc/classmodule.rb
    12 c:/work/snapshot/lib/rdoc/normal
    class.rb
    13 c:/work/snapshot/lib/rdoc/normalmodule.rb
    14 c:/work/snapshot/lib/rdoc/anon
    class.rb
    15 c:/work/snapshot/lib/rdoc/singleclass.rb
    16 c:/work/snapshot/lib/rdoc/method
    attr.rb
    17 c:/work/snapshot/lib/rdoc/tokenstream.rb
    18 c:/work/snapshot/lib/rdoc/any
    method.rb
    19 c:/work/snapshot/lib/rdoc/alias.rb
    20 c:/work/snapshot/lib/rdoc/ghostmethod.rb
    21 c:/work/snapshot/lib/rdoc/meta
    method.rb
    22 c:/work/snapshot/lib/rdoc/attr.rb
    23 c:/work/snapshot/lib/rdoc/constant.rb
    24 c:/work/snapshot/lib/rdoc/require.rb
    25 c:/work/snapshot/lib/rdoc/include.rb
    26 c:/work/snapshot/lib/rdoc/codeobjects.rb
    27 c:/work/snapshot/lib/rdoc/markup/blank
    line.rb
    28 c:/work/snapshot/lib/rdoc/markup/document.rb
    29 c:/work/snapshot/lib/rdoc/markup/heading.rb
    30 c:/work/snapshot/lib/rdoc/markup/list.rb
    31 c:/work/snapshot/lib/rdoc/markup/listitem.rb
    32 c:/work/snapshot/lib/rdoc/markup/raw.rb
    33 c:/work/snapshot/lib/rdoc/markup/paragraph.rb
    34 c:/work/snapshot/lib/rdoc/markup/indented
    paragraph.rb
    35 c:/work/snapshot/lib/rdoc/markup/rule.rb
    36 c:/work/snapshot/lib/rdoc/markup/verbatim.rb
    37 c:/work/snapshot/lib/rdoc/markup/parser.rb
    38 c:/work/snapshot/lib/rdoc/markup/attributemanager.rb
    39 c:/work/snapshot/lib/rdoc/markup/inline.rb
    40 c:/work/snapshot/lib/rdoc/markup.rb
    41 c:/work/snapshot/lib/rdoc/markup/pre
    process.rb
    42 c:/work/snapshot/lib/rdoc/stats.rb
    43 c:/work/snapshot/lib/rdoc/parser/simple.rb
    44 c:/work/snapshot/lib/rdoc/parser.rb
    45 c:/work/snapshot/lib/rdoc/rubytoken.rb
    46 c:/work/snapshot/lib/e2mmap.rb
    47 c:/work/snapshot/lib/irb/output-method.rb
    48 c:/work/snapshot/lib/irb/notifier.rb
    49 c:/work/snapshot/lib/irb/slex.rb
    50 c:/work/snapshot/.ext/i386-mingw32/stringio.so
    51 c:/work/snapshot/lib/rdoc/ruby
    lex.rb
    52 c:/work/snapshot/lib/rdoc/parser/rubytools.rb
    53 c:/work/snapshot/lib/rdoc/parser/ruby.rb
    54 c:/work/snapshot/lib/rdoc/known
    classes.rb
    55 c:/work/snapshot/lib/rdoc/parser/c.rb
    56 c:/work/snapshot/lib/optparse.rb
    57 c:/work/snapshot/.ext/i386-mingw32/etc.so
    58 c:/work/snapshot/lib/fileutils.rb
    59 c:/work/snapshot/lib/rdoc/ri/store.rb
    60 c:/work/snapshot/lib/rdoc/ri.rb
    61 c:/work/snapshot/rbconfig.rb
    62 c:/work/snapshot/lib/rdoc/ri/paths.rb
    63 c:/work/snapshot/lib/rdoc/options.rb
    64 c:/work/snapshot/lib/find.rb
    65 c:/work/snapshot/.ext/i386-mingw32/datecore.so
    66 c:/work/snapshot/.ext/common/date/format.rb
    67 c:/work/snapshot/.ext/common/date.rb
    68 c:/work/snapshot/lib/time.rb
    69 c:/work/snapshot/rubygems.rb
    70 c:/work/snapshot/.ext/i386-mingw32/pathname.so
    71 c:/work/snapshot/.ext/common/pathname.rb
    72 c:/work/snapshot/lib/erb.rb
    73 c:/work/snapshot/lib/rdoc/erbio.rb
    74 c:/work/snapshot/lib/rdoc/generator.rb
    75 c:/work/snapshot/lib/rdoc/markup/formatter.rb
    76 c:/work/snapshot/lib/cgi/core.rb
    77 c:/work/snapshot/lib/cgi/cookie.rb
    78 c:/work/snapshot/lib/cgi/util.rb
    79 c:/work/snapshot/lib/cgi.rb
    80 c:/work/snapshot/lib/rdoc/markup/to
    html.rb
    81 c:/work/snapshot/lib/rdoc/crossreference.rb
    82 c:/work/snapshot/lib/rdoc/markup/to
    htmlcrossref.rb
    83 c:/work/snapshot/lib/rdoc/generator/markup.rb
    84 c:/work/snapshot/lib/rdoc/generator/darkfish.rb
    85 c:/work/snapshot/lib/rdoc/generator/ri.rb
    86 c:/work/snapshot/lib/rdoc/rdoc.rb
    87 c:/work/snapshot/lib/rdoc/stats/quiet.rb
    88 c:/work/snapshot/lib/rdoc/stats/normal.rb
    89 c:/work/snapshot/.ext/i386-mingw32/enc/utf
    16le.so
    90 c:/work/snapshot/.ext/i386-mingw32/enc/trans/singlebyte.so
    91 c:/work/snapshot/.ext/i386-mingw32/enc/trans/utf
    16_32.so

    [NOTE]
    You may have encountered a bug in the Ruby interpreter or extension
    libraries.
    Bug reports are welcome.
    For details: http://www.ruby-lang.org/bugreport.html

    This application has requested the Runtime to terminate it in an unusual
    way.
    Please contact the application's support team for more information.
    make: *** [rdoc] Error 3

    Regards,
    Park Heesob

#6 Updated by Hiroshi Shirosaki over 2 years ago

I have same issues as above.
trunk@33473 and 1.9.3dev build fails on Windows XP SP3 with gcc version 4.6.1 (tdm-1).

And build with -fno-omit-frame-pointer flag works fine.

This document explains about setjmp and Frame-Pointer Omission.
http://msdn.microsoft.com/en-us/library/2kxx5t2c.aspx

I tried to write a patch of this issue.

diff --git a/configure.in b/configure.in
index fff3a07..1ca63b3 100644
--- a/configure.in
+++ b/configure.in
@@ -44,6 +44,12 @@ targetos="echo ${target_os} | sed 's/msvc$//'"
AS
CASE(["$targetcpu-$targetos"], [x8664-mingw*], [
target
cpu=x64
])
+ASCASE(["$targetos"], [mingw], [
+kernelname=uname -s
+gcc
version=$CC --version | head -n1
+ASCASE(["$kernelname-$gcc_version"],
+ [
NT-5.1-" 4.6."], [optflags="-O3 -fno-omit-frame-pointer"])
+])
])

ACDEFUN([RUBYCPPOUTFILE],

#7 Updated by Usaku NAKAMURA over 2 years ago

Hello,

I'm glad to here the solution of this problem.
Thanks to all the people that tackled it.

There is only one proposal from me.
In mswin, /Oy- is always specified.
So, in mingw, We should specify -fno-omit-frame-pointer, I think.
# Of course, if this option does not exist depending on a compiler
# version, we should check it in configure script.

Nobu and Luis, how do you think?

In message " [Ruby 1.9 - Bug #5407] Cannot build ruby-1.9.3-rc1 with TDM-GCC 4.6.1 on Windows XP SP3"
on Oct.18,2011 20:11:41, h.shirosaki@gmail.com wrote:

Issue #5407 has been updated by Hiroshi Shirosaki.

I have same issues as above.
trunk@33473 and 1.9.3dev build fails on Windows XP SP3 with gcc version 4.6.1 (tdm-1).

And build with -fno-omit-frame-pointer flag works fine.

This document explains about setjmp and Frame-Pointer Omission.
http://msdn.microsoft.com/en-us/library/2kxx5t2c.aspx

I tried to write a patch of this issue.

diff --git a/configure.in b/configure.in
index fff3a07..1ca63b3 100644
--- a/configure.in
+++ b/configure.in
@@ -44,6 +44,12 @@ targetos="echo ${target_os} | sed 's/msvc$//'"
AS
CASE(["$targetcpu-$targetos"], [x8664-mingw*], [
target
cpu=x64
])
+ASCASE(["$targetos"], [mingw], [
+kernelname=uname -s
+gcc
version=$CC --version | head -n1
+ASCASE(["$kernelname-$gcc_version"],
+ [
NT-5.1-" 4.6."], [optflags="-O3 -fno-omit-frame-pointer"])
+])
])

ACDEFUN([RUBYCPPOUTFILE],


Bug #5407: Cannot build ruby-1.9.3-rc1 with TDM-GCC 4.6.1 on Windows XP SP3
http://redmine.ruby-lang.org/issues/5407

Author: Heesob Park
Status: Open
Priority: Normal
Assignee:
Category:
Target version:
ruby -v: -

I guess this bug is related with Bug #5375(http://redmine.ruby-lang.org/issues/5375).

First, it fails when configuring tk.

$ make
CC = gcc
LD = ld
LDSHARED = gcc -shared -s
CFLAGS = -O3 -g -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long
-long -Wno-missing-field-initializers -Werror=pointer-arith -Werror=write-string
s -Werror=declaration-after-statement -Werror=implicit-function-declaration
XCFLAGS = -include ruby/config.h -include ruby/missing.h -fvisibility=hi
dden -DRUBYEXPORT
CPPFLAGS = -I. -I.ext/include/i386-mingw32 -I./include -I.
DLDFLAGS = -Wl,--enable-auto-image-base,--enable-auto-import -Wl,--out-i
mplib=libmsvcrt-ruby191.dll.a msvcrt-ruby191.def
SOLIBS = msvcrt-ruby191.res.o -lshell32 -lws2
32 -limagehlp
generating enc.mk
generating encdb.h
encdb.h unchanged
making enc
make[1]: Entering directory /c/work/ruby-1.9.3-rc1'
make[1]: Nothing to be done for
enc'.
make[1]: Leaving directory /c/work/ruby-1.9.3-rc1'
making srcs under enc
make[1]: Entering directory
/c/work/ruby-1.9.3-rc1'
make[1]: Nothing to be done for srcs'.
make[1]: Leaving directory
/c/work/ruby-1.9.3-rc1'
generating transdb.h
transdb.h unchanged
making trans
make[1]: Entering directory /c/work/ruby-1.9.3-rc1'
make[1]: Nothing to be done for
./enc/trans'.
make[1]: Leaving directory /c/work/ruby-1.9.3-rc1'
making encs
make[1]: Entering directory
/c/work/ruby-1.9.3-rc1'
make[1]: Leaving directory `/c/work/ruby-1.9.3-rc1'
configuring tk
c:/work/ruby-1.9.3-rc1/lib/mkmf.rb:1398: [BUG] Segmentation fault
ruby 1.9.3dev (2011-09-23) [i386-mingw32]

-- Control frame information -----------------------------------------------
c:0016 p:---- s:0129 b:0129 l:000128 d:000128 CFUNC :fetch
c:0015 p:0081 s:0125 b:0125 l:000124 d:000124 METHOD c:/work/ruby-1.9.3-rc1/lib/
mkmf.rb:1398
c:0014 p:0036 s:0118 b:0118 l:002678 d:002678 METHOD c:/work/ruby-1.9.3-rc1/lib/
mkmf.rb:1417
c:0013 p:0014 s:0112 b:0112 l:000102 d:000111 BLOCK c:/work/ruby-1.9.3-rc1/ext/
tk/extconf.rb:64
c:0012 p:---- s:0108 b:0108 l:000107 d:000107 FINISH
c:0011 p:---- s:0106 b:0106 l:000105 d:000105 CFUNC :each_key
c:0010 p:0339 s:0103 b:0103 l:000102 d:000102 TOP c:/work/ruby-1.9.3-rc1/ext/
tk/extconf.rb:63
c:0009 p:---- s:0073 b:0073 l:000072 d:000072 FINISH
c:0008 p:---- s:0071 b:0071 l:000070 d:000070 CFUNC :load
c:0007 p:0759 s:0067 b:0067 l:000066 d:000066 METHOD ./ext/extmk.rb:174
c:0006 p:0046 s:0045 b:0045 l:0000dc d:000044 BLOCK ./ext/extmk.rb:468
c:0005 p:---- s:0042 b:0042 l:000041 d:000041 FINISH
c:0004 p:---- s:0040 b:0040 l:000039 d:000039 CFUNC :each
c:0003 p:1285 s:0037 b:0037 l:0000dc d:001728 EVAL ./ext/extmk.rb:464
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:0000dc d:0000dc TOP

-- Ruby level backtrace information ----------------------------------------
./ext/extmk.rb:464:in <main>'
./ext/extmk.rb:464:in
each'
./ext/extmk.rb:468:in block in <main>'
./ext/extmk.rb:174:in
extmake'
./ext/extmk.rb:174:in load'
c:/work/ruby-1.9.3-rc1/ext/tk/extconf.rb:63:in
'
c:/work/ruby-1.9.3-rc1/ext/tk/extconf.rb:63:in each_key'
c:/work/ruby-1.9.3-rc1/ext/tk/extconf.rb:64:in
block in '
c:/work/ruby-1.9.3-rc1/lib/mkmf.rb:1417:in with_config'
c:/work/ruby-1.9.3-rc1/lib/mkmf.rb:1398:in
arg_config'
c:/work/ruby-1.9.3-rc1/lib/mkmf.rb:1398:in `fetch'

-- C level backtrace information -------------------------------------------
F:\WINDOWS\system32\ntdll.dll(KiFastSystemCallRet+0x0) [0x7c93e514]
F:\WINDOWS\system32\kernel32.dll(WaitForSingleObject+0x12) [0x7c7d2542]

-- Other runtime information -----------------------------------------------

  • Loaded script: ./ext/extmk.rb

  • Loaded features:

    0 enumerator.so
    1 c:/work/ruby-1.9.3-rc1/rbconfig.rb
    2 mkmf.rb
    3 c:/work/ruby-1.9.3-rc1/lib/fileutils.rb
    4 c:/work/ruby-1.9.3-rc1/lib/shellwords.rb
    5 c:/work/ruby-1.9.3-rc1/lib/optparse.rb
    6 c:/work/ruby-1.9.3-rc1/lib/optparse/shellwords.rb

[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
make: *** [exts.mk] Error 3

Second, if I skip tk by removing tk, it fails when making rdoc.

Generating RDoc documentation
Parsing sources...
0% [ 1/767] addr2line.c
0% [ 2/767] array.c
0% [ 3/767] bignum.c
0% [ 4/767] class.c
0% [ 5/767] compar.c
0% [ 6/767] compile.c
0% [ 7/767] complex.c
1% [ 8/767] cont.c
1% [ 9/767] debug.c
1% [10/767] dir.c
1% [11/767] dln.c
1% [12/767] dln_find.c
1% [13/767] dmydln.c
1% [14/767] dmyencoding.c
1% [15/767] dmyext.c
2% [16/767] dmyversion.c
2% [17/767] encoding.c
2% [18/767] enum.c
2% [19/767] enumerator.c
2% [20/767] error.c
c:/work/ruby-1.9.3-rc1/lib/rdoc/parser/c.rb:846: [BUG] Segmentation fault
ruby 1.9.3dev (2011-09-23) [i386-mingw32]

-- Control frame information -----------------------------------------------
c:0016 p:---- s:0078 b:0078 l:000077 d:000077 CFUNC :Integer
c:0015 p:0172 s:0074 b:0074 l:000073 d:000073 METHOD c:/work/ruby-1.9.3-rc1/lib/
rdoc/parser/c.rb:846
c:0014 p:0075 s:0057 b:0057 l:000042 d:000056 BLOCK c:/work/ruby-1.9.3-rc1/lib/
rdoc/parser/c.rb:345
c:0013 p:---- s:0049 b:0049 l:000048 d:000048 FINISH
c:0012 p:---- s:0047 b:0047 l:000046 d:000046 CFUNC :scan
c:0011 p:0015 s:0043 b:0043 l:000042 d:000042 METHOD c:/work/ruby-1.9.3-rc1/lib/
rdoc/parser/c.rb:326
c:0010 p:0041 s:0040 b:0040 l:000039 d:000039 METHOD c:/work/ruby-1.9.3-rc1/lib/
rdoc/parser/c.rb:1039
c:0009 p:0164 s:0037 b:0037 l:000036 d:000036 METHOD c:/work/ruby-1.9.3-rc1/lib/
rdoc/rdoc.rb:334
c:0008 p:0020 s:0028 b:0028 l:000019 d:000027 BLOCK c:/work/ruby-1.9.3-rc1/lib/
rdoc/rdoc.rb:379
c:0007 p:---- s:0025 b:0025 l:000024 d:000024 FINISH
c:0006 p:---- s:0023 b:0023 l:000022 d:000022 CFUNC :map
c:0005 p:0095 s:0020 b:0020 l:000019 d:000019 METHOD c:/work/ruby-1.9.3-rc1/lib/
rdoc/rdoc.rb:377
c:0004 p:0222 s:0014 b:0014 l:000013 d:000013 METHOD c:/work/ruby-1.9.3-rc1/lib/
rdoc/rdoc.rb:434
c:0003 p:0067 s:0008 b:0008 l:000e8c d:002094 EVAL ./bin/rdoc:20
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:000e8c d:000e8c TOP

-- Ruby level backtrace information ----------------------------------------
./bin/rdoc:20:in <main>'
c:/work/ruby-1.9.3-rc1/lib/rdoc/rdoc.rb:434:in
document'
c:/work/ruby-1.9.3-rc1/lib/rdoc/rdoc.rb:377:in parse_files'
c:/work/ruby-1.9.3-rc1/lib/rdoc/rdoc.rb:377:in
map'
c:/work/ruby-1.9.3-rc1/lib/rdoc/rdoc.rb:379:in block in parse_files'
c:/work/ruby-1.9.3-rc1/lib/rdoc/rdoc.rb:334:in
parsefile'
c:/work/ruby-1.9.3-rc1/lib/rdoc/parser/c.rb:1039:in scan'
c:/work/ruby-1.9.3-rc1/lib/rdoc/parser/c.rb:326:in
do
methods'
c:/work/ruby-1.9.3-rc1/lib/rdoc/parser/c.rb:326:in scan'
c:/work/ruby-1.9.3-rc1/lib/rdoc/parser/c.rb:345:in
block in do_methods'
c:/work/ruby-1.9.3-rc1/lib/rdoc/parser/c.rb:846:in handle_method'
c:/work/ruby-1.9.3-rc1/lib/rdoc/parser/c.rb:846:in
Integer'

-- C level backtrace information -------------------------------------------
F:\WINDOWS\system32\ntdll.dll(KiFastSystemCallRet+0x0) [0x7c93e514]
F:\WINDOWS\system32\kernel32.dll(WaitForSingleObject+0x12) [0x7c7d2542]

-- Other runtime information -----------------------------------------------

  • Loaded script: ./bin/rdoc

  • Loaded features:

    0 enumerator.so
    1 c:/work/ruby-1.9.3-rc1/.ext/i386-mingw32/enc/encdb.so
    2 c:/work/ruby-1.9.3-rc1/.ext/i386-mingw32/enc/cp949.so
    3 c:/work/ruby-1.9.3-rc1/.ext/i386-mingw32/enc/trans/transdb.so
    4 c:/work/ruby-1.9.3-rc1/lib/rdoc.rb
    5 c:/work/ruby-1.9.3-rc1/lib/rdoc/encoding.rb
    6 c:/work/ruby-1.9.3-rc1/.ext/i386-mingw32/strscan.so
    7 c:/work/ruby-1.9.3-rc1/lib/rdoc/text.rb
    8 c:/work/ruby-1.9.3-rc1/lib/rdoc/codeobject.rb
    9 c:/work/ruby-1.9.3-rc1/lib/rdoc/context.rb
    10 c:/work/ruby-1.9.3-rc1/lib/rdoc/top
    level.rb
    11 c:/work/ruby-1.9.3-rc1/lib/rdoc/classmodule.rb
    12 c:/work/ruby-1.9.3-rc1/lib/rdoc/normal
    class.rb
    13 c:/work/ruby-1.9.3-rc1/lib/rdoc/normalmodule.rb
    14 c:/work/ruby-1.9.3-rc1/lib/rdoc/anon
    class.rb
    15 c:/work/ruby-1.9.3-rc1/lib/rdoc/singleclass.rb
    16 c:/work/ruby-1.9.3-rc1/lib/rdoc/method
    attr.rb
    17 c:/work/ruby-1.9.3-rc1/lib/rdoc/tokenstream.rb
    18 c:/work/ruby-1.9.3-rc1/lib/rdoc/any
    method.rb
    19 c:/work/ruby-1.9.3-rc1/lib/rdoc/alias.rb
    20 c:/work/ruby-1.9.3-rc1/lib/rdoc/ghostmethod.rb
    21 c:/work/ruby-1.9.3-rc1/lib/rdoc/meta
    method.rb
    22 c:/work/ruby-1.9.3-rc1/lib/rdoc/attr.rb
    23 c:/work/ruby-1.9.3-rc1/lib/rdoc/constant.rb
    24 c:/work/ruby-1.9.3-rc1/lib/rdoc/require.rb
    25 c:/work/ruby-1.9.3-rc1/lib/rdoc/include.rb
    26 c:/work/ruby-1.9.3-rc1/lib/rdoc/codeobjects.rb
    27 c:/work/ruby-1.9.3-rc1/lib/rdoc/markup/blank
    line.rb
    28 c:/work/ruby-1.9.3-rc1/lib/rdoc/markup/document.rb
    29 c:/work/ruby-1.9.3-rc1/lib/rdoc/markup/heading.rb
    30 c:/work/ruby-1.9.3-rc1/lib/rdoc/markup/list.rb
    31 c:/work/ruby-1.9.3-rc1/lib/rdoc/markup/listitem.rb
    32 c:/work/ruby-1.9.3-rc1/lib/rdoc/markup/raw.rb
    33 c:/work/ruby-1.9.3-rc1/lib/rdoc/markup/paragraph.rb
    34 c:/work/ruby-1.9.3-rc1/lib/rdoc/markup/indented
    paragraph.rb
    35 c:/work/ruby-1.9.3-rc1/lib/rdoc/markup/rule.rb
    36 c:/work/ruby-1.9.3-rc1/lib/rdoc/markup/verbatim.rb
    37 c:/work/ruby-1.9.3-rc1/lib/rdoc/markup/parser.rb
    38 c:/work/ruby-1.9.3-rc1/lib/rdoc/markup/attributemanager.rb
    39 c:/work/ruby-1.9.3-rc1/lib/rdoc/markup/inline.rb
    40 c:/work/ruby-1.9.3-rc1/lib/rdoc/markup.rb
    41 c:/work/ruby-1.9.3-rc1/lib/rdoc/markup/pre
    process.rb
    42 c:/work/ruby-1.9.3-rc1/lib/rdoc/stats.rb
    43 c:/work/ruby-1.9.3-rc1/lib/rdoc/parser/simple.rb
    44 c:/work/ruby-1.9.3-rc1/lib/rdoc/parser.rb
    45 c:/work/ruby-1.9.3-rc1/lib/rdoc/rubytoken.rb
    46 c:/work/ruby-1.9.3-rc1/lib/e2mmap.rb
    47 c:/work/ruby-1.9.3-rc1/lib/irb/output-method.rb
    48 c:/work/ruby-1.9.3-rc1/lib/irb/notifier.rb
    49 c:/work/ruby-1.9.3-rc1/lib/irb/slex.rb
    50 c:/work/ruby-1.9.3-rc1/.ext/i386-mingw32/stringio.so
    51 c:/work/ruby-1.9.3-rc1/lib/rdoc/ruby
    lex.rb
    52 c:/work/ruby-1.9.3-rc1/lib/rdoc/parser/rubytools.rb
    53 c:/work/ruby-1.9.3-rc1/lib/rdoc/parser/ruby.rb
    54 c:/work/ruby-1.9.3-rc1/lib/rdoc/known
    classes.rb
    55 c:/work/ruby-1.9.3-rc1/lib/rdoc/parser/c.rb
    56 c:/work/ruby-1.9.3-rc1/lib/optparse.rb
    57 c:/work/ruby-1.9.3-rc1/.ext/i386-mingw32/etc.so
    58 c:/work/ruby-1.9.3-rc1/lib/fileutils.rb
    59 c:/work/ruby-1.9.3-rc1/lib/rdoc/ri/store.rb
    60 c:/work/ruby-1.9.3-rc1/lib/rdoc/ri.rb
    61 c:/work/ruby-1.9.3-rc1/rbconfig.rb
    62 c:/work/ruby-1.9.3-rc1/lib/rdoc/ri/paths.rb
    63 c:/work/ruby-1.9.3-rc1/lib/rdoc/options.rb
    64 c:/work/ruby-1.9.3-rc1/lib/find.rb
    65 c:/work/ruby-1.9.3-rc1/.ext/i386-mingw32/datecore.so
    66 c:/work/ruby-1.9.3-rc1/.ext/common/date/format.rb
    67 c:/work/ruby-1.9.3-rc1/.ext/common/date.rb
    68 c:/work/ruby-1.9.3-rc1/lib/time.rb
    69 c:/work/ruby-1.9.3-rc1/lib/rubygems/defaults.rb
    70 c:/work/ruby-1.9.3-rc1/lib/rubygems/deprecate.rb
    71 c:/work/ruby-1.9.3-rc1/lib/rubygems/exceptions.rb
    72 c:/work/ruby-1.9.3-rc1/lib/rubygems/custom
    require.rb
    73 c:/work/ruby-1.9.3-rc1/lib/rubygems.rb
    74 c:/work/ruby-1.9.3-rc1/lib/rubygems/version.rb
    75 c:/work/ruby-1.9.3-rc1/lib/rubygems/requirement.rb
    76 c:/work/ruby-1.9.3-rc1/lib/rubygems/platform.rb
    77 c:/work/ruby-1.9.3-rc1/lib/rubygems/specification.rb
    78 c:/work/ruby-1.9.3-rc1/lib/rubygems/pathsupport.rb
    79 c:/work/ruby-1.9.3-rc1/.ext/i386-mingw32/pathname.so
    80 c:/work/ruby-1.9.3-rc1/.ext/common/pathname.rb
    81 c:/work/ruby-1.9.3-rc1/lib/erb.rb
    82 c:/work/ruby-1.9.3-rc1/lib/rdoc/erbio.rb
    83 c:/work/ruby-1.9.3-rc1/lib/rdoc/generator.rb
    84 c:/work/ruby-1.9.3-rc1/lib/rdoc/markup/formatter.rb
    85 c:/work/ruby-1.9.3-rc1/lib/cgi/core.rb
    86 c:/work/ruby-1.9.3-rc1/lib/cgi/cookie.rb
    87 c:/work/ruby-1.9.3-rc1/lib/cgi/util.rb
    88 c:/work/ruby-1.9.3-rc1/lib/cgi.rb
    89 c:/work/ruby-1.9.3-rc1/lib/rdoc/markup/to
    html.rb
    90 c:/work/ruby-1.9.3-rc1/lib/rdoc/crossreference.rb
    91 c:/work/ruby-1.9.3-rc1/lib/rdoc/markup/to
    htmlcrossref.rb
    92 c:/work/ruby-1.9.3-rc1/lib/rdoc/generator/markup.rb
    93 c:/work/ruby-1.9.3-rc1/lib/rdoc/generator/darkfish.rb
    94 c:/work/ruby-1.9.3-rc1/lib/rdoc/generator/ri.rb
    95 c:/work/ruby-1.9.3-rc1/lib/rdoc/rdoc.rb
    96 c:/work/ruby-1.9.3-rc1/lib/rdoc/stats/quiet.rb
    97 c:/work/ruby-1.9.3-rc1/lib/rdoc/stats/normal.rb
    98 c:/work/ruby-1.9.3-rc1/.ext/i386-mingw32/enc/utf
    16le.so
    99 c:/work/ruby-1.9.3-rc1/.ext/i386-mingw32/enc/trans/singlebyte.so
    100 c:/work/ruby-1.9.3-rc1/.ext/i386-mingw32/enc/trans/utf
    16_32.so

[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
make: *** [rdoc] Error 3

http://redmine.ruby-lang.org

Regards,
--
U.Nakamura usa@garbagecollect.jp

#8 Updated by Anonymous over 2 years ago

There is only one proposal from me.
In mswin, /Oy- is always specified.

Why is this required for mswin?
-roger-

#9 Updated by Luis Lavena over 2 years ago

  • Category set to build
  • Status changed from Open to Assigned
  • Assignee set to Nobuyoshi Nakada
  • Priority changed from Normal to Urgent
  • Target version set to 1.9.3

Thank you Hiroshi Shirosaki for your patch.

There is one slight detail on this and is that it uses result from uname and NT-5.1 which might not work if you build on newer version of Windows (NT-6.1 for Windows 7)

I think -fno-omit-frame-pointer check should be done similar to other compiler flags for mingw platform independently of the version of Windows you're using to compile it.

Nobu, what are you thoughts? This is the remaining blocker for 1.9.3.

#10 Updated by Luis Lavena over 2 years ago

  • Status changed from Assigned to Closed

Closing it out as duplicate of #5407 as efforts on solve the issue has been made in that issue.

Thank you.

#11 Updated by Luis Lavena over 2 years ago

  • % Done changed from 0 to 100

Hello,

Closed this issue by mistake. This is solved now by r33577 on trunk.

Will request backport to 1.9.3

Thank you for your patience.

Also available in: Atom PDF