Package: libassimp4
Version: 4.1.0~dfsg-4
Severity: normal

Hi,

a recent upload of kido started failing on buildd armhf:

https://buildd.debian.org/status/fetch.php?pkg=kido&arch=armhf&ver=0.1.0%2Bdfsg-6&stamp=1539567498&raw=0

5/30 Test  #9: testForwardKinematics ............***Exception: Bus error 0.05 
sec

Steve (Cc) helped me to debug this in #debian-arm.

(gdb) bt
#0  Assimp::STLImporter::LoadBinaryFile (this=this@entry=0xa2aa90) at 
./code/STLLoader.cpp:455
#1  0xb60ebfc0 in Assimp::STLImporter::InternReadFile (this=0xa2aa90, 
pFile="file:///home/jspricke/kido-0.1.0+dfsg/data/urdf/KR5/meshes/base_link.STL",
 pScene=0xa28c00, pIOHandler=<optimized out>) at ./code/STLLoader.cpp:204
#2  0xb5eaf110 in Assimp::BaseImporter::ReadFile (this=this@entry=0xa2aa90, 
pImp=pImp@entry=0xa19f48, 
pFile="file:///home/jspricke/kido-0.1.0+dfsg/data/urdf/KR5/meshes/base_link.STL",
 pIOHandler=<optimized out>)
    at ./code/BaseImporter.cpp:97
#3  0xb5eb6d54 in Assimp::Importer::ReadFile (this=this@entry=0xa19f48, 
_pFile=_pFile@entry=0xa1a6c8 
"file:///home/jspricke/kido-0.1.0+dfsg/data/urdf/KR5/meshes/base_link.STL", 
pFlags=pFlags@entry=2129962) at ./code/Importer.cpp:673
#4  0xb5ea987e in aiImportFileExWithProperties (pFile=0xa1a6c8 
"file:///home/jspricke/kido-0.1.0+dfsg/data/urdf/KR5/meshes/base_link.STL", 
pFlags=2129962, pFS=pFS@entry=0xbee4a950, props=props@entry=0xa28e50) at 
./code/Assimp.cpp:191
#5  0xb6cf11d2 in kido::dynamics::MeshShape::loadMesh 
(_uri="file:///home/jspricke/kido-0.1.0+dfsg/data/urdf/KR5/meshes/base_link.STL",
 _retriever=std::shared_ptr<kido::common::ResourceRetriever> (use count 3, weak 
count 0) = {...})
    at /usr/include/c++/8/bits/basic_string.h:2281
#6  0xb6f05ab2 in kido::utils::KidoLoader::createShape<urdf::Visual> 
(_vizOrCol=0xa28ed0, _baseUri=..., 
_resourceRetriever=std::shared_ptr<kido::common::ResourceRetriever> (use count 
3, weak count 0) = {...})
    at /usr/include/c++/8/ext/atomicity.h:69
#7  0xb6f01e3e in kido::utils::KidoLoader::createKidoNodeProperties 
(_lk=_lk@entry=0xa1caa0, node=..., _baseUri=..., 
_resourceRetriever=std::shared_ptr<kido::common::ResourceRetriever> (use count 
3, weak count 0) = {...})
    at /usr/include/c++/8/bits/stl_vector.h:948
#8  0xb6f0393a in kido::utils::KidoLoader::modelInterfaceToSkeleton 
(_model=<optimized out>, _baseUri=..., 
_resourceRetriever=std::shared_ptr<kido::common::ResourceRetriever> (use count 
3, weak count 0) = {...})
    at ./kido/utils/urdf/KidoLoader.cpp:181
#9  0xb6f03f0c in kido::utils::KidoLoader::parseSkeleton (this=<optimized out>, 
_uri=..., _resourceRetriever=...) at ./kido/utils/urdf/KidoLoader.cpp:66
#10 0x004cc01c in FORWARD_KINEMATICS_JACOBIAN_PARTIAL_CHANGE_Test::TestBody 
(this=<optimized out>) at /usr/include/c++/8/bits/shared_ptr_base.h:1094
#11 0x004e9134 in 
testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void> 
(location=0x4ee9d0 "the test body", method=&virtual testing::Test::TestBody(), 
object=0xa1b588) at ./unittests/gtest/src/gtest.cc:2059
#12 testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void> 
(object=object@entry=0xa1b588, method=&virtual testing::Test::TestBody(), 
location=0x4ee9d0 "the test body") at ./unittests/gtest/src/gtest.cc:2114
#13 0x004e34a4 in testing::Test::Run (this=0xa1b588) at 
./unittests/gtest/src/gtest.cc:2150
#14 0x004e3596 in testing::TestInfo::Run (this=0xa17880) at 
./unittests/gtest/src/gtest.cc:2326
#15 0x004e362e in testing::TestCase::Run (this=0xa17698) at 
./unittests/gtest/src/gtest.cc:2443
#16 0x004e39d0 in testing::internal::UnitTestImpl::RunAllTests (this=<optimized 
out>) at /usr/include/c++/8/bits/stl_vector.h:930
#17 0x004e3ab2 in 
testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,
 bool> (location=0x4eeb3c "auxiliary test code (environments or event 
listeners)", method=<optimized out>,
    object=<optimized out>) at ./unittests/gtest/src/gtest.cc:2059
#18 
testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,
 bool> (location=0x4eeb3c "auxiliary test code (environments or event 
listeners)", method=<optimized out>, object=0xa17438)
    at ./unittests/gtest/src/gtest.cc:2114
#19 testing::UnitTest::Run (this=0x504040 
<testing::UnitTest::GetInstance()::instance>) at 
./unittests/gtest/src/gtest.cc:3926
#20 0x004cae84 in RUN_ALL_TESTS () at 
./unittests/gtest/include/gtest/gtest.h:2288
#21 main (argc=<optimized out>, argv=<optimized out>) at 
./unittests/testForwardKinematics.cpp:212

Dump of assembler code for function Assimp::STLImporter::LoadBinaryFile():
...
   0xb60e9f8c <+428>:   add.w   r6, r0, #36     ; 0x24
   0xb60e9f90 <+432>:   add     r3, pc
   0xb60e9f92 <+434>:   adds    r5, #36 ; 0x24
   0xb60e9f94 <+436>:   str     r3, [sp, #16]
   0xb60e9f96 <+438>:   mov.w   r9, #0
   0xb60e9f9a <+442>:   b.n     0xb60e9faa 
<Assimp::STLImporter::LoadBinaryFile()+458>
   0xb60e9f9c <+444>:   add.w   r9, r9, #1
   0xb60e9fa0 <+448>:   adds    r6, #36 ; 0x24
   0xb60e9fa2 <+450>:   cmp     r10, r9
   0xb60e9fa4 <+452>:   add.w   r5, r5, #36     ; 0x24
   0xb60e9fa8 <+456>:   bls.n   0xb60ea080 
<Assimp::STLImporter::LoadBinaryFile()+672>
=> 0xb60e9faa <+458>:   ldmia.w r4, {r0, r1, r2}
   0xb60e9fae <+462>:   sub.w   r3, r6, #36     ; 0x24
   0xb60e9fb2 <+466>:   sub.w   r11, r6, #24
   0xb60e9fb6 <+470>:   add.w   lr, r4, #12
   0xb60e9fba <+474>:   sub.w   r7, r5, #36     ; 0x24
   0xb60e9fbe <+478>:   add.w   r12, r4, #24
   0xb60e9fc2 <+482>:   stmia.w r3, {r0, r1, r2}
   0xb60e9fc6 <+486>:   stmia.w r11, {r0, r1, r2}
   0xb60e9fca <+490>:   add.w   r11, r4, #36    ; 0x24
   0xb60e9fce <+494>:   ldmia.w r3, {r0, r1, r2}
   0xb60e9fd2 <+498>:   sub.w   r3, r5, #24
...

(gdb) print vn
$1 = (aiVector3D *) 0xa40024
(gdb) print sz
$2 = (const unsigned char *) 0xa2b186 "\310~\262=\235\006\177\277"

Quoting from #debian-arm:

18:28:38      Sledge | it's just casting aiVector3D* over an unaligned char * 
arrary
18:28:52      Sledge | sz is 0xa2b186
18:28:59      Sledge | which is not 4-byte aligned like it needs to be



-- System Information:
Debian Release: buster/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: armhf (armv7l)

Kernel: Linux 4.18.0-1-armmp (SMP w/8 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), 
LANGUAGE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages libassimp4 depends on:
ii  libc6        2.27-6
ii  libgcc1      1:8.2.0-8
ii  libminizip1  1.1-8+b1
ii  libstdc++6   8.2.0-8
ii  zlib1g       1:1.2.11.dfsg-1

libassimp4 recommends no packages.

libassimp4 suggests no packages.

-- debconf-show failed

Reply via email to