Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

vg test fails at src/unittest/chunker.cpp:93 #760

Closed
mdkeehan opened this issue Apr 6, 2017 · 4 comments
Closed

vg test fails at src/unittest/chunker.cpp:93 #760

mdkeehan opened this issue Apr 6, 2017 · 4 comments

Comments

@mdkeehan
Copy link
Contributor

mdkeehan commented Apr 6, 2017

A fresh build of vg on Ubuntu 14.04
``
someone@someserver:/somedir/git/vg$ bin/vg version
v1.5.0-181-gd414713
someone@someserver:/somedir/git/vg$ bin/vg test
index file /tmp/vgXXyMzMbO.fai not found, generating...

vg test is a Catch v1.8.2 host application.
Run with -? for options

-------------------------------------------------------------------------------
basic graph chunking
  Extract whole graph as chunk
-------------------------------------------------------------------------------
src/unittest/chunker.cpp:93
...............................................................................

src/unittest/chunker.cpp:93: FAILED:
due to a fatal error condition:
  SIGSEGV - Segmentation violation signal

===============================================================================
test cases:   80 |   79 passed | 1 failed
assertions: 4358 | 4357 passed | 1 failed

Segmentation fault (core dumped)
``
Here is a gdb output:
``
(gdb) run test 
Starting program: /data/seq/mikee0/git/vg/bin/vg test
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
index file /tmp/vgXXmxenxD.fai not found, generating...

Program received signal SIGSEGV, Segmentation fault.
0x000000000069d75c in operator() (id=<optimized out>, __closure=0x7fffffff9150) at src/chunker.cpp:35
35	            *g.add_node() = xg->node(id);
(gdb) where
#0  0x000000000069d75c in operator() (id=<optimized out>, __closure=0x7fffffff9150) at src/chunker.cpp:35
#1  std::_Function_handler<void(long int), vg::PathChunker::extract_subgraph(const vg::Region&, int, vg::VG&, vg::Region&)::<lambda(int64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /data/seq/mikee0/git/vg/bin/vg, CU 0x1ecdd27, DIE 0x1f33e95>) (__functor=..., __args#0=<unknown type in /data/seq/mikee0/git/vg/bin/vg, CU 0x1ecdd27, DIE 0x1f33e95>) at /usr/include/c++/6/functional:1740
#2  0x0000000000a745f5 in operator() (__args#0=<optimized out>, this=0x7fffffff9150) at /usr/include/c++/4.8/functional:2471
#3  xg::XG::for_path_range(std::string const&, long, long, std::function<void (long)>, bool) const (this=<optimized out>, name=..., start=<optimized out>, start@entry=0, stop=<optimized out>, lambda=..., 
    is_rev=is_rev@entry=false) at deps/xg/src/xg.cpp:2005
#4  0x000000000069d3ec in vg::PathChunker::extract_subgraph (this=this@entry=0x7fffffff9270, region=..., context=context@entry=1, subgraph=..., out_region=...) at src/chunker.cpp:36
#5  0x000000000081f21c in vg::unittest::____C_A_T_C_H____T_E_S_T____14 () at src/unittest/chunker.cpp:99
#6  0x00000000006cebb3 in invoke (this=<optimized out>) at src/unittest/catch.hpp:7159
#7  invoke (this=<optimized out>) at src/unittest/catch.hpp:8121
#8  invokeActiveTestCase (this=0x7fffffffc730) at src/unittest/catch.hpp:6740
#9  runCurrentTest (redirectedCerr=..., redirectedCout=..., this=0x7fffffffc730) at src/unittest/catch.hpp:6711
#10 runTest (testCase=..., this=0x7fffffffc730) at src/unittest/catch.hpp:6530
#11 Catch::runTests (config=...) at src/unittest/catch.hpp:6879
#12 0x00000000006d0b5f in run (this=0x7fffffffcc60) at src/unittest/catch.hpp:6987
#13 vg::unittest::run_unit_tests (argc=argc@entry=2, argv=argv@entry=0x7fffffffcec8) at src/unittest/driver.cpp:41
#14 0x0000000000407750 in main_test (argv=0x7fffffffcec8, argc=2) at src/main.cpp:6839
#15 main (argc=2, argv=0x7fffffffcec8) at src/main.cpp:6958
(gdb) quit
``
I hope it helps.
@glennhickey
Copy link
Contributor

glennhickey commented Apr 6, 2017 via email

@glennhickey
Copy link
Contributor

glennhickey commented Apr 6, 2017 via email

@mdkeehan
Copy link
Contributor Author

mdkeehan commented Apr 6, 2017

Hi Glenn

The OS is ubuntu 14.04 so default g++ is 4.8.5
I have installed g++ 6.2.0 from the repo and I edited the source_me.sh so that
``
export CC=gcc-6

export CXX=g++-6
``
I also edited the Makefile so that #646 doesn't bite during the compile.
I edited the Makefile for #646 after the compile failed and then resumed the compile.
It is possible that damage had been done already. I'm just doing a clean compile now.

During the compile I noticed a warning about static linking against runtime libraries.
I assume something else to do with libraries needs to be set up to match g++-6.

@adamnovak
Copy link
Member

It might be that g++-6 is picking up the standard library from an older compiler, somehow/

See this line where it talks about 4.8:

#2  0x0000000000a745f5 in operator() (__args#0=<optimized out>, this=0x7fffffff9150) at /usr/include/c++/4.8/functional:2471

I think your compiler and libraries are out of sync.

I'm going to close this and blame it on that. Please re-open it if it turns out that that's not the problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants