[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#227894: more tests and versions



I reproduced this error on two further debian sid installations (but not
fresh installed ones)

The example source code:

#include <iostream>

using std::cerr;
using std::cout;
using std::endl;

int main()
{
  try
  {
    int a_number = 7;
    throw a_number;
  }
  catch(int number_exception)
  {
    cerr << "exception caught: number was " << number_exception << endl;
  }
  catch(...)
  {
    cerr << "unknown exception caught" << endl;
  }

  return 0;
}

The default output is correct:
/tmp$ ./test_g++_exceptions
exception caught: number was 7


valgrind reports the same as before:
/tmp$ valgrind ./test_g++_exceptions
==7362== Memcheck, a memory error detector for x86-linux.
==7362== Copyright (C) 2002-2003, and GNU GPL'd, by Julian Seward.
==7362== Using valgrind-2.1.0, a program supervision framework for
x86-linux.
==7362== Copyright (C) 2000-2003, and GNU GPL'd, by Julian Seward.
==7362== Estimated CPU clock rate is 1924 MHz
==7362== For more details, rerun with: -v
==7362==
==7362== Invalid read of size 4
==7362==    at 0x4032FB70: (within /lib/libgcc_s.so.1)
==7362==    by 0x4043A017: __dl_iterate_phdr (dl-iteratephdr.c:50)
==7362==    by 0x4032FF04: _Unwind_Find_FDE (in /lib/libgcc_s.so.1)
==7362==    by 0x4032DA44: (within /lib/libgcc_s.so.1)
==7362==  Address 0xFFFFE034 is not stack'd, malloc'd or free'd
==7362==
==7362== Invalid read of size 4
==7362==    at 0x4032FE48: (within /lib/libgcc_s.so.1)
==7362==    by 0x4043A017: __dl_iterate_phdr (dl-iteratephdr.c:50)
==7362==    by 0x4032FF04: _Unwind_Find_FDE (in /lib/libgcc_s.so.1)
==7362==    by 0x4032DA44: (within /lib/libgcc_s.so.1)
==7362==  Address 0xFFFFE03C is not stack'd, malloc'd or free'd
exception caught: number was 7
==7362==
==7362== ERROR SUMMARY: 12 errors from 2 contexts (suppressed: 0 from 0)
==7362== malloc/free: in use at exit: 0 bytes in 0 blocks.
==7362== malloc/free: 1 allocs, 1 frees, 84 bytes allocated.
==7362== For a detailed leak analysis,  rerun with: --leak-check=yes
==7362== For counts of detected errors, rerun with: -v

The output string is also printed. 

My sid is just upgraded (todays packages). 
The used versions are:

g++ --version -> g++ (GCC) 3.3.3 20040110 (prerelease) (Debian)
package version: 4:3.3.2-2

g++-3.3 --version -> g++-3.3 (GCC) 3.3.3 20040110 (prerelease) (Debian)
package version: 1:3.3.3-0pre2

libgcc1
package version: 1:3.3.3-0pre2

libc6   
package version: 2.3.2.ds1-10

valgrind --version -> valgrind-2.1.0
package version: 1:2.1.0-2

Now the funny thing:
g++-3.2 -> same error
g++-3.0 -> same error

My kernel is 2.6.0 release. The cpu is an AthlonXP.

Currently I have no clue in which package the error originates.
Downgrading libgcc1 also did not help.

Bye Gunther

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: