tovacinni / sdf-explorer

This is accompanying code for our JCGT / I3D paper, "A Dataset and Explorer for 3D Signed Distance Functions (SDF)".

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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)

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!