Uploaded image for project: 'C++ Standard Library'
  1. C++ Standard Library
  2. STDCXX-140

infinite loop on I/O in locale

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 4.1.3
    • 4.1.4
    • 22. Localization
    • None
    • NetBSD 3.0
      GCC 3.3.3

    Description

      When trying to run the accum example on this platform, it hangs after the first line of text is sent to stdout.
      Runing the example under gdb, then sending an interupt signal after it hangs produces the following output

      td143.testdrive.hp.com> gdb accum
      GNU gdb 5.3nb1
      Copyright 2002 Free Software Foundation, Inc.
      GDB is free software, covered by the GNU General Public License, and you are
      welcome to change it and/or distribute copies of it under certain conditions.
      Type "show copying" to see the conditions.
      There is absolutely no warranty for GDB. Type "show warranty" for details.
      This GDB was configured as "i386--netbsdelf"...
      (gdb) run
      Starting program: /tmp/ablackrw/stdcxx-11d/examples/accum

      For the series:
      Program received signal SIGINT, Interrupt.
      0xbdb4691d in _rw::_rw_locale::_C_is_managed(int) const (this=0xbdbe45e0,
      cat=256) at /house/ablackrw/stdcxx/src/locale_body.cpp:1092
      1092 while (next && !(__rw_cats [catinx].facet_bits & (1 << i))) {
      (gdb) bt
      #0 0xbdb4691d in _rw::_rw_locale::_C_is_managed(int) const (
      this=0xbdbe45e0, cat=256)
      at /house/ablackrw/stdcxx/src/locale_body.cpp:1092
      #1 0xbdb48b91 in std::locale::~locale() (this=0xbfbfeb10)
      at /house/ablackrw/stdcxx/src/locale_core.cpp:68
      #2 0xbdb57a88 in std::basic_ios<char, std::char_traits<char> >::widen(char) const (this=0xbdbe07e4, __c=32 ' ')
      at /house/ablackrw/stdcxx/include/rw/_basic_ios.h:219
      #3 0xbdb57474 in std::basic_ios<char, std::char_traits<char> >::fill() const (
      this=0xbdbe07e4) at /house/ablackrw/stdcxx/include/rw/_basic_ios.h:253
      #4 0xbdb57d91 in std::basic_ostream<char, std::char_traits<char> >& _rw::rw_insert<char, std::char_traits<char>, long>(std::basic_ostream<char, std::char_traits<char> >&, long) (_strm=@0xbdbe07e0, __val=1)
      at /house/ablackrw/stdcxx/include/rw/_ioinsert.cc:43
      #5 0xbdb66e8f in std::ostream::operator<<(int) (this=0xbdbe07e0, __val=1)
      at /house/ablackrw/stdcxx/include/ostream:282
      #6 0x08048fd1 in main ()
      at /house/ablackrw/stdcxx/examples/manual/accum.cpp:49
      #7 0x08048cb6 in ___start ()

      Attachments

        Activity

          People

            sebor Martin Sebor
            ablack-rw Andrew Black
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: