[Rcpp-devel] RInside wt example runtime error

Dirk Eddelbuettel edd at debian.org
Tue Feb 28 16:54:49 CET 2012


Hi Cedric,

Thanks for posting here.   I'll reply to post email in this one.

On 28 February 2012 at 16:09, GOUY-PAILLER Cedric wrote:
| Dear list,
| 
| I am trying to use the wt example provided in RInside. The sources have
| just been downloaded from the svn :
| 
| ~ svn checkout svn://svn.r-forge.r-project.org/svnroot/rinside/
| ~ cd rinside/pkg/inst/examples/wt
| 
| then it compile without problem
| ~ make
| g++ -Wall -I/usr/local/include
| -I/home/cedric/local/R/x86_64-pc-linux-gnu-4.5.3-gfortran-4.5.3/lib64/R/include
| -I/home/cedric/local/R/library/Rcpp/include
| -I/home/cedric/local/R/library/RInside/include -march=native -O2 -o
| wtdensity wtdensity.cpp
| -L/home/cedric/local/R/x86_64-pc-linux-gnu-4.5.3-gfortran-4.5.3/lib64/R/lib
| -lR  -lmkl_blas95_lp64 -lmkl_lapack95_lp64 -Wl,--start-group
| /home/cedric/local/intel/composer_xe_2011_sp1.7.256/composer_xe_2011_sp1.7.256/mkl/lib/intel64/libmkl_gf_lp64.a
| /home/cedric/local/intel/composer_xe_2011_sp1.7.256/composer_xe_2011_sp1.7.256/mkl/lib/intel64/libmkl_gnu_thread.a
| /home/cedric/local/intel/composer_xe_2011_sp1.7.256/composer_xe_2011_sp1.7.256/mkl/lib/intel64/libmkl_core.a
| -Wl,--end-group -fopenmp -lpthread
| -L/home/cedric/local/R/library/Rcpp/lib -lRcpp
| -Wl,-rpath,/home/cedric/local/R/library/Rcpp/lib
| -L/home/cedric/local/R/library/RInside/lib -lRInside
| -Wl,-rpath,/home/cedric/local/R/library/RInside/lib -lwt -lwthttp
| -lboost_signals  
| strip wtdensity

Looks similar to what I get -- though I don't use the MKL here. Should not
matter, but one never knows.
 
| and the start seems ok :
| ~ make run
| test -L resources || ln -s /usr/share/Wt/resources .
| ./wtdensity --docroot ".;/resources,/tmp" --http-addr 127.0.0.1 --http-port 8080
| [2012-Feb-28 16:05:51.301507] 27353 - [info] "config: reading Wt config file: /etc/wt/wt_config.xml (location = './wtdensity')"
| [2012-Feb-28 16:05:51.302307] 27353 - [info] "WServer/wthttp: initializing built-in wthttpd"
| [2012-Feb-28 16:05:51.302649] 27353 - [info] "wthttp: started server: http://127.0.0.1:8080"
| 
| but when I am trying to access the page from firefox, the result is an
| error:
| [2012-Feb-28 15:09:07.246133] 25770 - [info] "Wt: Session created (#sessions = 1)"
| [2012-Feb-28 15:09:07.246384] 25770 [/ P4TTewoFpMGVLWzg] [info] "WEnvironment: UserAgent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.1) Gecko/20100101 Firefox/10.0.1" 
| 127.0.0.1 - - [2012-Feb-28 15:09:07.247232] "GET / HTTP/1.1" 200 1743
| [2012-Feb-28 15:09:07.247276] 25770 - [info] "WebRequest: took 1.317ms"
| Error: C stack usage is too close to the limit
| Execution halted
| *** glibc detected *** ./wtdensity: double free or corruption (out):
| 0x00007f1e41d2a2c0 ***
| ======= Backtrace: =========
| /lib64/libc.so.6(+0x76155)[0x7f1e5068f155]
| /lib64/libc.so.6(cfree+0x6c)[0x7f1e5069408c]
| /usr/lib64/libboost_thread-mt-1_47.so.1.47.0(_ZN5boost6detail12set_tss_dataEPKvNS_10shared_ptrINS0_20tss_cleanup_functionEEEPvb+0x56)[0x7f1e4f171e16]
| /usr/lib64/libwt.so.31(_ZN5boost19thread_specific_ptrIN2Wt10WebSession7HandlerEED1Ev+0x2f)[0x7f1e51ce742f]
| /lib64/libc.so.6(__cxa_finalize+0xa5)[0x7f1e50651785]
| /usr/lib64/libwt.so.31(+0x1e6876)[0x7f1e51a0b876]
| ======= Memory map: ========
| 00400000-0040e000 r-xp 00000000 08:03 474889
| /home/cedric/tmp/rinside/pkg/inst/examples/wt/wtdensity
| 0060e000-0060f000 r--p 0000e000 08:03 474889
| /home/cedric/tmp/rinside/pkg/inst/examples/wt/wtdensity
| 0060f000-00610000 rw-p 0000f000 08:03 474889
| /home/cedric/tmp/rinside/pkg/inst/examples/wt/wtdensity
| 01dad000-03789000 rw-p 00000000 00:00 0
| [heap]
| 7f1e3c000000-7f1e3c021000 rw-p 00000000 00:00 0 
| 7f1e3c021000-7f1e40000000 ---p 00000000 00:00 0 
| 7f1e4152b000-7f1e4152c000 ---p 00000000 00:00 0 
| 7f1e4152c000-7f1e41d2c000 rwxp 00000000 00:00 0 
| 7f1e41d2c000-7f1e41d2d000 ---p 00000000 00:00 0 
| 7f1e41d2d000-7f1e4252d000 rwxp 00000000 00:00 0 
| 7f1e4252d000-7f1e4252e000 ---p 00000000 00:00 0 
| 7f1e4252e000-7f1e42d2e000 rwxp 00000000 00:00 0 
| 7f1e42d2e000-7f1e42d2f000 ---p 00000000 00:00 0 
| 7f1e42d2f000-7f1e4352f000 rwxp 00000000 00:00 0 
| 7f1e4352f000-7f1e43530000 ---p 00000000 00:00 0 
| 7f1e43530000-7f1e43d30000 rwxp 00000000 00:00 0 
| 7f1e43d30000-7f1e43d31000 ---p 00000000 00:00 0 
| 7f1e43d31000-7f1e44531000 rwxp 00000000 00:00 0 
| 7f1e44531000-7f1e44532000 ---p 00000000 00:00 0 
| 7f1e44532000-7f1e44d32000 rwxp 00000000 00:00 0 
| 7f1e44d32000-7f1e44d33000 ---p 00000000 00:00 0 
| 7f1e44d33000-7f1e45533000 rwxp 00000000 00:00 0 
| 7f1e45533000-7f1e45534000 ---p 00000000 00:00 0 
| 7f1e45534000-7f1e45d34000 rwxp 00000000 00:00 0 
| 7f1e45d34000-7f1e45d35000 ---p 00000000 00:00 0 
| 7f1e45d35000-7f1e46535000 rwxp 00000000 00:00 0 
| 7f1e46535000-7f1e4657a000 r-xp 00000000 08:03 3523080
| /home/cedric/local/R/library/Rcpp/libs/Rcpp.so
| 7f1e4657a000-7f1e46779000 ---p 00045000 08:03 3523080
| /home/cedric/local/R/library/Rcpp/libs/Rcpp.so
| 7f1e46779000-7f1e4677b000 r--p 00044000 08:03 3523080
| /home/cedric/local/R/library/Rcpp/libs/Rcpp.so
| 7f1e4677b000-7f1e4677c000 rw-p 00046000 08:03 3523080
| /home/cedric/local/R/library/Rcpp/libs/Rcpp.so
| 7f1e4677c000-7f1e46781000 rw-p 00000000 00:00 0 
| 7f1e46781000-7f1e4680f000 r-xp 00000000 08:03 3272793
| /home/cedric/local/R/x86_64-pc-linux-gnu-4.5.3-gfortran-4.5.3/lib64/R/library/stats/libs/stats.so
| 7f1e4680f000-7f1e46a0e000 ---p 0008e000 08:03 3272793
| /home/cedric/local/R/x86_64-pc-linux-gnu-4.5.3-gfortran-4.5.3/lib64/R/library/stats/libs/stats.so
| 7f1e46a0e000-7f1e46a10000 r--p 0008d000 08:03 3272793
| /home/cedric/local/R/x86_64-pc-linux-gnu-4.5.3-gfortran-4.5.3/lib64/R/library/stats/libs/stats.so
| 7f1e46a10000-7f1e46a17000 rw-p 0008f000 08:03 3272793
| /home/cedric/local/R/x86_64-pc-linux-gnu-4.5.3-gfortran-4.5.3/lib64/R/library/stats/libs/stats.so
| 7f1e46a17000-7f1e46b4a000 rw-p 00000000 00:00 0 
| 7f1e46b4a000-7f1e46b77000 r-xp 00000000 08:03 3107417
| /home/cedric/local/R/x86_64-pc-linux-gnu-4.5.3-gfortran-4.5.3/lib64/R/library/grDevices/libs/grDevices.so
| 7f1e46b77000-7f1e46d77000 ---p 0002d000 08:03 3107417
| /home/cedric/local/R/x86_64-pc-linux-gnu-4.5.3-gfortran-4.5.3/lib64/R/library/grDevices/libs/grDevices.so
| 7f1e46d77000-7f1e46d78000 r--p 0002d000 08:03 3107417
| /home/cedric/local/R/x86_64-pc-linux-gnu-4.5.3-gfortran-4.5.3/lib64/R/library/grDevices/libs/grDevices.so
| 7f1e46d78000-7f1e46d79000 rw-p 0002e000 08:03 3107417
| /home/cedric/local/R/x86_64-pc-linux-gnu-4.5.3-gfortran-4.5.3/lib64/R/library/grDevices/libs/grDevices.so
| 7f1e46fcf000-7f1e470d4000 rw-p 00000000 00:00 0 
| 7f1e470d4000-7f1e470db000 r-xp 00000000 08:03 3985139
| /home/cedric/local/R/x86_64-pc-linux-gnu-4.5.3-gfortran-4.5.3/lib64/R/library/methods/libs/methods.so
| 7f1e470db000-7f1e472da000 ---p 00007000 08:03 3985139
| /home/cedric/local/R/x86_64-pc-linux-gnu-4.5.3-gfortran-4.5.3/lib64/R/library/methods/libs/methods.so
| 7f1e472da000-7f1e472db000 r--p 00006000 08:03 3985139
| /home/cedric/local/R/x86_64-pc-linux-gnu-4.5.3-gfortran-4.5.3/lib64/R/library/methods/libs/methods.so
| 7f1e472db000-7f1e472dc000 rw-p 00007000 08:03 3985139
| /home/cedric/local/R/x86_64-pc-linux-gnu-4.5.3-gfortran-4.5.3/lib64/R/library/methods/libs/methods.so
| 7f1e472dc000-7f1e47370000 rw-p 00000000 00:00 0 
| 7f1e47370000-7f1e4737c000 r-xp 00000000 08:03 3560614
| /lib64/libnss_files-2.14.1.so
| 7f1e4737c000-7f1e4757b000 ---p 0000c000 08:03 3560614
| /lib64/libnss_files-2.14.1.so
| 7f1e4757b000-7f1e4757c000 r--p 0000b000 08:03 3560614
| /lib64/libnss_files-2.14.1.so
| 7f1e4757c000-7f1e4757d000 rw-p 0000c000 08:03 3560614
| /lib64/libnss_files-2.14.1.so
| 7f1e4757d000-7f1e47587000 r-xp 00000000 08:03 3560636
| /lib64/libnss_nis-2.14.1.so
| 7f1e47587000-7f1e47787000 ---p 0000a000 08:03 3560636
| /lib64/libnss_nis-2.14.1.so
| 7f1e47787000-7f1e47788000 r--p 0000a000 08:03 3560636
| /lib64/libnss_nis-2.14.1.so
| 7f1e47788000-7f1e47789000 rw-p 0000b000 08:03 3560636
| /lib64/libnss_nis-2.14.1.so
| 7f1e47789000-7f1e4779e000 r-xp 00000000 08:03 3560613
| /lib64/libnsl-2.14.1.so
| 7f1e4779e000-7f1e4799d000 ---p 00015000 08:03 3560613
| /lib64/libnsl-2.14.1.so
| 7f1e4799d000-7f1e4799e000 r--p 00014000 08:03 3560613
| /lib64/libnsl-2.14.1.so
| 7f1e4799e000-7f1e4799f000 rw-p 00015000 08:03 3560613
| /lib64/libnsl-2.14.1.so
| 7f1e4799f000-7f1e479a1000 rw-p 00000000 00:00 0 
| 7f1e479a1000-7f1e479a8000 r-xp 00000000 08:03 3560626
| /lib64/libnss_compat-2.14.1.somake: *** [run] Aborted
| 
| Anybody is observing the same problem?

This does suggest a threading issue.  Hm.


On 28 February 2012 at 16:13, GOUY-PAILLER Cedric wrote:
| I forgot to mention that the other Rinside examples work well (even the
| qt one).

That is a helpful too.  It seems to exclude R issues, as well as RInside
issues (and possibly even the MKL issue I brought up above).

So it leaves Wt as the main difference.  I am using the 3.1.10 packages
prepared by the Debian / Ubuntu maintainer for Wt, Pau Garcia i Quiles (his
email is pgquiles at elpauer.org).  He is pretty knowledgeable about Wt. He also
spotted / fixed a Javascript issue, and prepared new packages via his PPA on
launchpad (and I should add that issue only blocked rendering in the browser,
not the normal runs).  

If you built your own Wt, maybe you could compare build options between what
the Debian/Ubuntu systems have and what you have.   I don't really have
another idea --- the example still builds and runs fine on the system I
developed it on.

Regards,  Dirk

-- 
"Outside of a dog, a book is a man's best friend. Inside of a dog, it is too
dark to read." -- Groucho Marx


More information about the Rcpp-devel mailing list