You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@stdcxx.apache.org by "Travis Vitek (JIRA)" <ji...@apache.org> on 2008/05/16 23:27:55 UTC

[jira] Resolved: (STDCXX-938) [aCC 363/HP 11.11] SEGV in 22.locale.*.mt

     [ https://issues.apache.org/jira/browse/STDCXX-938?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Travis Vitek resolved STDCXX-938.
---------------------------------

    Resolution: Fixed

Committed fix in [r657220|http://svn.apache.org/viewvc?rev=657220&view=rev].

> [aCC 363/HP 11.11] SEGV in 22.locale.*.mt
> -----------------------------------------
>
>                 Key: STDCXX-938
>                 URL: https://issues.apache.org/jira/browse/STDCXX-938
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: Test Driver
>         Environment: HP-UX B.11.11 U
> aCC: HP ANSI C++ B3910B A.03.63
>            Reporter: Travis Vitek
>            Assignee: Travis Vitek
>             Fix For: 4.2.2
>
>   Original Estimate: 2h
>          Time Spent: 2h
>  Remaining Estimate: 0h
>
> I've reduced the problem to the following testcase...
> {noformat}
> [vitek@jenga tests]$ cat t.cpp; aCC -g t.cpp; gdb a.out
> extern "C" {
>   typedef void rw_signal_handler_t (int);
> }
> rw_signal_handler_t* const rw_sig_ign = (rw_signal_handler_t*)-2;
> unsigned rw_alarm (rw_signal_handler_t* handler)
> {
>   if (rw_sig_ign == handler) {
>     return 4;
>   }
>   else if (handler) {
>     return 5;
>   }
>   return 0;
> }
> extern "C" {
>   void my_signal_handler (int) { }
> }
> int main ()
> {
>   rw_alarm (my_signal_handler);
>   return 0;
> }
> HP gdb 5.0 for PA-RISC 1.1 or 2.0 (narrow), HP-UX 11.00
> and target hppa1.1-hp-hpux11.00.
> Copyright 1986 - 2001 Free Software Foundation, Inc.
> Hewlett-Packard Wildebeest 5.0 (based on GDB) is covered by the
> GNU General Public License. Type "show copying" to see the conditions to
> change it and/or distribute copies. Type "show warranty" for warranty/support.
> ..
> (gdb) run
> Starting program: /build/vitek/4.2.2/12s/tests/a.out 
> Program received signal SIGSEGV, Segmentation fault
>   si_code: 0 - SEGV_UNKNOWN - Unknown Error.
> 0x2d60 in rw_alarm (handler=0x4000113a <my_signal_handler>) at t.cpp:9
> 9         if (rw_sig_ign == handler) {
> (gdb) where
> #0  0x2d60 in rw_alarm (handler=0x4000113a <my_signal_handler>) at t.cpp:9
> #1  0x2df0 in main () at t.cpp:26
> {noformat}

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


Re: [jira] Resolved: (STDCXX-938) [aCC 363/HP 11.11] SEGV in 22.locale.*.mt

Posted by Martin Sebor <se...@roguewave.com>.
Travis Vitek wrote:
>  
> 
>> Martin Sebor wrote:
>>
>> Travis Vitek wrote:
>>>  
>>>
>>>> Martin Sebor wrote:
>>>>
>>>> Travis Vitek (JIRA) wrote:
>>>> [...]
>>>>>> I've reduced the problem to the following testcase...
>>>> I haven't looked at it very closely -- is this a compiler bug?
>>>>
>>>> Martin
>>>>
>>> It believe it is. I'm filing an external bug right now for that.
>> Cool. FYI, I played with it a little and here's what I reduced
>> it to:
>>
>>   extern "C" typedef void F (int);
>>   extern "C" void bar (int) { }
>>
>>   int main () {
>>       F* const f = (F*)-2;
>>       return f == bar;
>>   }
>>
> 
> I've arrived at nearly the same testcase. I was able to omit the C
> linkage stuff. Filed as STDCXX-939.

Even more concise! Except your names are longer ;-)

Martin

> 
>> I sent the test case to HP.
>>
> 
> Thanks!
> 
> 
> 
>> Martin
>>


RE: [jira] Resolved: (STDCXX-938) [aCC 363/HP 11.11] SEGV in 22.locale.*.mt

Posted by Travis Vitek <Tr...@roguewave.com>.
 

>Martin Sebor wrote:
>
>Travis Vitek wrote:
>>  
>> 
>>> Martin Sebor wrote:
>>>
>>> Travis Vitek (JIRA) wrote:
>>> [...]
>>>>> I've reduced the problem to the following testcase...
>>> I haven't looked at it very closely -- is this a compiler bug?
>>>
>>> Martin
>>>
>> 
>> It believe it is. I'm filing an external bug right now for that.
>
>Cool. FYI, I played with it a little and here's what I reduced
>it to:
>
>   extern "C" typedef void F (int);
>   extern "C" void bar (int) { }
>
>   int main () {
>       F* const f = (F*)-2;
>       return f == bar;
>   }
>

I've arrived at nearly the same testcase. I was able to omit the C
linkage stuff. Filed as STDCXX-939.

>I sent the test case to HP.
>

Thanks!



>Martin
>

Re: [jira] Resolved: (STDCXX-938) [aCC 363/HP 11.11] SEGV in 22.locale.*.mt

Posted by Martin Sebor <se...@roguewave.com>.
Travis Vitek wrote:
>  
> 
>> Martin Sebor wrote:
>>
>> Travis Vitek (JIRA) wrote:
>> [...]
>>>> I've reduced the problem to the following testcase...
>> I haven't looked at it very closely -- is this a compiler bug?
>>
>> Martin
>>
> 
> It believe it is. I'm filing an external bug right now for that.

Cool. FYI, I played with it a little and here's what I reduced
it to:

   extern "C" typedef void F (int);
   extern "C" void bar (int) { }

   int main () {
       F* const f = (F*)-2;
       return f == bar;
   }

I sent the test case to HP.

Martin

RE: [jira] Resolved: (STDCXX-938) [aCC 363/HP 11.11] SEGV in 22.locale.*.mt

Posted by Travis Vitek <Tr...@roguewave.com>.
 

>Martin Sebor wrote:
>
>Travis Vitek (JIRA) wrote:
>> 
>[...]
>>> I've reduced the problem to the following testcase...
>
>I haven't looked at it very closely -- is this a compiler bug?
>
>Martin
>

It believe it is. I'm filing an external bug right now for that.

Travis

Re: [jira] Resolved: (STDCXX-938) [aCC 363/HP 11.11] SEGV in 22.locale.*.mt

Posted by Martin Sebor <se...@roguewave.com>.
Travis Vitek (JIRA) wrote:
>      [ https://issues.apache.org/jira/browse/STDCXX-938?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
> 
[...]
>> I've reduced the problem to the following testcase...

I haven't looked at it very closely -- is this a compiler bug?

Martin

>> {noformat}
>> [vitek@jenga tests]$ cat t.cpp; aCC -g t.cpp; gdb a.out
>> extern "C" {
>>   typedef void rw_signal_handler_t (int);
>> }
>> rw_signal_handler_t* const rw_sig_ign = (rw_signal_handler_t*)-2;
>> unsigned rw_alarm (rw_signal_handler_t* handler)
>> {
>>   if (rw_sig_ign == handler) {
>>     return 4;
>>   }
>>   else if (handler) {
>>     return 5;
>>   }
>>   return 0;
>> }
>> extern "C" {
>>   void my_signal_handler (int) { }
>> }
>> int main ()
>> {
>>   rw_alarm (my_signal_handler);
>>   return 0;
>> }
>> HP gdb 5.0 for PA-RISC 1.1 or 2.0 (narrow), HP-UX 11.00
>> and target hppa1.1-hp-hpux11.00.
>> Copyright 1986 - 2001 Free Software Foundation, Inc.
>> Hewlett-Packard Wildebeest 5.0 (based on GDB) is covered by the
>> GNU General Public License. Type "show copying" to see the conditions to
>> change it and/or distribute copies. Type "show warranty" for warranty/support.
>> ..
>> (gdb) run
>> Starting program: /build/vitek/4.2.2/12s/tests/a.out 
>> Program received signal SIGSEGV, Segmentation fault
>>   si_code: 0 - SEGV_UNKNOWN - Unknown Error.
>> 0x2d60 in rw_alarm (handler=0x4000113a <my_signal_handler>) at t.cpp:9
>> 9         if (rw_sig_ign == handler) {
>> (gdb) where
>> #0  0x2d60 in rw_alarm (handler=0x4000113a <my_signal_handler>) at t.cpp:9
>> #1  0x2df0 in main () at t.cpp:26
>> {noformat}
>