Boost logo

Boost :

From: John Maddock (john_at_[hidden])
Date: 2007-11-13 05:08:05


Lubomir Bourdev wrote:
> We don't have access to these platforms. Perhaps someone who does
> could
> give us a hand in fixing these issues?

If you're able to get a HP Testdrive account (testdrive.hp.com) then you can
test the aCC failure yourself, but the debugger backtrace is:

Starting program:
/house/maddock/libs/gil/test/../../../bin.v2/libs/gil/test/main.test/acc/debug/main

Program received signal SIGBUS, Bus error
  si_code: 1 - BUS_ADRALN - Invalid address alignment.
0x4000000000903ac0:0 in boost::gil::packed_channel_reference<unsigned short,
(
    this=0x9fffffffffffedf0, value=31 '\037')
    at ../../../boost/gil/extension/dynamic_image/../../channel.hpp:384
384 void set_unsafe(integer_t value) const {
this->data() =
 (this->const_data() & ~channel_mask) | (value<<FirstBit); }
(gdb) bt
#0 0x4000000000903ac0:0 in boost::gil::packed_channel_reference<unsigned
short,
 (this=0x9fffffffffffedf0, value=31 '\037')
    at ../../../boost/gil/extension/dynamic_image/../../channel.hpp:384
#1 0x40000000008d75c0:0 in boost::gil::packed_channel_reference<unsigned
short,
 (this=0x9fffffffffffedf0, value=31 '\037')
    at ../../../boost/gil/extension/dynamic_image/../../channel.hpp:374
#2 0x4000000000b10c60:0 in
packed_reference_core<boost::gil::packed_channel_ref
erence<unsigned short, (this=0x9fffffffffffee10) at channel.cpp:194
#3 0x4000000000b10f00:0 in
packed_reference_core<boost::gil::packed_channel_ref
erence<unsigned
short,(int)0,(int)5,(bool)1>,boost::gil::packed_channel_referenc
e<unsigned short,(int)0,(int)5,(bool)1> >::packed_reference_core()+0x20 ()
#4 0x4000000000b11000:0 in
do_test<packed_reference_core<boost::gil::packed_cha
nnel_reference<unsigned short, (this=0x9fffffffffffee10) at channel.cpp:47
#5 0x4000000000b0b040:0 in
do_test<packed_reference_core<boost::gil::packed_cha
nnel_reference<unsigned
short,(int)0,(int)5,(bool)1>,boost::gil::packed_channel_
reference<unsigned short,(int)0,(int)5,(bool)1> > >::do_test()+0x20 ()
#6 0x4000000000b0acd0:0 in void
test_packed_channel_reference<boost::gil::packe
d_channel_reference<unsigned short, () at channel.cpp:230
#7 0x4000000000b0a900:0 in test_packed_channel_reference () at
channel.cpp:320
#8 0x4000000000b0bf20:0 in test_channel () at channel.cpp:352
#9 0x400000000082d150:0 in main (argc=1, argv=0x9ffffffffffff530)
    at main.cpp:25

So... it's a data alignment error: I wonder are you trying to write to an
integer on a char boundary or something?

HTH, John Maddock.


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