mhalber / Fine-To-Coarse-Registration

Implementation of the Fine-To-Coarse Registration algorithm:
http://scanregistration.cs.princeton.edu
MIT License
49 stars 17 forks source link

Segmentation fault (core dumped) #5

Open bamboosdu opened 6 years ago

bamboosdu commented 6 years ago

Hi, when i try to run ./fetregister fet/5_0.05.fcb hv_c3_1_fine_to_coarse.conf -v, then it always output segmentation fault such as `Reading configuration file... Done in 0.073 sec.

Frames = 1937(1937)

Correspondences = 347

Color Directory = (null)

Depth Directory = depth

Reading reconstruction file... Done in 0.909 sec.

Shapes = 1937

Features = 2027671

Please provide pairwise matches in the configuration file. Alignment with world took 0.508453 sec. Alignment with world took 0.503259 sec. Segmentation fault (core dumped)` Is this mean the end of the registration or something wrong? Thanks a lot for your reply!

bamboosdu commented 6 years ago

`Reading configuration file... Done in 0.063 sec. Frames = 1937(1937) Correspondences = 347 Color Directory = image Depth Directory = depth

Reading reconstruction file... Done in 0.912 sec. Shapes = 1937 Features = 2027671

Alignment with world took 0.412105 sec. Alignment with world took 0.504672 sec. Segmentation fault (core dumped) `

mhalber commented 6 years ago

Hi, Thank you for creating the issue. First of all, the *_fine_to_coarse.conf files are not meant to have the algorithm run on them as they don't have all the information in the header. I need to add a modification that makes sure that the optimization is not run when the pairwise parameter is not present. Could you try running ./fetregister fet/5_0.05.fcb hv_c3_1_initial.conf -v ?

In both cases I was unable to reproduce the segfault after the alignment on my mac. Would you mind also sharing what is your system setup?

bamboosdu commented 6 years ago

Hi, the second output msg is run ./fetregister fet/5_0.05.fcb hv_c3_1_initial.conf -v . my system is ubuntu16.04+gtx1080. Thanks!

bamboosdu commented 6 years ago

Hi, here is the output of the command.Really confused with the error. Here is some changes of code build. 1.in the makefile of fetregister, I have chaged the line 10 to CPPFLAGS = -O3 -g0 -std=c++11 -Wall -pthread because the error "undefined reference to symbol 'pthread_create@@GLIBC_2.2.5'"

```

qiang@qiang-pc:/ zq/githome/Fine-To-Coarse-Registration$ make -C fetregister USE_WINDOW=1 make: Entering directory '/home/qiang/zq/githome/Fine-To-Coarse-Registration/fetregister' rm -f ../out/.a ../out/.o ../bin/fetregister ../bin/fetregister.exe g++ -O3 -g0 -std=c++11 -pthread -Wall -Wno-sign-compare -Wno-unused-result -I. -I/usr/include -I/usr/local/include -I../basics/third_party/imgui/ -I../basics/ -I../gaps/pkgs -DRN_USE_CSPARSE -DRN_USE_SPLM -DNDEBUG -DFETREGISTER_USE_WINDOW -c fetregister.cpp -o ../out/fetregister.o In file included from fetregister.cpp:44:0: gui.h: In function ‘i32 gui::fps(bsc::vec4i, SequenceData, ViewOptions, i64)’: gui.h:404:57: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 3 has type ‘i64 {aka long int}’ [-Wformat=] sprintf( n_points_string, "NPoints : %lld", n_points ); ^ g++ -O3 -g0 -std=c++11 -pthread -Wall -Wno-sign-compare -Wno-unused-result -I. -I/usr/include -I/usr/local/include -I../basics/third_party/imgui/ -I../basics/ -I../gaps/pkgs -DRN_USE_CSPARSE -DRN_USE_SPLM -DNDEBUG -DFETREGISTER_USE_WINDOW ../out/fetregister.o ../basics/third_party/imgui/imgui.o ../basics/third_party/imgui/imgui_draw.o ../basics/third_party/imgui/imgui_demo.o -o ../bin/fetregister -L/usr/local/lib/ -lglfw3 -lrt -lm -ldl -lXrandr -lXinerama -lXext -lXcursor -lXrender -lXfixes -lX11 -lpthread -lxcb -lXau -lXdmcp -L../gaps/lib/x86_64/ -lFET -lR3Surfels -lR3Graphics -lR3Shapes -lR2Shapes -lRNMath -lRNBasics -ljpeg -lpng -lsplm -lCSparse -L/usr/lib64 -lGLEW -lGL -lGLU make: Leaving directory '/home/qiang/zq/githome/Fine-To-Coarse-Registration/fetregister' qiang@qiang-pc:/zq/githome/Fine-To-Coarse-Registration$ cd /home/qiang/Downloads/sun3d_scenes/hotel_nips2012/nips_4 qiang@qiang-pc:/Downloads/sun3d_scenes/hotel_nips2012/nips_4$ ./fetregister ./fet/5_0.05.fcb nips_4_initial.conf -v Reading configuration file... Done in 0.248 sec. Frames = 6296(6296) Correspondences = 369 Color Directory = image Depth Directory = depth

Reading reconstruction file... Done in 3.886 sec. Shapes = 6296 Features = 2427617

Alignment with world took 1.643662 sec. Alignment with world took 1.358965 sec. Segmentation fault (core dumped)

mhalber commented 6 years ago

Ok, thanks for the output. Sadly I currently do not have access to a machine with this particular configuration...

  1. the -lpthread should already be included for your configuration, but maybe gcc have some weird ordering issues. I will need to look into that once I get on a Ubuntu machine
  2. Building with window support I still cannot reproduce the bug. It might be the case that code fails on your machine when setting up the rendering code? Would you mind running the code in the debugger to see where it crashes? Another thing to try is to run it with -b flag to skip all the window creation code path.