kalibera / rchk

102 stars 10 forks source link

objcopy: stai2D6Q: Failed to find link section for section #17

Closed mattdowle closed 5 years ago

mattdowle commented 5 years ago

Hi, Should I be getting these message about objcopy? I haven't seen them before from rchk but it has been several months since I last ran it, and I've just done a fresh install of latest rchk with latest R-devel trunk. I see these messages about objcopy when building R itself within the rchk envioronment, so I don't think it's specific to data.table.

$ echo 'install.packages("~/GitHub/data.table/data.table_1.12.3.tar.gz",repos=NULL)' | ./bin/R --slave
Installing package into ‘/home/mdowle/build/rchk/trunk/packages/lib’
(as ‘lib’ is unspecified)
* installing *source* package ‘data.table’ ...
** using staged installation
** libs
/home/mdowle/.local/bin/wllvm -I"/home/mdowle/build/rchk/trunk/include" -DNDEBUG   -I/usr/local/include   -fPIC  -O0 -g -c assign.c -o assign.o
objcopy: st61vpcx: Failed to find link section for section 22
objcopy: st61vpcx: Failed to find link section for section 22
/home/mdowle/.local/bin/wllvm -I"/home/mdowle/build/rchk/trunk/include" -DNDEBUG   -I/usr/local/include   -fPIC  -O0 -g -c between.c -o between.o
objcopy: stzLUFkA: Failed to find link section for section 20
objcopy: stzLUFkA: Failed to find link section for section 20
/home/mdowle/.local/bin/wllvm -I"/home/mdowle/build/rchk/trunk/include" -DNDEBUG   -I/usr/local/include   -fPIC  -O0 -g -c bmerge.c -o bmerge.o
objcopy: stVLJvHK: Failed to find link section for section 24
objcopy: stVLJvHK: Failed to find link section for section 24
/home/mdowle/.local/bin/wllvm -I"/home/mdowle/build/rchk/trunk/include" -DNDEBUG   -I/usr/local/include   -fPIC  -O0 -g -c chmatch.c -o chmatch.o
objcopy: stA4GfiY: Failed to find link section for section 19
objcopy: stA4GfiY: Failed to find link section for section 19
/home/mdowle/.local/bin/wllvm -I"/home/mdowle/build/rchk/trunk/include" -DNDEBUG   -I/usr/local/include   -fPIC  -O0 -g -c dogroups.c -o dogroups.o
objcopy: stcA89La: Failed to find link section for section 22
objcopy: stcA89La: Failed to find link section for section 22
/home/mdowle/.local/bin/wllvm -I"/home/mdowle/build/rchk/trunk/include" -DNDEBUG   -I/usr/local/include   -fPIC  -O0 -g -c fastmean.c -o fastmean.o
objcopy: stPVZxGj: Failed to find link section for section 19
objcopy: stPVZxGj: Failed to find link section for section 19
/home/mdowle/.local/bin/wllvm -I"/home/mdowle/build/rchk/trunk/include" -DNDEBUG   -I/usr/local/include   -fPIC  -O0 -g -c fcast.c -o fcast.o
objcopy: stF0zN4v: Failed to find link section for section 20
objcopy: stF0zN4v: Failed to find link section for section 20
/home/mdowle/.local/bin/wllvm -I"/home/mdowle/build/rchk/trunk/include" -DNDEBUG   -I/usr/local/include   -fPIC  -O0 -g -c fmelt.c -o fmelt.o
objcopy: stIlazRz: Failed to find link section for section 21
objcopy: stIlazRz: Failed to find link section for section 21
/home/mdowle/.local/bin/wllvm -I"/home/mdowle/build/rchk/trunk/include" -DNDEBUG   -I/usr/local/include   -fPIC  -O0 -g -c forder.c -o forder.o
objcopy: st48LwNR: Failed to find link section for section 24
objcopy: st48LwNR: Failed to find link section for section 24
/home/mdowle/.local/bin/wllvm -I"/home/mdowle/build/rchk/trunk/include" -DNDEBUG   -I/usr/local/include   -fPIC  -O0 -g -c frank.c -o frank.o
objcopy: stAFjrj0: Failed to find link section for section 22
objcopy: stAFjrj0: Failed to find link section for section 22
/home/mdowle/.local/bin/wllvm -I"/home/mdowle/build/rchk/trunk/include" -DNDEBUG   -I/usr/local/include   -fPIC  -O0 -g -c fread.c -o fread.o
objcopy: stUgG5dj: Failed to find link section for section 25
objcopy: stUgG5dj: Failed to find link section for section 25
/home/mdowle/.local/bin/wllvm -I"/home/mdowle/build/rchk/trunk/include" -DNDEBUG   -I/usr/local/include   -fPIC  -O0 -g -c freadR.c -o freadR.o
objcopy: stwYx46y: Failed to find link section for section 21
objcopy: stwYx46y: Failed to find link section for section 21
/home/mdowle/.local/bin/wllvm -I"/home/mdowle/build/rchk/trunk/include" -DNDEBUG   -I/usr/local/include   -fPIC  -O0 -g -c froll.c -o froll.o
objcopy: stIsLAoI: Failed to find link section for section 20
objcopy: stIsLAoI: Failed to find link section for section 20
/home/mdowle/.local/bin/wllvm -I"/home/mdowle/build/rchk/trunk/include" -DNDEBUG   -I/usr/local/include   -fPIC  -O0 -g -c frollR.c -o frollR.o
objcopy: stArHsAJ: Failed to find link section for section 21
objcopy: stArHsAJ: Failed to find link section for section 21
/home/mdowle/.local/bin/wllvm -I"/home/mdowle/build/rchk/trunk/include" -DNDEBUG   -I/usr/local/include   -fPIC  -O0 -g -c frolladaptive.c -o frolladaptive.o
objcopy: stBw7v6V: Failed to find link section for section 20
objcopy: stBw7v6V: Failed to find link section for section 20
/home/mdowle/.local/bin/wllvm -I"/home/mdowle/build/rchk/trunk/include" -DNDEBUG   -I/usr/local/include   -fPIC  -O0 -g -c fsort.c -o fsort.o
objcopy: stU3y7h9: Failed to find link section for section 23
objcopy: stU3y7h9: Failed to find link section for section 23
/home/mdowle/.local/bin/wllvm -I"/home/mdowle/build/rchk/trunk/include" -DNDEBUG   -I/usr/local/include   -fPIC  -O0 -g -c fwrite.c -o fwrite.o
objcopy: stQlNSdn: Failed to find link section for section 25
objcopy: stQlNSdn: Failed to find link section for section 25
/home/mdowle/.local/bin/wllvm -I"/home/mdowle/build/rchk/trunk/include" -DNDEBUG   -I/usr/local/include   -fPIC  -O0 -g -c fwriteR.c -o fwriteR.o
objcopy: strOEvnw: Failed to find link section for section 24
objcopy: strOEvnw: Failed to find link section for section 24
/home/mdowle/.local/bin/wllvm -I"/home/mdowle/build/rchk/trunk/include" -DNDEBUG   -I/usr/local/include   -fPIC  -O0 -g -c gsumm.c -o gsumm.o
objcopy: stivhUdG: Failed to find link section for section 24
objcopy: stivhUdG: Failed to find link section for section 24
/home/mdowle/.local/bin/wllvm -I"/home/mdowle/build/rchk/trunk/include" -DNDEBUG   -I/usr/local/include   -fPIC  -O0 -g -c ijoin.c -o ijoin.o
objcopy: stF9tgLQ: Failed to find link section for section 22
objcopy: stF9tgLQ: Failed to find link section for section 22
/home/mdowle/.local/bin/wllvm -I"/home/mdowle/build/rchk/trunk/include" -DNDEBUG   -I/usr/local/include   -fPIC  -O0 -g -c init.c -o init.o
objcopy: stNOfkX3: Failed to find link section for section 22
objcopy: stNOfkX3: Failed to find link section for section 22
/home/mdowle/.local/bin/wllvm -I"/home/mdowle/build/rchk/trunk/include" -DNDEBUG   -I/usr/local/include   -fPIC  -O0 -g -c inrange.c -o inrange.o
objcopy: stPBndvd: Failed to find link section for section 18
objcopy: stPBndvd: Failed to find link section for section 18
/home/mdowle/.local/bin/wllvm -I"/home/mdowle/build/rchk/trunk/include" -DNDEBUG   -I/usr/local/include   -fPIC  -O0 -g -c nafill.c -o nafill.o
objcopy: stXKZlam: Failed to find link section for section 21
objcopy: stXKZlam: Failed to find link section for section 21
/home/mdowle/.local/bin/wllvm -I"/home/mdowle/build/rchk/trunk/include" -DNDEBUG   -I/usr/local/include   -fPIC  -O0 -g -c nqrecreateindices.c -o nqrecreateindices.o
objcopy: stUh5wVv: Failed to find link section for section 18
objcopy: stUh5wVv: Failed to find link section for section 18
/home/mdowle/.local/bin/wllvm -I"/home/mdowle/build/rchk/trunk/include" -DNDEBUG   -I/usr/local/include   -fPIC  -O0 -g -c openmp-utils.c -o openmp-utils.o
objcopy: stxAPDrJ: Failed to find link section for section 21
objcopy: stxAPDrJ: Failed to find link section for section 21
/home/mdowle/.local/bin/wllvm -I"/home/mdowle/build/rchk/trunk/include" -DNDEBUG   -I/usr/local/include   -fPIC  -O0 -g -c quickselect.c -o quickselect.o
objcopy: stqLYn2K: Failed to find link section for section 19
objcopy: stqLYn2K: Failed to find link section for section 19
/home/mdowle/.local/bin/wllvm -I"/home/mdowle/build/rchk/trunk/include" -DNDEBUG   -I/usr/local/include   -fPIC  -O0 -g -c rbindlist.c -o rbindlist.o
objcopy: stWrhNMX: Failed to find link section for section 19
objcopy: stWrhNMX: Failed to find link section for section 19
/home/mdowle/.local/bin/wllvm -I"/home/mdowle/build/rchk/trunk/include" -DNDEBUG   -I/usr/local/include   -fPIC  -O0 -g -c reorder.c -o reorder.o
objcopy: stMgWd56: Failed to find link section for section 19
objcopy: stMgWd56: Failed to find link section for section 19
/home/mdowle/.local/bin/wllvm -I"/home/mdowle/build/rchk/trunk/include" -DNDEBUG   -I/usr/local/include   -fPIC  -O0 -g -c shift.c -o shift.o
objcopy: stci9UFf: Failed to find link section for section 21
objcopy: stci9UFf: Failed to find link section for section 21
/home/mdowle/.local/bin/wllvm -I"/home/mdowle/build/rchk/trunk/include" -DNDEBUG   -I/usr/local/include   -fPIC  -O0 -g -c subset.c -o subset.o
objcopy: staolnlr: Failed to find link section for section 21
objcopy: staolnlr: Failed to find link section for section 21
/home/mdowle/.local/bin/wllvm -I"/home/mdowle/build/rchk/trunk/include" -DNDEBUG   -I/usr/local/include   -fPIC  -O0 -g -c transpose.c -o transpose.o
objcopy: stW4i1YE: Failed to find link section for section 21
objcopy: stW4i1YE: Failed to find link section for section 21
/home/mdowle/.local/bin/wllvm -I"/home/mdowle/build/rchk/trunk/include" -DNDEBUG   -I/usr/local/include   -fPIC  -O0 -g -c uniqlist.c -o uniqlist.o
objcopy: stai2D6Q: Failed to find link section for section 22
objcopy: stai2D6Q: Failed to find link section for section 22
/home/mdowle/.local/bin/wllvm -I"/home/mdowle/build/rchk/trunk/include" -DNDEBUG   -I/usr/local/include   -fPIC  -O0 -g -c vecseq.c -o vecseq.o
objcopy: stRhVUNO: Failed to find link section for section 19
objcopy: stRhVUNO: Failed to find link section for section 19
/home/mdowle/.local/bin/wllvm -I"/home/mdowle/build/rchk/trunk/include" -DNDEBUG   -I/usr/local/include   -fPIC  -O0 -g -c wrappers.c -o wrappers.o
objcopy: stJdzwY2: Failed to find link section for section 19
objcopy: stJdzwY2: Failed to find link section for section 19
/home/mdowle/.local/bin/wllvm -shared -L/usr/local/lib -o data.table.so assign.o between.o bmerge.o chmatch.o dogroups.o fastmean.o fcast.o fmelt.o forder.o frank.o fread.o freadR.o froll.o frollR.o frolladaptive.o fsort.o fwrite.o fwriteR.o gsumm.o ijoin.o init.o inrange.o nafill.o nqrecreateindices.o openmp-utils.o quickselect.o rbindlist.o reorder.o shift.o subset.o transpose.o uniqlist.o vecseq.o wrappers.o -lz
mv data.table.so datatable.so
if [ "" != "Windows_NT" ] && [ `uname -s` = 'Darwin' ]; then install_name_tool -id datatable.so datatable.so; fi
installing to /home/mdowle/build/rchk/trunk/packages/lib/00LOCK-data.table/00new/data.table/libs
** R
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded from temporary location
** checking absolute paths in shared objects and dynamic libraries
** testing if installed package can be loaded from final location
** testing if installed package keeps a record of temporary installation path
* DONE (data.table)
mattdowle commented 5 years ago

I'm also now seeing this core dump :

$ ../scripts/check_package.sh data.table
../scripts/check_package.sh: line 77:  6839 Aborted                 (core dumped) $RCHK/src/$T ./src/main/R.bin.bc $F > $FOUT 2>&1
$ cat packages/lib/data.table/libs/*check
ERROR: too many states (abstraction error?) in function assign
RCHK assertion failed: ct, in function getCalledAndWrappedFunctions at callocators.cpp:560
$

That function (assign) is indeed quite complicated and I can look into simplifying it. Is there anything specific to look for in my function, or is there a chance this could be a problem on the rchk side.

mattdowle commented 5 years ago

With CRAN version data.table_1.12.2 I get a similar but slightly different error (still core dump).

$ ../scripts/check_package.sh data.table
../scripts/check_package.sh: line 77:  6763 Aborted                 (core dumped) $RCHK/src/$T ./src/main/R.bin.bc $F > $FOUT 2>&1
mdowle@MattsMac:~/build/rchk/trunk$ cat packages/lib/data.table/libs/*check
ERROR: too many states (abstraction error?) in function assign
ERROR: too many states (abstraction error?) in function dogroups
ERROR: too many states (abstraction error?) in function rbindlist
RCHK assertion failed: ct, in function getCalledAndWrappedFunctions at callocators.cpp:560
WARNING Suspicious call (two or more unprotected arguments) to R_compute_identical at rbindlist /home/mdowle/build/rchk/trunk/packages/build/oAOFp743/data.table/src/rbindlist.c:310
mdowle@MattsMac:~/build/rchk/trunk$ 
kalibera commented 5 years ago

The warnings from objcopy can probably be ignored (see https://github.com/travitch/whole-program-llvm/issues/75). On Ubuntu 19.04, with LLVM 7, I don't see them, but I've seen them before on Fedora.

kalibera commented 5 years ago

I've fixed the segfault, it was a bug in rchk. Thanks for the report!

mattdowle commented 5 years ago

Thanks @kalibera! I'll refresh and confirm. [Update: yes that fixed it. Thanks again!] Ok I'll ignore objcopy warnings. For completeness, I'm on Ubuntu 18.04 (a year older than you) but with LLVM 7 too.