public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: Ivan Gagis <igagis@gmail.com>
To: The Cygwin Mailing List <cygwin@cygwin.com>
Subject: Re: g++ std::map initializing raises segmentation fault.
Date: Fri, 07 Jul 2017 12:09:00 -0000	[thread overview]
Message-ID: <CAL_02JCZd=vQoAUDX6o6SZe6JJSWi1W-oUhCqYrgz3+KM4nV-g@mail.gmail.com> (raw)

Hi,

I'm having the same problem after updating to latest cygwin packages.
It seems quite important problem, are there any plans to fix it?

Trying to debug the test program from Masamichi Hosoda it can be seen
that crash occurs in std::map implementation, see stacktrace below. I
wonder if there was any update to STL recently in cygwin?


Program received signal SIGSEGV, Segmentation fault.
0x0000000100401bf4 in std::less<int>::operator()(int const&, int
const&) const ()
(gdb) bt
#0  0x0000000100401bf4 in std::less<int>::operator()(int const&, int
const&) const ()
#1  0x00000001004028dd in std::_Rb_tree<int, std::pair<int const,
int>, std::_Select1st<std::pair<int const, int> >, std::less<int>,
std::allocator<std::pair<int const, int> >
>::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator<std::pair<int
const, int> >, int const&) ()
#2  0x0000000100402685 in std::_Rb_tree_iterator<std::pair<int const,
int> > std::_Rb_tree<int, std::pair<int const, int>,
std::_Select1st<std::pair<int const, int> >, std::less<int>,
std::allocator<std::pair<int const, int> >
>::_M_insert_unique_<std::pair<int const, int> const&,
std::_Rb_tree<int, std::pair<int const, int>,
std::_Select1st<std::pair<int const, int> >, std::less<int>,
std::allocator<std::pair<int const, int> >
>::_Alloc_node>(std::_Rb_tree_const_iterator<std::pair<int const, int>
>, std::pair<int const, int> const&, std::_Rb_tree<int, std::pair<int
const, int>, std::_Select1st<std::pair<int const, int> >,
std::less<int>, std::allocator<std::pair<int const, int> >
>::_Alloc_node&) ()
#3  0x0000000100402579 in void std::_Rb_tree<int, std::pair<int const,
int>, std::_Select1st<std::pair<int const, int> >, std::less<int>,
std::allocator<std::pair<int const, int> >
>::_M_insert_unique<std::pair<int const, int> const*>(std::pair<int
const, int> const*, std::pair<int const, int> const*) ()
#4  0x0000000100401fec in std::map<int, int, std::less<int>,
std::allocator<std::pair<int const, int> >
>::map(std::initializer_list<std::pair<int const, int> >,
std::less<int> const&, std::allocator<std::pair<int const, int> >
const&) ()
#5  0x00000001004011a8 in __static_initialization_and_destruction_0(int, int) ()
#6  0x000000010040120a in _GLOBAL__sub_I_m ()
#7  0x0000000180045ef5 in do_global_ctors (force=0,
in_pfunc=0x100402ec0 <___CTOR_LIST__>) at
/usr/src/debug/cygwin-2.8.1-1/winsup/cygwin/dcrt0.cc:77
#8  __main () at /usr/src/debug/cygwin-2.8.1-1/winsup/cygwin/dcrt0.cc:1128
#9  0x00000001004010ed in main ()

Br,
Ivan

>
> From: Masamichi Hosoda <trueroad at trueroad dot jp>
> To: cygwin at cygwin dot com
> Date: Thu, 06 Jul 2017 21:26:22 +0900 (JST)
> Subject: g++ std::map initializing raises segmentation fault.
> Authentication-results: sourceware.org; auth=none
>
>
> Hello,
>
> On Cygwin 2.8.1 x86_64, I've found that g++ std:map initializing
> may raise segmentation fault.
> The binary compiled with cygwin-devel-2.8.0-1
> does not raise segmentation fault
> even if on Cygwin 2.8.1 x86_64 environments.
>
> So I suspect cygwin-devel-2.8.1-1 is the cause.
>
> Here's sample code for reproduce.
>
> ```
> // foo.cc
> // g++ -std=c++11 foo.cc
>
> #include<iostream>
> #include<map>
>
> std::map<int, int> m
> {
>   { 1, 1},
>   { 2, 2}
> };
>
> int main ()
> {
>   std::cout << "Hello World!" << std::endl;
> }
> ```
>
> I've reproduced it on both Windows 7 64 bit and Windows 10 64 bit.
>
> ```
> $ ./a
> Segmentation fault (core dumped)
>
> $
> ```
>
> Here's my environment.
>
> ```
> $ uname -a
> CYGWIN_NT-10.0 Z87EXTREAM4 2.8.1(0.312/5/3) 2017-07-03 14:11 x86_64 Cygwin
>
> $ g++ --version
> g++ (GCC) 5.4.0
> Copyright (C) 2015 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions.  There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
>
>
> $
> ```
>
> Thanks

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

             reply	other threads:[~2017-07-07 12:09 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-07 12:09 Ivan Gagis [this message]
  -- strict thread matches above, loose matches on Subject: below --
2017-07-06 12:26 Masamichi Hosoda
2017-07-07 12:51 ` Marco Atzeri
2017-07-07 13:35   ` Marco Atzeri
2017-07-07 14:09     ` Masamichi Hosoda
2017-07-07 14:21       ` Ivan Gagis
2017-07-07 14:28         ` Marco Atzeri
2017-07-07 16:01           ` Masamichi Hosoda
2017-07-07 15:12 ` Ken Brown
2017-07-07 20:43   ` Ken Brown
2017-07-07 22:32     ` Yaakov Selkowitz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAL_02JCZd=vQoAUDX6o6SZe6JJSWi1W-oUhCqYrgz3+KM4nV-g@mail.gmail.com' \
    --to=igagis@gmail.com \
    --cc=cygwin@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).