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

SIGABRT in 22.locale.codecvt.out

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • None
    • 4.2.1
    • Tests
    • None
    • Runtime Error

    Description

      Looks like a recent change to rw_printf() is causing 22.locale.codecvt.out.cpp to fail with SIGABRT. Here's the output of the test on HP aCC 6.16:

      $ ./22.locale.codecvt.out -q
      # ERROR (S8) (5 lines):
      # TEXT: the environment variable TOPDIR is undefined
      # CLAUSE: lib.locale.codecvt.virtuals
      # FILE: locale.cpp
      # LINE: 216
      
      # ERROR (S8) (4 lines):
      # TEXT: failed to create a locale database
      # CLAUSE: lib.locale.codecvt.virtuals
      # LINE: 670
      
      /amd/devco/sebor/stdcxx/tests/src/printf.cpp:980: int rw_vasnprintf(char **, unsigned long *, const char *, __va_list__): Assertion 'buf.endoff < *buf.pbufsize' failed.
      (0)  0xc000000006c29890  _ZN4__rw16__rw_assert_failEPKcS1_iS1_ + 0x170 at /amd/devco/sebor/stdcxx/src/assert.cpp:103 [/build/sebor/stdcxx-aCC-6.16-15D/lib/libstd15D.sl]
      (1)  0x4000000000050f60  _Z13rw_vasnprintfPPcPmPKc11__va_list__ + 0x3e0 at /amd/devco/sebor/stdcxx/tests/src/printf.cpp:980 [./22.locale.codecvt.out]
      (2)  0x4000000000062240  _Z12rw_asnprintfPPcPmPKcz + 0x180 at /amd/devco/sebor/stdcxx/tests/src/printf.cpp:3272 [./22.locale.codecvt.out]
      (3)  0x40000000000292c0  _Z31test_wcodecvt_byname_libc_basedv + 0xe80 at /amd/devco/sebor/stdcxx/tests/localization/22.locale.codecvt.out.cpp:869 [./22.locale.codecvt.out]
      (4)  0x400000000002e8b0  _Z20test_wcodecvt_bynamev + 0x80 at /amd/devco/sebor/stdcxx/tests/localization/22.locale.codecvt.out.cpp:1082 [./22.locale.codecvt.out]
      (5)  0x400000000002ea00  _Z8run_testiPPc + 0x80 at /amd/devco/sebor/stdcxx/tests/localization/22.locale.codecvt.out.cpp:1111 [./22.locale.codecvt.out]
      (6)  0x4000000000032730  _Z8rw_vtestiPPcPKcS2_S2_PFiiS0_ES2_11__va_list__ + 0xaf0 at /amd/devco/sebor/stdcxx/tests/src/driver.cpp:1040 [./22.locale.codecvt.out]
      (7)  0x4000000000033750  _Z7rw_testiPPcPKcS2_S2_PFiiS0_ES2_z + 0xd0 at /amd/devco/sebor/stdcxx/tests/src/driver.cpp:1137 [./22.locale.codecvt.out]
      (8)  0x400000000002eb60  main + 0x70 at /amd/devco/sebor/stdcxx/tests/localization/22.locale.codecvt.out.cpp:1118 [./22.locale.codecvt.out]
      (9)  0xc000000000052a90  main_opd_entry + 0x50 [/usr/lib/hpux64/dld.so]
      ABORT instruction (core dumped)
      

      wdb stack trace:

      #0  0x9fffffffef333eb0:0 in _lwp_kill+0x30 () from /usr/lib/hpux64/libpthread.so.1
      #1  0x9fffffffef2a00a0:0 in pthread_kill+0x900 () from /usr/lib/hpux64/libpthread.so.1
      #2  0x9fffffffeeff4400:0 in raise+0xe0 () from /usr/lib/hpux64/libc.so.1
      #3  0x9fffffffef0f0db0:0 in abort+0x170 () from /usr/lib/hpux64/libc.so.1
      #4  0x9fffffffef6118a0:0 in __rw::__rw_assert_fail (
          expr=0x4000000000019ed0 "buf.endoff < *buf.pbufsize", 
          file=0x4000000000019ab0 "/amd/devco/sebor/stdcxx/tests/src/printf.cpp", 
          line=980, 
          func=0x4000000000019e80 "int rw_vasnprintf(char **, unsigned long *, const char *, __va_list__)") at /amd/devco/sebor/stdcxx/src/assert.cpp:103
      #5  0x4000000000050f60:0 in rw_vasnprintf (pbuf=0x9fffffffffffea28, 
          pbufsize=0x9fffffffffffea20, fmt=0x4000000000014fe4 "%s{ %{#lc}, %{#s} }", 
          varg=0x9fffffffffffe9c8)
          at /amd/devco/sebor/stdcxx/tests/src/printf.cpp:980
      #6  0x4000000000062240:0 in rw_asnprintf (pbuf=0x9fffffffffffea28, 
          pbufsize=0x9fffffffffffea20, 
          fmt=0x4000000000014fe0 "%{+}%s{ %{#lc}, %{#s} }")
          at /amd/devco/sebor/stdcxx/tests/src/printf.cpp:3272
      warning: 
      ERROR: Use the "objectdir" command to specify the search
      path for objectfile 22.locale.codecvt.out.o.
      If NOT specified will behave as a non -g compiled binary.
      
      #7  0x40000000000292c0:0 in test_wcodecvt_byname_libc_based()+0xe80 ()
      #8  0x400000000002e8b0:0 in test_wcodecvt_byname()+0x80 ()
      #9  0x400000000002ea00:0 in run_test(int,char**)+0x80 ()
      #10 0x4000000000032730:0 in rw_vtest (argc=1, argv=0x9ffffffffffff520, 
          file_name=0x4000000000014220 "/amd/devco/sebor/stdcxx/tests/localization/22.locale.codecvt.out.cpp", 
          clause=0x4000000000015310 "lib.locale.codecvt.virtuals", comment=0x0, 
          fun=0x400000000001f970 <.opd>, optstr=0x4000000000014535 "", 
          va=0x9ffffffffffff0d8) at /amd/devco/sebor/stdcxx/tests/src/driver.cpp:1040
      #11 0x4000000000033750:0 in rw_test (argc=1, argv=0x9ffffffffffff520, 
          fname=0x4000000000014220 "/amd/devco/sebor/stdcxx/tests/localization/22.locale.codecvt.out.cpp", clause=0x4000000000015310 "lib.locale.codecvt.virtuals", 
          comment=0x0, testfun=0x400000000001f970 <.opd>, 
          optstr=0x4000000000014535 "")
          at /amd/devco/sebor/stdcxx/tests/src/driver.cpp:1137
      #12 0x400000000002eb60:0 in main+0x70 ()
      

      Attachments

        Activity

          People

            farid Farid Zaripov
            sebor Martin Sebor
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - 0.5h
                0.5h
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 0.5h
                0.5h