stdcxx-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Sebor (JIRA)" <j...@apache.org>
Subject [jira] Commented: (STDCXX-847) [XLC++ 7,8,9] SEGV in 22.locale.time.get
Date Wed, 16 Apr 2008 16:35:22 GMT

    [ https://issues.apache.org/jira/browse/STDCXX-847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12589633#action_12589633
] 

Martin Sebor commented on STDCXX-847:
-------------------------------------

Sorry, I misunderstood.

I'd try to narrow down the test case a bit more to see if there's a specific locale or sequence
of locales that triggers the segfault. If so, then you might be able to avoid that locale
or sequence.

> [XLC++ 7,8,9] SEGV in 22.locale.time.get
> ----------------------------------------
>
>                 Key: STDCXX-847
>                 URL: https://issues.apache.org/jira/browse/STDCXX-847
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: Test Driver
>    Affects Versions: 4.2.1
>         Environment: AIX 5.3 PowerPC IBM XLC++ 9.0
> AIX 5.3 PowerPC IBM XLC++ 8.0
> AIX 5.3 PowerPC IBM XLC++ 7.0
>            Reporter: Travis Vitek
>            Assignee: Travis Vitek
>             Fix For: 4.2.1
>
>   Original Estimate: 4h
>          Time Spent: 6h
>  Remaining Estimate: 0h
>
> On AIX, when compiled with XLC++, the test [22.locale.time.get.cpp|http://svn.apache.org/viewvc/stdcxx/trunk/tests/localization/22.locale.time.get.cpp?view=markup]
fails with a {{SIGSEGV}} in all build types.
> This is the stack dump at the time of the crash.
> {noformat}
> Segmentation fault in __xisdigit at 0xd033cc00
> 0xd033cc00 (__xisdigit+0x14) 80a30000        lwz   r5,0x0(r3)
> (dbx) where
> __xisdigit(0x5b5b0000, 0x58) at 0xd033cc00
> doformat(??, ??, ??, ??, ??, ??, ??, ??) at 0xd0338660
> __strftime_std(??, ??, ??, ??, ??, ??, ??, ??) at 0xd0338464
> strftime(??, ??, ??, ??) at 0xd0341c48
> unnamed block in void test_english<char>(char,const char*,const char*)( = '\0',
cname = "char", locname = warning: Unable to access address 0x2006cbf8 from core
> (invalid char ptr (0x2006cbf8))), line 933 in "22.locale.time.get.cpp"
> void test_english<char>(char,const char*,const char*)( = '\0', cname = "char",
locname = warning: Unable to access address 0x2006cbf8 from core
> (invalid char ptr (0x2006cbf8))), line 933 in "22.locale.time.get.cpp"
> run_test(int,char**)( = 1,  = 0x2ff22a3c), line 1611 in "22.locale.time.get.cpp"
> rw_vtest(int,char**,const char*,const char*,const char*,int(*)(int,char**),const char*,char*)(argc
= 1, argv = 0x2ff22a3c, file_name = "/amd/devco/vitek/stdcxx/trunk/tests/localization/22.locale.time.get.cpp",
clause = "lib.locale.time.get", comment = (nil), fun = 0x2005ec08, optstr = "", va = ""),
line 1040 in "driver.cpp"
> rw_test(int,char**,const char*,const char*,const char*,int(*)(int,char**),const char*,...)(argc
= 1, argv = 0x2ff22a3c, fname = "/amd/devco/vitek/stdcxx/trunk/tests/localization/22.locale.time.get.cpp",
clause = "lib.locale.time.get", comment = (nil), testfun = 0x2005ec08, optstr = "", ... =
0x0), line 1138 in "driver.cpp"
> main(argc = 1, argv = 0x2ff22a3c), line 1668 in "22.locale.time.get.cpp"
> (dbx) list 920,940
>   920       TEST (T (0, 0, 0, 1, 0, 100), "%x", 8, "x", 0, Eof);
>   921   
>   922       // exercise time (time_get::get_time())
>   923       FUNCTION ("get_time");
>   924   
>   925       int len;
>   926   
>   927       {
>   928           // determine whether "%X" is equivalent to "%I:%M:%S %p"
>   929           // (e.g., HP-UX or Linux) or to "%I:%M:%S" (e.g., Compaq
>   930           // Tru64 UNIX)
>   931           char buf [128];
>   932           const std::tm tmb = mktm (0, 0, 1);
>   933           len = std::strftime (buf, sizeof buf, "%X", &tmb);
>   934       }
>   935   
>   936       const int hour = 11 == len ? 12 : 0;
>   937   
>   938       TEST (T ( 0, 0,  0), "%X", len, "X", 0, 11 == len ? Good : Eof);
>   939       TEST (T ( 0, 0,  1), "%X", len, "X", 0, 11 == len ? Good : Eof);
>   940       TEST (T ( 0, 0, 11), "%X", len, "X", 0, 11 == len ? Good : Eof);
> (dbx) quit
> {noformat}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message