Question about building the sdf-explorer
vincenthesiyuan opened this issue · comments
Hi, thanks for your great work! I suffered from coredump when i built the sdf-explorer using G3D in Ubuntu20.04.
when i run icomplie --opt --run
, it will be
....
Building sdf-explorerd
Computing dependencies
Linking
Compiled 2 files, 507 statements, 385 comment lines, 1 class, 12 routines of average length 42 statements
Executable written to build/sdf-explorerd
terminate called after throwing an instance of 'G3D::ParseError'
Aborted (core dumped)
Currently, i have no idea why it would abore this error in the linking stage.
Looking forward your answer.
Thanks for your interest in our work!
Can I ask what version (commit ID) of G3D you are using? Also, did you download the matcaps?
@tovacinni,
Thanks for your help!
I have downloaded the matcaps and generated a data_files folder. The G3D svn revision number is 7188
.
I used the svn checkout command svn co svn://svn.code.sf.net/p/g3d/code/ g3d
and follow the linux installation instructions in this link, https://casual-effects.com/g3d/G3D10/readme.md.html?#overview
debugging information:
Building sdf-explorerd
Computing dependencies
Linking
Compiled 2 files, 507 statements, 385 comment lines, 1 class, 12 routines of average length 42 statements
Executable written to build/sdf-explorerd
gdb -silent -x /home/vincent/opensource/datasets/sdf_samples/sdf-explorer/.ice-tmp/sdf-explorer/gdb-commands.txt -cd data-files/ -q -f /home/vincent/opensource/datasets/sdf_samples/sdf-explorer/build/sdf-explorerd
_______________________________________________________________________
Reading symbols from /home/vincent/opensource/datasets/sdf_samples/sdf-explorer/build/sdf-explorerd...
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Detaching after vfork from child process 199387]
[New Thread 0x7fffee5ce700 (LWP 199389)]
[Detaching after vfork from child process 199390]
terminate called after throwing an instance of 'G3D::ParseError'
Thread 2 "sdf-explorerd" received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffee5ce700 (LWP 199389)]
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1 0x00007ffff2f87859 in __GI_abort () at abort.c:79
#2 0x00007ffff355b0a9 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3 0x00007ffff3566506 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4 0x00007ffff3566571 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5 0x00007ffff35667f5 in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6 0x00000000009637c3 in G3D::TextInput::nextToken (this=0x7fffee5cd990, t=...) at source/TextInput.cpp:902
#7 0x00000000009639db in G3D::TextInput::read (this=0x7fffee5cd990, t=...) at source/TextInput.cpp:133
#8 0x0000000000960c59 in G3D::TextInput::read (this=0x7fffee5cd990) at source/TextInput.cpp:123
#9 0x000000000044a82e in G3D::ScreenCapture::checkAppScmRevision(G3D::G3DString<64ul> const&)::$_0::operator()() const (this=0x1b42dc0) at source/ScreenCapture.cpp:411
#10 0x000000000044a50d in std::__invoke_impl<void, G3D::ScreenCapture::checkAppScmRevision(G3D::G3DString<64ul> const&)::$_0>(std::__invoke_other, G3D::ScreenCapture::checkAppScmRevision(G3D::G3DString<64ul> const&)::$_0&&) (__f=...) at /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/invoke.h:60
#11 0x000000000044a49d in std::__invoke<G3D::ScreenCapture::checkAppScmRevision(G3D::G3DString<64ul> const&)::$_0>(G3D::ScreenCapture::checkAppScmRevision(G3D::G3DString<64ul> const&)::$_0&&) (__fn=...)
at /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/invoke.h:95
#12 0x000000000044a475 in std::thread::_Invoker<std::tuple<G3D::ScreenCapture::checkAppScmRevision(G3D::G3DString<64ul> const&)::$_0> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) (this=0x1b42dc0)
at /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/thread:244
#13 0x000000000044a445 in std::thread::_Invoker<std::tuple<G3D::ScreenCapture::checkAppScmRevision(G3D::G3DString<64ul> const&)::$_0> >::operator()() (this=0x1b42dc0)
at /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/thread:251
#14 0x000000000044a30e in std::thread::_State_impl<std::thread::_Invoker<std::tuple<G3D::ScreenCapture::checkAppScmRevision(G3D::G3DString<64ul> const&)::$_0> > >::_M_run() (this=0x1b42db0)
at /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/thread:195
#15 0x00007ffff35924c0 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#16 0x00007ffff3a61609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#17 0x00007ffff3084163 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thanks for the detailed error report!
I went ahead and updated my revision to 7188
and rebuilt but I wasn't able to reproduce the error 😢. From the looks of it though it seems like an issue inside G3D.
Looking at the error it looks like ScreenCapture::checkAppScmRevision
inside G3D is having trouble parsing the input.
Can you try inserting
debugPrintf("version: %s\n", version.c_str());
debugPrintf("outputDirectory: %s\n", outputDirectory.c_str());
in line 410 of g3d/G3D-app.lib/source/ScreenCapture.cpp
?
I am suspecting there might be some special character in your outputDirectory
variable or the version
string that it parses from git
that G3D's string system is not able to parse.
I am having something similar #3 (Ubuntu 18)
Hi, thanks for your great work! I suffered from coredump when i built the sdf-explorer using G3D in Ubuntu20.04.
when i run
icomplie --opt --run
, it will be.... Building sdf-explorerd Computing dependencies Linking Compiled 2 files, 507 statements, 385 comment lines, 1 class, 12 routines of average length 42 statements Executable written to build/sdf-explorerd terminate called after throwing an instance of 'G3D::ParseError' Aborted (core dumped)
Currently, i have no idea why it would abore this error in the linking stage. Looking forward your answer.
Have you solved this problem? Thanks a lot!