tovacinni / sdf-explorer

This is accompanying code for our JCGT / I3D paper, "A Dataset and Explorer for 3D Signed Distance Functions (SDF)".
Other
257 stars 12 forks source link

Question about building the sdf-explorer #1

Open vincenthesiyuan opened 2 years ago

vincenthesiyuan commented 2 years ago

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.

tovacinni commented 2 years ago

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?

vincenthesiyuan commented 2 years ago

@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
tovacinni commented 2 years ago

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 :cry:. 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.

albertotono commented 2 years ago

I am having something similar https://github.com/tovacinni/sdf-explorer/issues/3 (Ubuntu 18)

Pupillen commented 1 year ago

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!