Boost logo

Boost :

From: Domenico Andreoli (cavok_at_[hidden])
Date: 2004-05-17 08:35:18


hi all,

i received this bug report for the Boost debian package version 1.31.0-4,
the full log is available at [0]. it is reproducible on ia64 architecture.

anybody with in depth knowledge of the format library is able to give
me a hint about where the problem might be?

i cannot provide any access to the debian project's ia64 box but i'm
available to perform any test i'm asked to further delve into the bug.

best regards
domenico

[0] http://bugs.debian.org/247643

----- Forwarded message from Martin Pool <mbp_at_[hidden]> -----

Date: Thu, 06 May 2004 17:03:38 +1000
From: Martin Pool <mbp_at_[hidden]>
To: submit_at_[hidden]
Reply-To: Martin Pool <mbp_at_[hidden]>, 247643_at_[hidden]
Cc: mbp_at_[hidden]
Subject: Bug#247643: boost::format completely broken on ia64

Package: libboost-dev
Version: 1.31.0-4
Severity: important
X-Debbugs-CC: debian-ia64_at_[hidden]

Here is a test case, extracted from the examples in
http://www.boost.org/libs/format/example/sample_formats.cpp:

---------------
#include <iostream>

#include <boost/format.hpp>

using namespace boost;
using namespace std;

int main(void)
{
    cout << format("Hello %d!\n") % 69;
    return 0;
}
-----------------

I build this with

  g++ -o boost-format-bug boost-format-bug.cpp

On i386 it works fine. On ia64, with g++ 4:3.3.3-2 and libstdc++
1:3.3.3-6, it crashes. In fact I cannot find any use of the format
class other than passing a constant string which does not crash.

gdb shows

Catchpoint 1 (exception thrown)
0x2000000000149981 in __cxa_throw () from /usr/lib/libstdc++.so.5
(gdb) bt
#0 0x2000000000149981 in __cxa_throw () from /usr/lib/libstdc++.so.5
#1 0x20000000000acc50 in std::__throw_length_error () from /usr/lib/libstdc++.so.5
#2 0x200000000012fc30 in std::string::_M_replace_safe<char const*> () from /usr/lib/libstdc++.so.5
#3 0x200000000012ba40 in std::string::append () from /usr/lib/libstdc++.so.5
#4 0x400000000000db60 in boost::io::detail::(anonymous namespace)::mk_str<char, std::char_traits<char> > ()
#5 0x400000000000c900 in boost::io::detail::(anonymous namespace)::put<char, std::char_traits<char>, int const&> ()
#6 0x400000000000ac60 in boost::io::detail::distribute<char, std::char_traits<char>, int const&> ()
#7 0x40000000000076c0 in boost::io::detail::feed<char, std::char_traits<char>, int const&> ()
#8 0x4000000000003fe0 in boost::basic_format<char, std::char_traits<char> >::operator%<int> ()
#9 0x4000000000003d00 in main ()

Regards
Martin

----- End forwarded message -----

-----[ Domenico Andreoli, aka cavok
 --[ http://people.debian.org/~cavok/gpgkey.asc
   ---[ 3A0F 2F80 F79C 678A 8936 4FEE 0677 9033 A20E BC50


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk