[BioC] GLAD crashes when built with gcc-4.8

Dan Tenenbaum dtenenba at fhcrc.org
Sun Dec 29 02:35:17 CET 2013



----- Original Message -----
> From: "Ramon Diaz-Uriarte" <rdiaz02 at gmail.com>
> To: "Martin Morgan" <mtmorgan at fhcrc.org>
> Cc: bioconductor at r-project.org, "ramon diaz" <ramon.diaz at iib.uam.es>
> Sent: Saturday, December 28, 2013 2:46:17 PM
> Subject: Re: [BioC] GLAD crashes when built with gcc-4.8
> 
> 
> 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)
> 

Yes, 4.6.3 on both, see:

http://bioconductor.org/checkResults/release/bioc-LATEST/zin1-NodeInfo.html
http://bioconductor.org/checkResults/devel/bioc-LATEST/zin2-NodeInfo.html

Dan


> 
> 
> 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
> 
> _______________________________________________
> Bioconductor mailing list
> Bioconductor at r-project.org
> https://stat.ethz.ch/mailman/listinfo/bioconductor
> Search the archives:
> http://news.gmane.org/gmane.science.biology.informatics.conductor



More information about the Bioconductor mailing list