Project

General

Profile

Actions

Bug #5407

closed

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

Added by phasis68 (Heesob Park) over 12 years ago. Updated over 12 years ago.

Status:
Closed
Target version:
ruby -v:
-
Backport:
[ruby-core:39957]

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 -DRUBY_EXPORT
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 <top (required)>'
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 <top (required)>'
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 parse_file'
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/code_object.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/class_module.rb
    12 c:/work/ruby-1.9.3-rc1/lib/rdoc/normal_class.rb
    13 c:/work/ruby-1.9.3-rc1/lib/rdoc/normal_module.rb
    14 c:/work/ruby-1.9.3-rc1/lib/rdoc/anon_class.rb
    15 c:/work/ruby-1.9.3-rc1/lib/rdoc/single_class.rb
    16 c:/work/ruby-1.9.3-rc1/lib/rdoc/method_attr.rb
    17 c:/work/ruby-1.9.3-rc1/lib/rdoc/token_stream.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/ghost_method.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/code_objects.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/list_item.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/attribute_manager.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/ruby_token.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/ruby_tools.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/date_core.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/path_support.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/cross_reference.rb
    91 c:/work/ruby-1.9.3-rc1/lib/rdoc/markup/to_html_crossref.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/single_byte.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 3 (1 open2 closed)

Related to Backport193 - Backport #5518: Please backport r33577 (mingw: append -fno-omit-frame-pointer)Closedyugui (Yuki Sonoda)10/31/2011Actions
Related to Ruby master - Bug #14480: miniruby crashing when compiled with -O2 or -O1 on aarch64OpenActions
Is duplicate of Ruby master - Bug #5375: [mingw32] segfault on WinXP SP3 with 1.9.3dev@33347Closedluislavena (Luis Lavena)09/28/2011Actions

Updated by jonforums (Jon Forums) over 12 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.

Actions #2

Updated by phasis68 (Heesob Park) over 12 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.

Updated by phasis68 (Heesob Park) over 12 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.

Updated by luislavena (Luis Lavena) over 12 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 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

Updated by phasis68 (Heesob Park) over 12 years ago

Hi,

2011/10/17 Luis Lavena

On Mon, Oct 17, 2011 at 11:59 AM, Heesob Park 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/ruby_tools.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 parse_file'
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_top_level_statements'
c:/work/snapshot/lib/rdoc/parser/ruby.rb:1313:in parse_statements' c:/work/snapshot/lib/rdoc/parser/ruby.rb:626:in parse_class'
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 parse_method'
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 parse_method'
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 parse_method'
c:/work/snapshot/lib/rdoc/parser/ruby_tools.rb:142:in token_listener' c:/work/snapshot/lib/rdoc/parser/ruby_tools.rb:108:in remove_token_listener'
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/code_object.rb
    9 c:/work/snapshot/lib/rdoc/context.rb
    10 c:/work/snapshot/lib/rdoc/top_level.rb
    11 c:/work/snapshot/lib/rdoc/class_module.rb
    12 c:/work/snapshot/lib/rdoc/normal_class.rb
    13 c:/work/snapshot/lib/rdoc/normal_module.rb
    14 c:/work/snapshot/lib/rdoc/anon_class.rb
    15 c:/work/snapshot/lib/rdoc/single_class.rb
    16 c:/work/snapshot/lib/rdoc/method_attr.rb
    17 c:/work/snapshot/lib/rdoc/token_stream.rb
    18 c:/work/snapshot/lib/rdoc/any_method.rb
    19 c:/work/snapshot/lib/rdoc/alias.rb
    20 c:/work/snapshot/lib/rdoc/ghost_method.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/code_objects.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/list_item.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/attribute_manager.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/ruby_token.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/ruby_tools.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/date_core.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/cross_reference.rb
    82 c:/work/snapshot/lib/rdoc/markup/to_html_crossref.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/single_byte.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

Updated by h.shirosaki (Hiroshi Shirosaki) over 12 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 @@ target_os="echo ${target_os} | sed 's/msvc$//'"
AS_CASE(["$target_cpu-$target_os"], [x86_64-mingw*], [
target_cpu=x64
])
+AS_CASE(["$target_os"], [mingw*], [
+kernel_name=uname -s
+gcc_version=$CC --version | head -n1
+AS_CASE(["$kernel_name-$gcc_version"],

  • [NT-5.1-" 4.6."*], [optflags="-O3 -fno-omit-frame-pointer"])
    +])
    ])

AC_DEFUN([RUBY_CPPOUTFILE],

Updated by usa (Usaku NAKAMURA) over 12 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-core:40204] [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, 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 @@ target_os="echo ${target_os} | sed 's/msvc$//'"
AS_CASE(["$target_cpu-$target_os"], [x86_64-mingw*], [
target_cpu=x64
])
+AS_CASE(["$target_os"], [mingw*], [
+kernel_name=uname -s
+gcc_version=$CC --version | head -n1
+AS_CASE(["$kernel_name-$gcc_version"],

  • [NT-5.1-" 4.6."*], [optflags="-O3 -fno-omit-frame-pointer"])
    +])
    ])

AC_DEFUN([RUBY_CPPOUTFILE],


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 -DRUBY_EXPORT
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 <top (required)>'
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 <top (required)>'
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 parse_file'
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/code_object.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/class_module.rb
    12 c:/work/ruby-1.9.3-rc1/lib/rdoc/normal_class.rb
    13 c:/work/ruby-1.9.3-rc1/lib/rdoc/normal_module.rb
    14 c:/work/ruby-1.9.3-rc1/lib/rdoc/anon_class.rb
    15 c:/work/ruby-1.9.3-rc1/lib/rdoc/single_class.rb
    16 c:/work/ruby-1.9.3-rc1/lib/rdoc/method_attr.rb
    17 c:/work/ruby-1.9.3-rc1/lib/rdoc/token_stream.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/ghost_method.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/code_objects.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/list_item.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/attribute_manager.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/ruby_token.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/ruby_tools.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/date_core.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/path_support.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/cross_reference.rb
    91 c:/work/ruby-1.9.3-rc1/lib/rdoc/markup/to_html_crossref.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/single_byte.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

Updated by Anonymous over 12 years ago

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

Why is this required for mswin?
-roger-

Updated by luislavena (Luis Lavena) over 12 years ago

  • Category set to build
  • Status changed from Open to Assigned
  • Assignee set to nobu (Nobuyoshi Nakada)
  • Priority changed from Normal to 6
  • 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.

Actions #10

Updated by luislavena (Luis Lavena) over 12 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.

Updated by luislavena (Luis Lavena) over 12 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.

Actions #12

Updated by wanabe (_ wanabe) about 6 years ago

  • Related to Bug #14480: miniruby crashing when compiled with -O2 or -O1 on aarch64 added
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0