Purify-4.5.1-Solaris 2.x with egcs-2.91.66

Priya Narasimhan priya@lambda.ece.ucsb.edu
Thu Feb 24 16:52:00 GMT 2000


Hi,

I am trying to evaluate Rational's Purify-4.5.1 on a Solaris 2.5.1
machine. When I compiled my program using g++ from the
egcs-2.91.66 distribution, using libstdc++.so.2.9.0, 
my program quits with a SIGSEGV and a core dump as soon
as the Purify viewer is launched. This is the output
from Purify

  -> Finished  repMech-3.0          (   3 errors, 0 leaked bytes)
   -> Purify instrumented ./repMech-3.0 (pid 7728 at Thu Feb 24 16:35:12 2000)
      Purify 4.5.1 Solaris 2, Copyright (C) 1992-1999 Rational Software Corp. 
      All rights reserved. 
      For contact information type: "purify -help"
      For TTY output, use the option "-windows=no"
      Command-line: ./repMech-3.0 
      Options settings: -cache-dir=/home5/priya/cache -g++=yes -purify \
          -purify-home=/sw3/Rational/purify-4.5.1-solaris2 -threads=yes \
          -use-internal-locks=yes -thread_stack_change=0x4000 -mt_safe_malloc=yes 
      Purify licensed to Purify Evaluation User
      Purify checking enabled.
   -> MSE: Memory segment error
      This is occurring while in:
            __register_frame_info [frame.c]
            frame_dummy    [libstdc++.so.2.9.0]
            _init          [libstdc++.so.2.9.0]
            _p134static    [rtlib.o]
            _p887static    [rtlib.o]
            _p1061static   [rtlib.o]
      Accessing a memory range that crosses a memory segment boundary.
      Addressing 0x81e80008 for 4 bytes ending at 0x81e8000c,
      which is neither in the heap nor the main stack.
   -> SIG: Signal handled
      This is occurring while in:
            __register_frame_info [frame.c]
            frame_dummy    [libstdc++.so.2.9.0]
            _init          [libstdc++.so.2.9.0]
            _p134static    [rtlib.o]
            _p887static    [rtlib.o]
            _p1061static   [rtlib.o]
      Received signal 11 (SIGSEGV - Segmentation Fault)
      Faulting address = 0x81e80000
      Signal mask: (SIGHUP | SIGINT | SIGQUIT | SIGILL | SIGTRAP | \
          SIGABRT | SIGEMT | SIGFPE | SIGBUS | SIGSEGV | SIGSYS | SIGPIPE | \
          SIGALRM | SIGTERM | SIGUSR1 | SIGUSR2 | SIGCHLD | SIGPWR | \
          SIGWINCH | SIGURG | SIGPOLL | SIGTSTP | SIGCONT | SIGTTIN | \
          SIGTTOU | SIGVTALRM | SIGPROF | SIGXCPU | SIGXFSZ | SIGWAITING | \
          SIGLWP) 
      Pending signals: 
   -> COR: Fatal core dump
      This is occurring while in:
            __register_frame_info [frame.c]
            frame_dummy    [libstdc++.so.2.9.0]
            _init          [libstdc++.so.2.9.0]
            _p134static    [rtlib.o]
            _p887static    [rtlib.o]
            _p1061static   [rtlib.o]
      Received signal 11 (SIGSEGV - Segmentation Fault)
      Faulting address = 0x81e80000
      Signal mask: (SIGSEGV) 
      Pending signals: 

When I compile the same program with the Sun SparcWorks 4.1 compiler,
Purify seems to work, and does not cause the program to die.

Is this a well-known problem, or am I missing something here?

Thank you in advance for your help and suggestions.

-- Priya Narasimhan

------------------------------------------------------------------------
Priya Narasimhan, Ph.D.,                        
Post-doctoral Researcher,        Email: priya@alpha.ece.ucsb.edu   
ECE Department,                  URL  : http://alpha.ece.ucsb.edu/~priya
University of California,        Tel  : (805) 893-7788
Santa Barbara. CA 93106          Fax  : (805) 893-3262
------------------------------------------------------------------------



More information about the Gcc mailing list