Package: gcc Version: 2:2.95.4-8 Severity: normal Hi
I've just discovered that compilation with i686 leads to some serious problems of aborting my program (aviplay) instead of throwing exception which should be trapped in try {} catch block While compiling avifile (avifile.sf.net) with -O2 -march=i686 created aviplay binary will abort instead of catching exception when opening .asf files (aviplay tries avi format first and throws exception where it's not avi) (the same happens also with current g++-3.0.2) Here is short backtrace of program: #0 0x407ee911 in kill () from /lib/libc.so.6 #1 0x405aec0e in pthread_kill () from /lib/libpthread.so.0 #2 0x405af0dd in raise () from /lib/libpthread.so.0 #3 0x407efd71 in abort () from /lib/libc.so.6 #4 0x40558118 in __terminate () at renderer.cpp:244 #5 0x40558135 in __terminate () at renderer.cpp:244 #6 0x40558cc7 in __throw () at renderer.cpp:244 #7 0x40535775 in AviMediaReadHandler::checkDword (this=0x82f3718, value=1179011410) at AviMediaReadHandler.cpp:254 #8 0x40534eb9 in AviMediaReadHandler::AviMediaReadHandler (this=0x82f3718, pszFile=0x80ab5c8 "./wm8_vandread.wmv") at AviMediaReadHandler.cpp:110 #9 0x4053696d in CreateAviMediaReadHandler ( pszFile=0x80ab5c8 "./wm8_vandread.wmv") at AviMediaReadHandler.cpp:686 #10 0x40537ff8 in AviReadFile::AviReadFile (this=0x82f5340, name=0x80ab5c8 "./wm8_vandread.wmv") at AviRead.cpp:49 Here should be caught this exception from checkDword - but it's not! While compiling with i586 there are no such problem. That's what I do not understand. Also interisting part is - it actually works well during the first pass though this (as might be seen in the startup log of aviplay: 479.980000 MHz Celeron (Mendocino) processor detected MediaReadHandler: FATAL: Not an AVI file! ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Creating seek data, please wait... Seek data created ( processed 1743 packets ) Another good way is to rename /usr/lib/win32 - so codecs could not be found and this will again throw an exception. If you need to know more details just ask -- System Information Debian Release: testing/unstable Architecture: i386 Kernel: Linux dual 2.4.10-ac12 #1 SMP Thu Oct 11 14:19:33 EDT 2001 i686 Locale: LANG=cs_CZ, LC_CTYPE=cs_CZ Versions of packages gcc depends on: ii cpp 2:2.95.4-8 The GNU C preprocessor. ii cpp-2.95 1:2.95.4-0.011006 The GNU C preprocessor. ii gcc-2.95 1:2.95.4-0.011006 The GNU C compiler.