[BioC] GLAD crashes when built with gcc-4.8

Ramon Diaz-Uriarte rdiaz02 at gmail.com
Sat Dec 28 23:46:17 CET 2013


Hi Martin,

On Sat, 28-12-2013, at 23:07, mtmorgan at fhcrc.org wrote:
> If possible run as. 
>
>   R -d valgrind -f script.R
>
> Where script.R is the minimal commands to produce the problem ( eg no
> need for biocLite). Compare the output with one less than the minimal
> script, looking in particular for 'invalid write' errors.


This is a simple script:

##################
library(GLAD)
data(snijders)
gm13330$Clone <- gm13330$BAC
profileCGH <- as.profileCGH(gm13330)

res <- daglad(profileCGH, mediancenter=FALSE, normalrefcenter=FALSE, genomestep=FALSE,
              smoothfunc="lawsglad", lkern="Exponential", model="Gaussian",
              qlambda=0.999,  bandwidth=10, base=FALSE, round=1.5,
              lambdabreak=8, lambdaclusterGen=40, param=c(d=6), alpha=0.001, msize=2,
              method="centroid", nmin=1, nmax=8,
              amplicon=1, deletion=-5, deltaN=0.10,  forceGL=c(-0.15,0.15), nbsigma=3,
              MinBkpWeight=0.35, CheckBkpPos=TRUE)
#############


And, yes, running it through valgrind does show some "Invalid write" errors
(and a bunch of "Invalid read"), all of which seem to be caused by C++ code
in GLAD.  Running the above script without the call to daglad does not lead
to any problems (no invalid writes or reads). 


What version of gcc are you guys using in the zin2 and zin1 machines?
(googling around I get the impression that the default for Ubuntu 12.04 is
4.6.3)



Best,


R.






[1] "Smoothing for each Chromosome"
==28614== Invalid read of size 8
==28614==    at 0xC9DA1B9: awsBkp (chrBreakpoints.cpp:214)
==28614==    by 0x4EE9B6B: do_dotCode (dotcode.c:1722)
==28614==    by 0x4F22BA3: Rf_eval (eval.c:651)
==28614==    by 0x4F25F9D: do_set (eval.c:1991)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==    by 0x4F24D36: do_begin (eval.c:1620)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==    by 0x4F24D36: do_begin (eval.c:1620)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==    by 0x4F286D6: do_for (eval.c:1509)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==  Address 0x95d5280 is 0 bytes after a block of size 576 alloc'd
==28614==    at 0x4C2935B: malloc (vg_replace_malloc.c:270)
==28614==    by 0x4F58E54: Rf_allocVector (memory.c:2465)
==28614==    by 0x4EE31C0: do_dotCode (dotcode.c:1563)
==28614==    by 0x4F22BA3: Rf_eval (eval.c:651)
==28614==    by 0x4F25F9D: do_set (eval.c:1991)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==    by 0x4F24D36: do_begin (eval.c:1620)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==    by 0x4F24D36: do_begin (eval.c:1620)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==    by 0x4F286D6: do_for (eval.c:1509)
==28614== 
==28614== Invalid read of size 8
==28614==    at 0xC9E1E6F: void std::__introselect<__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, long>(__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, __gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, __gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, long) (stl_algo.h:2242)
==28614==    by 0xC9E21E3: quantile_vector_double (stl_algo.h:5377)
==28614==    by 0xC9DB618: putLevel (chrBreakpoints.cpp:360)
==28614==    by 0xC9DB9E8: putLevel_awsBkp (chrBreakpoints.cpp:168)
==28614==    by 0x4EE9B6B: do_dotCode (dotcode.c:1722)
==28614==    by 0x4F22BA3: Rf_eval (eval.c:651)
==28614==    by 0x4F25F9D: do_set (eval.c:1991)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==    by 0x4F24D36: do_begin (eval.c:1620)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==    by 0x4F24D36: do_begin (eval.c:1620)
==28614==  Address 0xa196fd0 is 0 bytes after a block of size 32 alloc'd
==28614==    at 0x4C298F9: operator new(unsigned long) (vg_replace_malloc.c:298)
==28614==    by 0xC9DB8CD: putLevel (new_allocator.h:104)
==28614==    by 0xC9DB9E8: putLevel_awsBkp (chrBreakpoints.cpp:168)
==28614==    by 0x4EE9B6B: do_dotCode (dotcode.c:1722)
==28614==    by 0x4F22BA3: Rf_eval (eval.c:651)
==28614==    by 0x4F25F9D: do_set (eval.c:1991)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==    by 0x4F24D36: do_begin (eval.c:1620)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==    by 0x4F24D36: do_begin (eval.c:1620)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614== 
[1] "Optimization of the Breakpoints and DNA copy number calling"
==28614== Invalid read of size 8
==28614==    at 0xC9E1E6F: void std::__introselect<__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, long>(__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, __gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, __gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, long) (stl_algo.h:2242)
==28614==    by 0xC9E21E3: quantile_vector_double (stl_algo.h:5377)
==28614==    by 0xC9E389D: detectOutliers (glad-utils.cpp:242)
==28614==    by 0xC9E6074: loopRemove (loopRemove.cpp:63)
==28614==    by 0xC9E7423: loop_chromosome_removeLevel (loopRemove.cpp:252)
==28614==    by 0xC9E75B2: OptmisationBreakpointsStep (loopRemove.cpp:322)
==28614==    by 0xC9DC4A4: daglad_OptmisationBreakpoints_findCluster (daglad.cpp:79)
==28614==    by 0x4EE84FB: do_dotCode (dotcode.c:1901)
==28614==    by 0x4F22BA3: Rf_eval (eval.c:651)
==28614==    by 0x4F25F9D: do_set (eval.c:1991)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==    by 0x4F24D36: do_begin (eval.c:1620)
==28614==  Address 0xb412da0 is 0 bytes after a block of size 32 alloc'd
==28614==    at 0x4C298F9: operator new(unsigned long) (vg_replace_malloc.c:298)
==28614==    by 0xC9E3ACA: detectOutliers (new_allocator.h:104)
==28614==    by 0xC9E6074: loopRemove (loopRemove.cpp:63)
==28614==    by 0xC9E7423: loop_chromosome_removeLevel (loopRemove.cpp:252)
==28614==    by 0xC9E75B2: OptmisationBreakpointsStep (loopRemove.cpp:322)
==28614==    by 0xC9DC4A4: daglad_OptmisationBreakpoints_findCluster (daglad.cpp:79)
==28614==    by 0x4EE84FB: do_dotCode (dotcode.c:1901)
==28614==    by 0x4F22BA3: Rf_eval (eval.c:651)
==28614==    by 0x4F25F9D: do_set (eval.c:1991)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==    by 0x4F24D36: do_begin (eval.c:1620)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614== 
==28614== Invalid read of size 8
==28614==    at 0xC9E1E6F: void std::__introselect<__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, long>(__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, __gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, __gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, long) (stl_algo.h:2242)
==28614==    by 0xC9E21E3: quantile_vector_double (stl_algo.h:5377)
==28614==    by 0xC9E2AEC: mad_vector_double (glad-utils.cpp:626)
==28614==    by 0xC9E394F: detectOutliers (glad-utils.cpp:243)
==28614==    by 0xC9E6074: loopRemove (loopRemove.cpp:63)
==28614==    by 0xC9E7423: loop_chromosome_removeLevel (loopRemove.cpp:252)
==28614==    by 0xC9E75B2: OptmisationBreakpointsStep (loopRemove.cpp:322)
==28614==    by 0xC9DC4A4: daglad_OptmisationBreakpoints_findCluster (daglad.cpp:79)
==28614==    by 0x4EE84FB: do_dotCode (dotcode.c:1901)
==28614==    by 0x4F22BA3: Rf_eval (eval.c:651)
==28614==    by 0x4F25F9D: do_set (eval.c:1991)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==  Address 0xbb08750 is 0 bytes after a block of size 32 alloc'd
==28614==    at 0x4C298F9: operator new(unsigned long) (vg_replace_malloc.c:298)
==28614==    by 0xC9E2C42: mad_vector_double (new_allocator.h:104)
==28614==    by 0xC9E394F: detectOutliers (glad-utils.cpp:243)
==28614==    by 0xC9E6074: loopRemove (loopRemove.cpp:63)
==28614==    by 0xC9E7423: loop_chromosome_removeLevel (loopRemove.cpp:252)
==28614==    by 0xC9E75B2: OptmisationBreakpointsStep (loopRemove.cpp:322)
==28614==    by 0xC9DC4A4: daglad_OptmisationBreakpoints_findCluster (daglad.cpp:79)
==28614==    by 0x4EE84FB: do_dotCode (dotcode.c:1901)
==28614==    by 0x4F22BA3: Rf_eval (eval.c:651)
==28614==    by 0x4F25F9D: do_set (eval.c:1991)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==    by 0x4F24D36: do_begin (eval.c:1620)
==28614== 
==28614== Invalid read of size 8
==28614==    at 0xC9E1E6F: void std::__introselect<__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, long>(__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, __gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, __gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, long) (stl_algo.h:2242)
==28614==    by 0xC9E21E3: quantile_vector_double (stl_algo.h:5377)
==28614==    by 0xC9E2BA6: mad_vector_double (glad-utils.cpp:634)
==28614==    by 0xC9E394F: detectOutliers (glad-utils.cpp:243)
==28614==    by 0xC9E6074: loopRemove (loopRemove.cpp:63)
==28614==    by 0xC9E7423: loop_chromosome_removeLevel (loopRemove.cpp:252)
==28614==    by 0xC9E75B2: OptmisationBreakpointsStep (loopRemove.cpp:322)
==28614==    by 0xC9DC4A4: daglad_OptmisationBreakpoints_findCluster (daglad.cpp:79)
==28614==    by 0x4EE84FB: do_dotCode (dotcode.c:1901)
==28614==    by 0x4F22BA3: Rf_eval (eval.c:651)
==28614==    by 0x4F25F9D: do_set (eval.c:1991)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==  Address 0xbb087b0 is 0 bytes after a block of size 32 alloc'd
==28614==    at 0x4C298F9: operator new(unsigned long) (vg_replace_malloc.c:298)
==28614==    by 0xC9E2C1A: mad_vector_double (new_allocator.h:104)
==28614==    by 0xC9E394F: detectOutliers (glad-utils.cpp:243)
==28614==    by 0xC9E6074: loopRemove (loopRemove.cpp:63)
==28614==    by 0xC9E7423: loop_chromosome_removeLevel (loopRemove.cpp:252)
==28614==    by 0xC9E75B2: OptmisationBreakpointsStep (loopRemove.cpp:322)
==28614==    by 0xC9DC4A4: daglad_OptmisationBreakpoints_findCluster (daglad.cpp:79)
==28614==    by 0x4EE84FB: do_dotCode (dotcode.c:1901)
==28614==    by 0x4F22BA3: Rf_eval (eval.c:651)
==28614==    by 0x4F25F9D: do_set (eval.c:1991)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==    by 0x4F24D36: do_begin (eval.c:1620)
==28614== 
==28614== Conditional jump or move depends on uninitialised value(s)
==28614==    at 0xC9E1E78: void std::__introselect<__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, long>(__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, __gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, __gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, long) (stl_algo.h:2242)
==28614==    by 0xC9E21E3: quantile_vector_double (stl_algo.h:5377)
==28614==    by 0xC9E2BA6: mad_vector_double (glad-utils.cpp:634)
==28614==    by 0xC9E394F: detectOutliers (glad-utils.cpp:243)
==28614==    by 0xC9E6074: loopRemove (loopRemove.cpp:63)
==28614==    by 0xC9E7423: loop_chromosome_removeLevel (loopRemove.cpp:252)
==28614==    by 0xC9E75B2: OptmisationBreakpointsStep (loopRemove.cpp:322)
==28614==    by 0xC9DC4A4: daglad_OptmisationBreakpoints_findCluster (daglad.cpp:79)
==28614==    by 0x4EE84FB: do_dotCode (dotcode.c:1901)
==28614==    by 0x4F22BA3: Rf_eval (eval.c:651)
==28614==    by 0x4F25F9D: do_set (eval.c:1991)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614== 
==28614== Invalid read of size 8
==28614==    at 0xC9E1E14: void std::__introselect<__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, long>(__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, __gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, __gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, long) (stl_algo.h:87)
==28614==    by 0xC9E21E3: quantile_vector_double (stl_algo.h:5377)
==28614==    by 0xC9E2BA6: mad_vector_double (glad-utils.cpp:634)
==28614==    by 0xC9E394F: detectOutliers (glad-utils.cpp:243)
==28614==    by 0xC9E6074: loopRemove (loopRemove.cpp:63)
==28614==    by 0xC9E7423: loop_chromosome_removeLevel (loopRemove.cpp:252)
==28614==    by 0xC9E75B2: OptmisationBreakpointsStep (loopRemove.cpp:322)
==28614==    by 0xC9DC4A4: daglad_OptmisationBreakpoints_findCluster (daglad.cpp:79)
==28614==    by 0x4EE84FB: do_dotCode (dotcode.c:1901)
==28614==    by 0x4F22BA3: Rf_eval (eval.c:651)
==28614==    by 0x4F25F9D: do_set (eval.c:1991)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==  Address 0xbb0b218 is 312 bytes inside a block of size 512 free'd
==28614==    at 0x4C2AB5C: operator delete(void*) (vg_replace_malloc.c:480)
==28614==    by 0xC9E5208: std::_Rb_tree<int, std::pair<int const, std::vector<int, std::allocator<int> > >, std::_Select1st<std::pair<int const, std::vector<int, std::allocator<int> > > >, std::less<int>, std::allocator<std::pair<int const, std::vector<int, std::allocator<int> > > > >::_M_erase(std::_Rb_tree_node<std::pair<int const, std::vector<int, std::allocator<int> > > >*) (new_allocator.h:110)
==28614==    by 0xC9E51F6: std::_Rb_tree<int, std::pair<int const, std::vector<int, std::allocator<int> > >, std::_Select1st<std::pair<int const, std::vector<int, std::allocator<int> > > >, std::less<int>, std::allocator<std::pair<int const, std::vector<int, std::allocator<int> > > > >::_M_erase(std::_Rb_tree_node<std::pair<int const, std::vector<int, std::allocator<int> > > >*) (stl_tree.h:1125)
==28614==    by 0xC9E6084: loopRemove (stl_tree.h:860)
==28614==    by 0xC9E7423: loop_chromosome_removeLevel (loopRemove.cpp:252)
==28614==    by 0xC9E75B2: OptmisationBreakpointsStep (loopRemove.cpp:322)
==28614==    by 0xC9DC4A4: daglad_OptmisationBreakpoints_findCluster (daglad.cpp:79)
==28614==    by 0x4EE84FB: do_dotCode (dotcode.c:1901)
==28614==    by 0x4F22BA3: Rf_eval (eval.c:651)
==28614==    by 0x4F25F9D: do_set (eval.c:1991)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==    by 0x4F24D36: do_begin (eval.c:1620)
==28614== 
==28614== Invalid read of size 8
==28614==    at 0xC9E1E7A: void std::__introselect<__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, long>(__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, __gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, __gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, long) (stl_algo.h:2245)
==28614==    by 0xC9E21E3: quantile_vector_double (stl_algo.h:5377)
==28614==    by 0xC9E2BA6: mad_vector_double (glad-utils.cpp:634)
==28614==    by 0xC9E394F: detectOutliers (glad-utils.cpp:243)
==28614==    by 0xC9E6074: loopRemove (loopRemove.cpp:63)
==28614==    by 0xC9E7423: loop_chromosome_removeLevel (loopRemove.cpp:252)
==28614==    by 0xC9E75B2: OptmisationBreakpointsStep (loopRemove.cpp:322)
==28614==    by 0xC9DC4A4: daglad_OptmisationBreakpoints_findCluster (daglad.cpp:79)
==28614==    by 0x4EE84FB: do_dotCode (dotcode.c:1901)
==28614==    by 0x4F22BA3: Rf_eval (eval.c:651)
==28614==    by 0x4F25F9D: do_set (eval.c:1991)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==  Address 0xbb0b220 is 320 bytes inside a block of size 512 free'd
==28614==    at 0x4C2AB5C: operator delete(void*) (vg_replace_malloc.c:480)
==28614==    by 0xC9E5208: std::_Rb_tree<int, std::pair<int const, std::vector<int, std::allocator<int> > >, std::_Select1st<std::pair<int const, std::vector<int, std::allocator<int> > > >, std::less<int>, std::allocator<std::pair<int const, std::vector<int, std::allocator<int> > > > >::_M_erase(std::_Rb_tree_node<std::pair<int const, std::vector<int, std::allocator<int> > > >*) (new_allocator.h:110)
==28614==    by 0xC9E51F6: std::_Rb_tree<int, std::pair<int const, std::vector<int, std::allocator<int> > >, std::_Select1st<std::pair<int const, std::vector<int, std::allocator<int> > > >, std::less<int>, std::allocator<std::pair<int const, std::vector<int, std::allocator<int> > > > >::_M_erase(std::_Rb_tree_node<std::pair<int const, std::vector<int, std::allocator<int> > > >*) (stl_tree.h:1125)
==28614==    by 0xC9E6084: loopRemove (stl_tree.h:860)
==28614==    by 0xC9E7423: loop_chromosome_removeLevel (loopRemove.cpp:252)
==28614==    by 0xC9E75B2: OptmisationBreakpointsStep (loopRemove.cpp:322)
==28614==    by 0xC9DC4A4: daglad_OptmisationBreakpoints_findCluster (daglad.cpp:79)
==28614==    by 0x4EE84FB: do_dotCode (dotcode.c:1901)
==28614==    by 0x4F22BA3: Rf_eval (eval.c:651)
==28614==    by 0x4F25F9D: do_set (eval.c:1991)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==    by 0x4F24D36: do_begin (eval.c:1620)
==28614== 
==28614== Invalid write of size 8
==28614==    at 0xC9E1EB0: void std::__introselect<__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, long>(__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, __gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, __gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, long) (move.h:177)
==28614==    by 0xC9E21E3: quantile_vector_double (stl_algo.h:5377)
==28614==    by 0xC9E2BA6: mad_vector_double (glad-utils.cpp:634)
==28614==    by 0xC9E394F: detectOutliers (glad-utils.cpp:243)
==28614==    by 0xC9E6074: loopRemove (loopRemove.cpp:63)
==28614==    by 0xC9E7423: loop_chromosome_removeLevel (loopRemove.cpp:252)
==28614==    by 0xC9E75B2: OptmisationBreakpointsStep (loopRemove.cpp:322)
==28614==    by 0xC9DC4A4: daglad_OptmisationBreakpoints_findCluster (daglad.cpp:79)
==28614==    by 0x4EE84FB: do_dotCode (dotcode.c:1901)
==28614==    by 0x4F22BA3: Rf_eval (eval.c:651)
==28614==    by 0x4F25F9D: do_set (eval.c:1991)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==  Address 0xbb0b220 is 320 bytes inside a block of size 512 free'd
==28614==    at 0x4C2AB5C: operator delete(void*) (vg_replace_malloc.c:480)
==28614==    by 0xC9E5208: std::_Rb_tree<int, std::pair<int const, std::vector<int, std::allocator<int> > >, std::_Select1st<std::pair<int const, std::vector<int, std::allocator<int> > > >, std::less<int>, std::allocator<std::pair<int const, std::vector<int, std::allocator<int> > > > >::_M_erase(std::_Rb_tree_node<std::pair<int const, std::vector<int, std::allocator<int> > > >*) (new_allocator.h:110)
==28614==    by 0xC9E51F6: std::_Rb_tree<int, std::pair<int const, std::vector<int, std::allocator<int> > >, std::_Select1st<std::pair<int const, std::vector<int, std::allocator<int> > > >, std::less<int>, std::allocator<std::pair<int const, std::vector<int, std::allocator<int> > > > >::_M_erase(std::_Rb_tree_node<std::pair<int const, std::vector<int, std::allocator<int> > > >*) (stl_tree.h:1125)
==28614==    by 0xC9E6084: loopRemove (stl_tree.h:860)
==28614==    by 0xC9E7423: loop_chromosome_removeLevel (loopRemove.cpp:252)
==28614==    by 0xC9E75B2: OptmisationBreakpointsStep (loopRemove.cpp:322)
==28614==    by 0xC9DC4A4: daglad_OptmisationBreakpoints_findCluster (daglad.cpp:79)
==28614==    by 0x4EE84FB: do_dotCode (dotcode.c:1901)
==28614==    by 0x4F22BA3: Rf_eval (eval.c:651)
==28614==    by 0x4F25F9D: do_set (eval.c:1991)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==    by 0x4F24D36: do_begin (eval.c:1620)
==28614== 
==28614== Invalid read of size 8
==28614==    at 0xC9E1EB8: void std::__introselect<__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, long>(__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, __gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, __gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, long) (move.h:177)
==28614==    by 0xC9E21E3: quantile_vector_double (stl_algo.h:5377)
==28614==    by 0xC9E2BA6: mad_vector_double (glad-utils.cpp:634)
==28614==    by 0xC9E394F: detectOutliers (glad-utils.cpp:243)
==28614==    by 0xC9E6074: loopRemove (loopRemove.cpp:63)
==28614==    by 0xC9E7423: loop_chromosome_removeLevel (loopRemove.cpp:252)
==28614==    by 0xC9E75B2: OptmisationBreakpointsStep (loopRemove.cpp:322)
==28614==    by 0xC9DC4A4: daglad_OptmisationBreakpoints_findCluster (daglad.cpp:79)
==28614==    by 0x4EE84FB: do_dotCode (dotcode.c:1901)
==28614==    by 0x4F22BA3: Rf_eval (eval.c:651)
==28614==    by 0x4F25F9D: do_set (eval.c:1991)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==  Address 0xbb087b0 is 0 bytes after a block of size 32 alloc'd
==28614==    at 0x4C298F9: operator new(unsigned long) (vg_replace_malloc.c:298)
==28614==    by 0xC9E2C1A: mad_vector_double (new_allocator.h:104)
==28614==    by 0xC9E394F: detectOutliers (glad-utils.cpp:243)
==28614==    by 0xC9E6074: loopRemove (loopRemove.cpp:63)
==28614==    by 0xC9E7423: loop_chromosome_removeLevel (loopRemove.cpp:252)
==28614==    by 0xC9E75B2: OptmisationBreakpointsStep (loopRemove.cpp:322)
==28614==    by 0xC9DC4A4: daglad_OptmisationBreakpoints_findCluster (daglad.cpp:79)
==28614==    by 0x4EE84FB: do_dotCode (dotcode.c:1901)
==28614==    by 0x4F22BA3: Rf_eval (eval.c:651)
==28614==    by 0x4F25F9D: do_set (eval.c:1991)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==    by 0x4F24D36: do_begin (eval.c:1620)
==28614== 
==28614== Conditional jump or move depends on uninitialised value(s)
==28614==    at 0xC9E1E8B: void std::__introselect<__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, long>(__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, __gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, __gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, long) (stl_algo.h:2245)
==28614==    by 0xC9E21E3: quantile_vector_double (stl_algo.h:5377)
==28614==    by 0xC9E2BA6: mad_vector_double (glad-utils.cpp:634)
==28614==    by 0xC9E394F: detectOutliers (glad-utils.cpp:243)
==28614==    by 0xC9E6074: loopRemove (loopRemove.cpp:63)
==28614==    by 0xC9E7423: loop_chromosome_removeLevel (loopRemove.cpp:252)
==28614==    by 0xC9E75B2: OptmisationBreakpointsStep (loopRemove.cpp:322)
==28614==    by 0xC9DC4A4: daglad_OptmisationBreakpoints_findCluster (daglad.cpp:79)
==28614==    by 0x4EE84FB: do_dotCode (dotcode.c:1901)
==28614==    by 0x4F22BA3: Rf_eval (eval.c:651)
==28614==    by 0x4F25F9D: do_set (eval.c:1991)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614== 
==28614== Conditional jump or move depends on uninitialised value(s)
==28614==    at 0xC9E1EA0: void std::__introselect<__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, long>(__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, __gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, __gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, long) (stl_algo.h:2245)
==28614==    by 0xC9E21E3: quantile_vector_double (stl_algo.h:5377)
==28614==    by 0xC9E2BA6: mad_vector_double (glad-utils.cpp:634)
==28614==    by 0xC9E394F: detectOutliers (glad-utils.cpp:243)
==28614==    by 0xC9E6074: loopRemove (loopRemove.cpp:63)
==28614==    by 0xC9E7423: loop_chromosome_removeLevel (loopRemove.cpp:252)
==28614==    by 0xC9E75B2: OptmisationBreakpointsStep (loopRemove.cpp:322)
==28614==    by 0xC9DC4A4: daglad_OptmisationBreakpoints_findCluster (daglad.cpp:79)
==28614==    by 0x4EE84FB: do_dotCode (dotcode.c:1901)
==28614==    by 0x4F22BA3: Rf_eval (eval.c:651)
==28614==    by 0x4F25F9D: do_set (eval.c:1991)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614== 
==28614== Invalid write of size 8
==28614==    at 0xC9E1EA7: void std::__introselect<__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, long>(__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, __gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, __gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, long) (move.h:176)
==28614==    by 0xC9E21E3: quantile_vector_double (stl_algo.h:5377)
==28614==    by 0xC9E2BA6: mad_vector_double (glad-utils.cpp:634)
==28614==    by 0xC9E394F: detectOutliers (glad-utils.cpp:243)
==28614==    by 0xC9E6074: loopRemove (loopRemove.cpp:63)
==28614==    by 0xC9E7423: loop_chromosome_removeLevel (loopRemove.cpp:252)
==28614==    by 0xC9E75B2: OptmisationBreakpointsStep (loopRemove.cpp:322)
==28614==    by 0xC9DC4A4: daglad_OptmisationBreakpoints_findCluster (daglad.cpp:79)
==28614==    by 0x4EE84FB: do_dotCode (dotcode.c:1901)
==28614==    by 0x4F22BA3: Rf_eval (eval.c:651)
==28614==    by 0x4F25F9D: do_set (eval.c:1991)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==  Address 0xbb087b0 is 0 bytes after a block of size 32 alloc'd
==28614==    at 0x4C298F9: operator new(unsigned long) (vg_replace_malloc.c:298)
==28614==    by 0xC9E2C1A: mad_vector_double (new_allocator.h:104)
==28614==    by 0xC9E394F: detectOutliers (glad-utils.cpp:243)
==28614==    by 0xC9E6074: loopRemove (loopRemove.cpp:63)
==28614==    by 0xC9E7423: loop_chromosome_removeLevel (loopRemove.cpp:252)
==28614==    by 0xC9E75B2: OptmisationBreakpointsStep (loopRemove.cpp:322)
==28614==    by 0xC9DC4A4: daglad_OptmisationBreakpoints_findCluster (daglad.cpp:79)
==28614==    by 0x4EE84FB: do_dotCode (dotcode.c:1901)
==28614==    by 0x4F22BA3: Rf_eval (eval.c:651)
==28614==    by 0x4F25F9D: do_set (eval.c:1991)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==    by 0x4F24D36: do_begin (eval.c:1620)
==28614== 
==28614== Conditional jump or move depends on uninitialised value(s)
==28614==    at 0xC9E1EC6: void std::__introselect<__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, long>(__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, __gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, __gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, long) (stl_algo.h:2242)
==28614==    by 0xC9E21E3: quantile_vector_double (stl_algo.h:5377)
==28614==    by 0xC9E2BA6: mad_vector_double (glad-utils.cpp:634)
==28614==    by 0xC9E394F: detectOutliers (glad-utils.cpp:243)
==28614==    by 0xC9E6074: loopRemove (loopRemove.cpp:63)
==28614==    by 0xC9E7423: loop_chromosome_removeLevel (loopRemove.cpp:252)
==28614==    by 0xC9E75B2: OptmisationBreakpointsStep (loopRemove.cpp:322)
==28614==    by 0xC9DC4A4: daglad_OptmisationBreakpoints_findCluster (daglad.cpp:79)
==28614==    by 0x4EE84FB: do_dotCode (dotcode.c:1901)
==28614==    by 0x4F22BA3: Rf_eval (eval.c:651)
==28614==    by 0x4F25F9D: do_set (eval.c:1991)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614== 
==28614== Invalid read of size 8
==28614==    at 0xC9E1E97: void std::__introselect<__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, long>(__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, __gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, __gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, long) (stl_algo.h:2245)
==28614==    by 0xC9E21E3: quantile_vector_double (stl_algo.h:5377)
==28614==    by 0xC9E2BA6: mad_vector_double (glad-utils.cpp:634)
==28614==    by 0xC9E394F: detectOutliers (glad-utils.cpp:243)
==28614==    by 0xC9E6074: loopRemove (loopRemove.cpp:63)
==28614==    by 0xC9E7423: loop_chromosome_removeLevel (loopRemove.cpp:252)
==28614==    by 0xC9E75B2: OptmisationBreakpointsStep (loopRemove.cpp:322)
==28614==    by 0xC9DC4A4: daglad_OptmisationBreakpoints_findCluster (daglad.cpp:79)
==28614==    by 0x4EE84FB: do_dotCode (dotcode.c:1901)
==28614==    by 0x4F22BA3: Rf_eval (eval.c:651)
==28614==    by 0x4F25F9D: do_set (eval.c:1991)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==  Address 0xbb08ff8 is 8 bytes before a block of size 8,352 alloc'd
==28614==    at 0x4C2935B: malloc (vg_replace_malloc.c:270)
==28614==    by 0x4F58E54: Rf_allocVector (memory.c:2465)
==28614==    by 0x4EEF81F: duplicate1 (duplicate.c:236)
==28614==    by 0x4EEFA99: duplicate1 (duplicate.c:230)
==28614==    by 0x4EEFA99: duplicate1 (duplicate.c:230)
==28614==    by 0x4F22DB1: EnsureLocal (eval.c:1243)
==28614==    by 0x4F2514E: evalseq (eval.c:1693)
==28614==    by 0x4F2535E: applydefine.isra.16 (eval.c:1893)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==    by 0x4F24D36: do_begin (eval.c:1620)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==    by 0x4F23CEC: Rf_applyClosure (eval.c:1033)
==28614== 
==28614== Invalid read of size 8
==28614==    at 0xC9E1F5E: void std::__introselect<__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, long>(__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, __gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, __gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, long) (stl_algo.h:1935)
==28614==    by 0xC9E21E3: quantile_vector_double (stl_algo.h:5377)
==28614==    by 0xC9E2BA6: mad_vector_double (glad-utils.cpp:634)
==28614==    by 0xC9E394F: detectOutliers (glad-utils.cpp:243)
==28614==    by 0xC9E6074: loopRemove (loopRemove.cpp:63)
==28614==    by 0xC9E7423: loop_chromosome_removeLevel (loopRemove.cpp:252)
==28614==    by 0xC9E75B2: OptmisationBreakpointsStep (loopRemove.cpp:322)
==28614==    by 0xC9DC4A4: daglad_OptmisationBreakpoints_findCluster (daglad.cpp:79)
==28614==    by 0x4EE84FB: do_dotCode (dotcode.c:1901)
==28614==    by 0x4F22BA3: Rf_eval (eval.c:651)
==28614==    by 0x4F25F9D: do_set (eval.c:1991)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==  Address 0xbb087b0 is 0 bytes after a block of size 32 alloc'd
==28614==    at 0x4C298F9: operator new(unsigned long) (vg_replace_malloc.c:298)
==28614==    by 0xC9E2C1A: mad_vector_double (new_allocator.h:104)
==28614==    by 0xC9E394F: detectOutliers (glad-utils.cpp:243)
==28614==    by 0xC9E6074: loopRemove (loopRemove.cpp:63)
==28614==    by 0xC9E7423: loop_chromosome_removeLevel (loopRemove.cpp:252)
==28614==    by 0xC9E75B2: OptmisationBreakpointsStep (loopRemove.cpp:322)
==28614==    by 0xC9DC4A4: daglad_OptmisationBreakpoints_findCluster (daglad.cpp:79)
==28614==    by 0x4EE84FB: do_dotCode (dotcode.c:1901)
==28614==    by 0x4F22BA3: Rf_eval (eval.c:651)
==28614==    by 0x4F25F9D: do_set (eval.c:1991)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==    by 0x4F24D36: do_begin (eval.c:1620)
==28614== 
==28614== Invalid write of size 8
==28614==    at 0xC9E1F6A: void std::__introselect<__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, long>(__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, __gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, __gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, long) (stl_heap.h:262)
==28614==    by 0xC9E21E3: quantile_vector_double (stl_algo.h:5377)
==28614==    by 0xC9E2BA6: mad_vector_double (glad-utils.cpp:634)
==28614==    by 0xC9E394F: detectOutliers (glad-utils.cpp:243)
==28614==    by 0xC9E6074: loopRemove (loopRemove.cpp:63)
==28614==    by 0xC9E7423: loop_chromosome_removeLevel (loopRemove.cpp:252)
==28614==    by 0xC9E75B2: OptmisationBreakpointsStep (loopRemove.cpp:322)
==28614==    by 0xC9DC4A4: daglad_OptmisationBreakpoints_findCluster (daglad.cpp:79)
==28614==    by 0x4EE84FB: do_dotCode (dotcode.c:1901)
==28614==    by 0x4F22BA3: Rf_eval (eval.c:651)
==28614==    by 0x4F25F9D: do_set (eval.c:1991)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==  Address 0xbb087b0 is 0 bytes after a block of size 32 alloc'd
==28614==    at 0x4C298F9: operator new(unsigned long) (vg_replace_malloc.c:298)
==28614==    by 0xC9E2C1A: mad_vector_double (new_allocator.h:104)
==28614==    by 0xC9E394F: detectOutliers (glad-utils.cpp:243)
==28614==    by 0xC9E6074: loopRemove (loopRemove.cpp:63)
==28614==    by 0xC9E7423: loop_chromosome_removeLevel (loopRemove.cpp:252)
==28614==    by 0xC9E75B2: OptmisationBreakpointsStep (loopRemove.cpp:322)
==28614==    by 0xC9DC4A4: daglad_OptmisationBreakpoints_findCluster (daglad.cpp:79)
==28614==    by 0x4EE84FB: do_dotCode (dotcode.c:1901)
==28614==    by 0x4F22BA3: Rf_eval (eval.c:651)
==28614==    by 0x4F25F9D: do_set (eval.c:1991)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==    by 0x4F24D36: do_begin (eval.c:1620)
==28614== 
==28614== Conditional jump or move depends on uninitialised value(s)
==28614==    at 0xC9E1F68: void std::__introselect<__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, long>(__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, __gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, __gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, long) (stl_algo.h:1935)
==28614==    by 0xC9E21E3: quantile_vector_double (stl_algo.h:5377)
==28614==    by 0xC9E2BA6: mad_vector_double (glad-utils.cpp:634)
==28614==    by 0xC9E394F: detectOutliers (glad-utils.cpp:243)
==28614==    by 0xC9E6074: loopRemove (loopRemove.cpp:63)
==28614==    by 0xC9E7423: loop_chromosome_removeLevel (loopRemove.cpp:252)
==28614==    by 0xC9E75B2: OptmisationBreakpointsStep (loopRemove.cpp:322)
==28614==    by 0xC9DC4A4: daglad_OptmisationBreakpoints_findCluster (daglad.cpp:79)
==28614==    by 0x4EE84FB: do_dotCode (dotcode.c:1901)
==28614==    by 0x4F22BA3: Rf_eval (eval.c:651)
==28614==    by 0x4F25F9D: do_set (eval.c:1991)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614== 
==28614== Invalid read of size 1
==28614==    at 0x4F55D3F: R_gc_internal (memory.c:1575)
==28614==    by 0x4F58BDA: Rf_allocVector (memory.c:2434)
==28614==    by 0x4EEF81F: duplicate1 (duplicate.c:236)
==28614==    by 0x4EEFA99: duplicate1 (duplicate.c:230)
==28614==    by 0x4EEFA99: duplicate1 (duplicate.c:230)
==28614==    by 0x4F22DB1: EnsureLocal (eval.c:1243)
==28614==    by 0x4F2514E: evalseq (eval.c:1693)
==28614==    by 0x4F25020: evalseq (eval.c:1703)
==28614==    by 0x4F2535E: applydefine.isra.16 (eval.c:1893)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==    by 0x4F24D36: do_begin (eval.c:1620)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==  Address 0xa8e0943 is 3 bytes inside a block of size 216 free'd
==28614==    at 0x4C2A68C: free (vg_replace_malloc.c:446)
==28614==    by 0x4F5688E: R_gc_internal (memory.c:1011)
==28614==    by 0x4F58A69: Rf_allocVector (memory.c:2284)
==28614==    by 0x4EEF81F: duplicate1 (duplicate.c:236)
==28614==    by 0x4F19176: bcEval (eval.c:4446)
==28614==    by 0x4F22787: Rf_eval (eval.c:554)
==28614==    by 0x4F23CEC: Rf_applyClosure (eval.c:1033)
==28614==    by 0x4F1A928: bcEval (eval.c:4670)
==28614==    by 0x4F22787: Rf_eval (eval.c:554)
==28614==    by 0x4F23CEC: Rf_applyClosure (eval.c:1033)
==28614==    by 0x4F22730: Rf_eval (eval.c:670)
==28614==    by 0x4F22EE9: forcePromise (eval.c:458)
==28614== 
==28614== Invalid read of size 8
==28614==    at 0x4F55D4B: R_gc_internal (memory.c:1575)
==28614==    by 0x4F58BDA: Rf_allocVector (memory.c:2434)
==28614==    by 0x4EEF81F: duplicate1 (duplicate.c:236)
==28614==    by 0x4EEFA99: duplicate1 (duplicate.c:230)
==28614==    by 0x4EEFA99: duplicate1 (duplicate.c:230)
==28614==    by 0x4F22DB1: EnsureLocal (eval.c:1243)
==28614==    by 0x4F2514E: evalseq (eval.c:1693)
==28614==    by 0x4F25020: evalseq (eval.c:1703)
==28614==    by 0x4F2535E: applydefine.isra.16 (eval.c:1893)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==    by 0x4F24D36: do_begin (eval.c:1620)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==  Address 0xa8e0958 is 24 bytes inside a block of size 216 free'd
==28614==    at 0x4C2A68C: free (vg_replace_malloc.c:446)
==28614==    by 0x4F5688E: R_gc_internal (memory.c:1011)
==28614==    by 0x4F58A69: Rf_allocVector (memory.c:2284)
==28614==    by 0x4EEF81F: duplicate1 (duplicate.c:236)
==28614==    by 0x4F19176: bcEval (eval.c:4446)
==28614==    by 0x4F22787: Rf_eval (eval.c:554)
==28614==    by 0x4F23CEC: Rf_applyClosure (eval.c:1033)
==28614==    by 0x4F1A928: bcEval (eval.c:4670)
==28614==    by 0x4F22787: Rf_eval (eval.c:554)
==28614==    by 0x4F23CEC: Rf_applyClosure (eval.c:1033)
==28614==    by 0x4F22730: Rf_eval (eval.c:670)
==28614==    by 0x4F22EE9: forcePromise (eval.c:458)
==28614== 
==28614== Invalid write of size 1
==28614==    at 0x4F55D4F: R_gc_internal (memory.c:1575)
==28614==    by 0x4F58BDA: Rf_allocVector (memory.c:2434)
==28614==    by 0x4EEF81F: duplicate1 (duplicate.c:236)
==28614==    by 0x4EEFA99: duplicate1 (duplicate.c:230)
==28614==    by 0x4EEFA99: duplicate1 (duplicate.c:230)
==28614==    by 0x4F22DB1: EnsureLocal (eval.c:1243)
==28614==    by 0x4F2514E: evalseq (eval.c:1693)
==28614==    by 0x4F25020: evalseq (eval.c:1703)
==28614==    by 0x4F2535E: applydefine.isra.16 (eval.c:1893)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==    by 0x4F24D36: do_begin (eval.c:1620)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==  Address 0xa8e0943 is 3 bytes inside a block of size 216 free'd
==28614==    at 0x4C2A68C: free (vg_replace_malloc.c:446)
==28614==    by 0x4F5688E: R_gc_internal (memory.c:1011)
==28614==    by 0x4F58A69: Rf_allocVector (memory.c:2284)
==28614==    by 0x4EEF81F: duplicate1 (duplicate.c:236)
==28614==    by 0x4F19176: bcEval (eval.c:4446)
==28614==    by 0x4F22787: Rf_eval (eval.c:554)
==28614==    by 0x4F23CEC: Rf_applyClosure (eval.c:1033)
==28614==    by 0x4F1A928: bcEval (eval.c:4670)
==28614==    by 0x4F22787: Rf_eval (eval.c:554)
==28614==    by 0x4F23CEC: Rf_applyClosure (eval.c:1033)
==28614==    by 0x4F22730: Rf_eval (eval.c:670)
==28614==    by 0x4F22EE9: forcePromise (eval.c:458)
==28614== 
==28614== Invalid read of size 8
==28614==    at 0x4F55D52: R_gc_internal (memory.c:1575)
==28614==    by 0x4F58BDA: Rf_allocVector (memory.c:2434)
==28614==    by 0x4EEF81F: duplicate1 (duplicate.c:236)
==28614==    by 0x4EEFA99: duplicate1 (duplicate.c:230)
==28614==    by 0x4EEFA99: duplicate1 (duplicate.c:230)
==28614==    by 0x4F22DB1: EnsureLocal (eval.c:1243)
==28614==    by 0x4F2514E: evalseq (eval.c:1693)
==28614==    by 0x4F25020: evalseq (eval.c:1703)
==28614==    by 0x4F2535E: applydefine.isra.16 (eval.c:1893)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==    by 0x4F24D36: do_begin (eval.c:1620)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==  Address 0xa8e0950 is 16 bytes inside a block of size 216 free'd
==28614==    at 0x4C2A68C: free (vg_replace_malloc.c:446)
==28614==    by 0x4F5688E: R_gc_internal (memory.c:1011)
==28614==    by 0x4F58A69: Rf_allocVector (memory.c:2284)
==28614==    by 0x4EEF81F: duplicate1 (duplicate.c:236)
==28614==    by 0x4F19176: bcEval (eval.c:4446)
==28614==    by 0x4F22787: Rf_eval (eval.c:554)
==28614==    by 0x4F23CEC: Rf_applyClosure (eval.c:1033)
==28614==    by 0x4F1A928: bcEval (eval.c:4670)
==28614==    by 0x4F22787: Rf_eval (eval.c:554)
==28614==    by 0x4F23CEC: Rf_applyClosure (eval.c:1033)
==28614==    by 0x4F22730: Rf_eval (eval.c:670)
==28614==    by 0x4F22EE9: forcePromise (eval.c:458)
==28614== 
==28614== Invalid write of size 8
==28614==    at 0x4F55D5A: R_gc_internal (memory.c:1575)
==28614==    by 0x4F58BDA: Rf_allocVector (memory.c:2434)
==28614==    by 0x4EEF81F: duplicate1 (duplicate.c:236)
==28614==    by 0x4EEFA99: duplicate1 (duplicate.c:230)
==28614==    by 0x4EEFA99: duplicate1 (duplicate.c:230)
==28614==    by 0x4F22DB1: EnsureLocal (eval.c:1243)
==28614==    by 0x4F2514E: evalseq (eval.c:1693)
==28614==    by 0x4F25020: evalseq (eval.c:1703)
==28614==    by 0x4F2535E: applydefine.isra.16 (eval.c:1893)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==    by 0x4F24D36: do_begin (eval.c:1620)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==  Address 0xa927af8 is 24 bytes inside a block of size 256 free'd
==28614==    at 0x4C2A68C: free (vg_replace_malloc.c:446)
==28614==    by 0x4F5688E: R_gc_internal (memory.c:1011)
==28614==    by 0x4F58A69: Rf_allocVector (memory.c:2284)
==28614==    by 0x4EEF81F: duplicate1 (duplicate.c:236)
==28614==    by 0x4F19176: bcEval (eval.c:4446)
==28614==    by 0x4F22787: Rf_eval (eval.c:554)
==28614==    by 0x4F23CEC: Rf_applyClosure (eval.c:1033)
==28614==    by 0x4F1A928: bcEval (eval.c:4670)
==28614==    by 0x4F22787: Rf_eval (eval.c:554)
==28614==    by 0x4F23CEC: Rf_applyClosure (eval.c:1033)
==28614==    by 0x4F22730: Rf_eval (eval.c:670)
==28614==    by 0x4F22EE9: forcePromise (eval.c:458)
==28614== 
==28614== Invalid write of size 8
==28614==    at 0x4F55D5E: R_gc_internal (memory.c:1575)
==28614==    by 0x4F58BDA: Rf_allocVector (memory.c:2434)
==28614==    by 0x4EEF81F: duplicate1 (duplicate.c:236)
==28614==    by 0x4EEFA99: duplicate1 (duplicate.c:230)
==28614==    by 0x4EEFA99: duplicate1 (duplicate.c:230)
==28614==    by 0x4F22DB1: EnsureLocal (eval.c:1243)
==28614==    by 0x4F2514E: evalseq (eval.c:1693)
==28614==    by 0x4F25020: evalseq (eval.c:1703)
==28614==    by 0x4F2535E: applydefine.isra.16 (eval.c:1893)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==    by 0x4F24D36: do_begin (eval.c:1620)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==  Address 0xa8e0950 is 16 bytes inside a block of size 216 free'd
==28614==    at 0x4C2A68C: free (vg_replace_malloc.c:446)
==28614==    by 0x4F5688E: R_gc_internal (memory.c:1011)
==28614==    by 0x4F58A69: Rf_allocVector (memory.c:2284)
==28614==    by 0x4EEF81F: duplicate1 (duplicate.c:236)
==28614==    by 0x4F19176: bcEval (eval.c:4446)
==28614==    by 0x4F22787: Rf_eval (eval.c:554)
==28614==    by 0x4F23CEC: Rf_applyClosure (eval.c:1033)
==28614==    by 0x4F1A928: bcEval (eval.c:4670)
==28614==    by 0x4F22787: Rf_eval (eval.c:554)
==28614==    by 0x4F23CEC: Rf_applyClosure (eval.c:1033)
==28614==    by 0x4F22730: Rf_eval (eval.c:670)
==28614==    by 0x4F22EE9: forcePromise (eval.c:458)
==28614== 
==28614== Use of uninitialised value of size 8
==28614==    at 0x4F55BA4: R_gc_internal (memory.c:1575)
==28614==    by 0x4F58BDA: Rf_allocVector (memory.c:2434)
==28614==    by 0x4EEF81F: duplicate1 (duplicate.c:236)
==28614==    by 0x4EEFA99: duplicate1 (duplicate.c:230)
==28614==    by 0x4EEFA99: duplicate1 (duplicate.c:230)
==28614==    by 0x4F22DB1: EnsureLocal (eval.c:1243)
==28614==    by 0x4F2514E: evalseq (eval.c:1693)
==28614==    by 0x4F25020: evalseq (eval.c:1703)
==28614==    by 0x4F2535E: applydefine.isra.16 (eval.c:1893)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==    by 0x4F24D36: do_begin (eval.c:1620)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614== 
==28614== Invalid write of size 8
==28614==    at 0x4F55BA4: R_gc_internal (memory.c:1575)
==28614==    by 0x4F58BDA: Rf_allocVector (memory.c:2434)
==28614==    by 0x4EEF81F: duplicate1 (duplicate.c:236)
==28614==    by 0x4EEFA99: duplicate1 (duplicate.c:230)
==28614==    by 0x4EEFA99: duplicate1 (duplicate.c:230)
==28614==    by 0x4F22DB1: EnsureLocal (eval.c:1243)
==28614==    by 0x4F2514E: evalseq (eval.c:1693)
==28614==    by 0x4F25020: evalseq (eval.c:1703)
==28614==    by 0x4F2535E: applydefine.isra.16 (eval.c:1893)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==    by 0x4F24D36: do_begin (eval.c:1620)
==28614==    by 0x4F2298F: Rf_eval (eval.c:623)
==28614==  Address 0x1a is not stack'd, malloc'd or (recently) free'd
==28614== 

 *** caught segfault ***
address 0x1a, cause 'memory not mapped'
==28614== 
==28614== Process terminating with default action of signal 11 (SIGSEGV)
==28614==  General Protection Fault
==28614==    at 0x5817F7A: snprintf (snprintf.c:29)
==28614==    by 0x4F8BEDD: Rf_EncodeReal (printutils.c:200)
==28614==    by 0x4F8D4EF: Rf_EncodeElement (printutils.c:691)
==28614==    by 0x4ED1CD0: vector2buff (deparse.c:1387)
==28614==    by 0x4ED47BB: deparse2buff (deparse.c:1184)
==28614==    by 0x4ED600A: args2buff.isra.5 (deparse.c:1511)
==28614==    by 0x4ED42F9: deparse2buff (deparse.c:1169)
==28614==    by 0x4ED675B: Rf_deparse1 (deparse.c:495)
==28614==    by 0x4F0B7BD: R_GetTraceback (errors.c:1344)
==28614==    by 0x4F4DFCF: sigactionSegv (main.c:563)
==28614==    by 0x55BA20F: ??? (in /lib/x86_64-linux-gnu/libpthread-2.17.so)
==28614==    by 0x4F55BA3: R_gc_internal (memory.c:1575)
==28614== 
==28614== HEAP SUMMARY:
==28614==     in use at exit: 30,524,124 bytes in 12,208 blocks
==28614==   total heap usage: 53,083 allocs, 40,875 frees, 260,247,507 bytes allocated
==28614== 
==28614== LEAK SUMMARY:
==28614==    definitely lost: 0 bytes in 0 blocks
==28614==    indirectly lost: 0 bytes in 0 blocks
==28614==      possibly lost: 0 bytes in 0 blocks
==28614==    still reachable: 30,524,124 bytes in 12,208 blocks
==28614==         suppressed: 0 bytes in 0 blocks
==28614== Rerun with --leak-check=full to see details of leaked memory
==28614== 
==28614== For counts of detected and suppressed errors, rerun with: -v
==28614== Use --track-origins=yes to see where uninitialised values come from
==28614== ERROR SUMMARY: 447 errors from 26 contexts (suppressed: 2 from 2)
Segmentation fault
















> -- 
> Martin Morgan
> 
> On Dec 28, 2013, at 8:32 AM, Ramon Diaz-Uriarte <rdiaz02 at gmail.com> wrote:
> 
> > Dear All,
> > 
> > At least one function (daglad) from the GLAD package crashes with a
> > segfault when compiled with gcc-4.8 but not with gcc-4.7. I am not sure if
> > this is a problem with GLAD or, more unlikely, with R. (Details below)
> > 
> > 
> > Has anybody seen something similar?
> > 
> > Best,
> > 
> > R.
> > 
> > 
> > Details:
> > ========
> > 
> > - How to reproduce the error
> > 
> >  ## make sure you are using gcc-4.8 and g++-4.8
> >  biocLite("GLAD")
> >  library(GLAD)
> >  example(daglad)
> > 
> > 
> > - Errors: there are several; these are some
> > 
> > *** Error in `/home/ramon/Sources/R-3.1.0-64488/bin/exec/R': free(): invalid next size (fast): 0x0000000014144d70 ***
> > ======= Backtrace: =========
> > /lib/x86_64-linux-gnu/libc.so.6(+0x7aa16)[0x7f2ff0f04a16]
> > /lib/x86_64-linux-gnu/libc.so.6(+0x7b793)[0x7f2ff0f05793]
> > /home/ramon/Sources/R-3.1.0-64488/library/GLAD/libs/GLAD.so(mad_vector_double+0x184)[0x7f2fed753bc4]
> > 
> > 
> > [1] "Optimization of the Breakpoints and DNA copy number calling"
> > *** Error in `/usr/lib/R/bin/exec/R': corrupted double-linked list: 0x00000000010f24a0 ***
> > 
> > 
> > *** caught segfault ***
> > address 0x140000000a, cause 'memory not mapped'
> > 
> > Traceback:
> > 1: gc(FALSE)
> > 2: system.time(BP <- merge(BP, profileCGH$SigmaC))
> > 3: BkpInfo.profileCGH(profileCGH)
> > 4: BkpInfo(profileCGH)
> > 
> > 
> > - OS: Debian GNU/Linux, a mixture of testing and unstable
> > 
> > - version of gcc/g++: 4.8.2-1 and 4.7.3-9 (for Debian)
> > 
> > - version of GLAD: 2.26.0 (for R-3.0.2) and 2.27.1 (for R-3.1.0)
> > 
> > - versions of R: several from R-3.0.2 and R-3.1.0. For instance
> > 
> >  ## the current Debian version
> >> version
> >               _                           
> > platform       x86_64-pc-linux-gnu         
> > arch           x86_64                      
> > os             linux-gnu                   
> > system         x86_64, linux-gnu           
> > status                                     
> > major          3                           
> > minor          0.2                         
> > year           2013                        
> > month          09                          
> > day            25                          
> > svn rev        63987                       
> > language       R                           
> > version.string R version 3.0.2 (2013-09-25)
> > nickname       Frisbee Sailing   
> > 
> > ## the R-devel that seems to be used in the testing of BioC packages
> >> version
> >               _                                                 
> > platform       x86_64-pc-linux-gnu                               
> > arch           x86_64                                            
> > os             linux-gnu                                         
> > system         x86_64, linux-gnu                                 
> > status         Under development (unstable)                      
> > major          3                                                 
> > minor          1.0                                               
> > year           2013                                              
> > month          12                                                
> > day            19                                                
> > svn rev        64488                                             
> > language       R                                                 
> > version.string R Under development (unstable) (2013-12-19 r64488)
> > nickname       Unsuffered Consequences      
> > 
> > ## the latest R-devel
> >> version        
> >               _                                                 
> > platform       x86_64-pc-linux-gnu                               
> > arch           x86_64                                            
> > os             linux-gnu                                         
> > system         x86_64, linux-gnu                                 
> > status         Under development (unstable)                      
> > major          3                                                 
> > minor          1.0                                               
> > year           2013                                              
> > month          12                                                
> > day            27                                                
> > svn rev        64562                                             
> > language       R                                                 
> > version.string R Under development (unstable) (2013-12-27 r64562)
> > nickname       Unsuffered Consequences  
> > 
> > 
> > - version of GSL: crashes happen with the two available versions in Debian
> >  for libgsl0ldbl and libgsl0-dev: 1.16+dfsg-1 and 1.15+dfsg.2-2
> > 
> > 
> > 
> > 
> 

-- 
Ramon Diaz-Uriarte
Department of Biochemistry, Lab B-25
Facultad de Medicina 
Universidad Autónoma de Madrid 
Arzobispo Morcillo, 4
28029 Madrid
Spain

Phone: +34-91-497-2412

Email: rdiaz02 at gmail.com
       ramon.diaz at iib.uam.es

http://ligarto.org/rdiaz



More information about the Bioconductor mailing list