Your message dated Wed, 23 Jan 2019 10:00:21 +0000 with message-id <[email protected]> and subject line Bug#920166: Removed package(s) from unstable has caused the Debian Bug report #831809, regarding g++-5: exceptions thrown from callback with va_list not caugth on at least armhf and powerpc to be marked as done.
This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact [email protected] immediately.) -- 831809: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=831809 Debian Bug Tracking System Contact [email protected] with problems
--- Begin Message ---Package: g++-5 Version: 5.4.0-6 Severity: important Tags: upstream Dear Maintainer, in the attached program the exception is not caught on armhf and powerpc. The compilation command line is g++ test_tiff_throw.cc -o test-tiff-throw -ltiff I've tested the compilers: powerpc: g++ (Debian 5.4.0-6) 5.4.0 20160609 g++-6 (Debian 6.1.1-9) 6.1.1 20160705 armhf: g++ (Ubuntu/Linaro 5.3.1-14ubuntu2.1) 5.3.1 20160413 and optimization levels -O0, -O1, and -O2. In each case the program aborts with terminate called after throwing an instance of 'std::runtime_error' what(): should_not_exists.tif: No such file or directory Aborted The code works as expected on amd64 with: g++ (Debian 5.4.0-6) 5.4.0 20160609 g++ (Gentoo 5.4.0 p1.0, pie-0.6.5) 5.4.0 and i386: g++ (Debian 5.4.0-6) 5.4.0 20160609 In this case the program prints: "error: should_not_exists.tif: No such file or directory" I was not able to create a simpler test case. Specifically: Normally throw-catch works fine, i.e. the exception is caught even when using a callback funtion that makes use of the va_list based constructs, but everything resides in the same translation unit. The only way I can get this error reproducible is by using libtiff that internally uses the va_* constructs to forwards the error function to the user supplied function. Tested libtiff5-dev: 4.0.6-2 (powerpc, amd64) 4.0.6-1 (armhf, i386) Best regards, Gert -- System Information: Debian Release: stretch/sid APT prefers unstable-debug APT policy: (500, 'unstable-debug'), (500, 'unstable'), (500, 'testing'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.6.0-1-amd64 (SMP w/2 CPU cores) Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages g++-5 depends on: ii gcc-5 5.4.0-6 ii gcc-5-base 5.4.0-6 ii libc6 2.23-1 ii libgmp10 2:6.1.1+dfsg-1 ii libisl15 0.17.1-1 ii libmpc3 1.0.3-1 ii libmpfr4 3.1.4-2 ii libstdc++-5-dev 5.4.0-6 ii zlib1g 1:1.2.8.dfsg-2+b1 g++-5 recommends no packages. Versions of packages g++-5 suggests: pn g++-5-multilib <none> pn gcc-5-doc <none> pn libstdc++6-5-dbg <none> -- no debconf information#include <tiffio.h> #include <exception> #include <iostream> typedef TIFF * PTIFF; void MyErrorHandler(const char *module, const char *fmt, va_list ap) { char buf[16384]; vsnprintf(buf,16384, fmt, ap); throw std::runtime_error(buf); } struct CErrorHandlerReplacer { CErrorHandlerReplacer(): m_old_handler(TIFFSetErrorHandler(MyErrorHandler)) { } ~CErrorHandlerReplacer() { TIFFSetErrorHandler(m_old_handler); } private: TIFFErrorHandler m_old_handler; }; struct CTiffFile { CTiffFile(const char *name, const char *flags): handle(TIFFOpen(name, flags)) { } ~CTiffFile() { if (handle) TIFFClose(handle); } operator PTIFF() { return handle; } private: TIFF *handle; }; int main(int argc, char **args) { CErrorHandlerReplacer error_replace; try { CTiffFile tif("should_not_exists.tif", "r"); if (tif) { std::cerr << "File 'should_not_exists.tif' existed\n"; } }catch (const std::runtime_error& x) { std::cerr << "error: " << x.what() << "\n"; } return 0; }
--- End Message ---
--- Begin Message ---Version: 5.5.0-12+rm Dear submitter, as the package gcc-5 has just been removed from the Debian archive unstable we hereby close the associated bug reports. We are sorry that we couldn't deal with your issue properly. For details on the removal, please see https://bugs.debian.org/920166 The version of this package that was in Debian prior to this removal can still be found using http://snapshot.debian.org/. This message was generated automatically; if you believe that there is a problem with it please contact the archive administrators by mailing [email protected]. Debian distribution maintenance software pp. Scott Kitterman (the ftpmaster behind the curtain)
--- End Message ---

