Yea I am aware of this. This is because the Ubuntu binary has stack smashing detection enabled. It's possible to build R without this checking:
export CFLAGS="-fno-stack-protector" I have not been able to figure out why stack smashing is detected. I'm cc'ing this to r-devel in case anyone else has an idea. Michael On Wed, Aug 6, 2008 at 12:31 AM, Felix Andrews <[EMAIL PROTECTED]> wrote: > Hi Michael, > > I wonder whether you have come across this before? I am testing RGtk2 > on Ubuntu and it seems that any error that occurs in that context > kills the R process with a message "stack smashing detected". This is > on Ubuntu 8.04. Minimal example: > > > library(RGtk2) > > sessionInfo() > R version 2.7.1 (2008-06-23) > i486-pc-linux-gnu > > locale: > > LC_CTYPE=en_AU.UTF-8;LC_NUMERIC=C;LC_TIME=en_AU.UTF-8;LC_COLLATE=en_AU.UTF-8;LC_MONETARY=C;LC_MESSAGES=en_AU.UTF-8;LC_PAPER=en_AU.UTF-8;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=en_AU.UTF-8;LC_IDENTIFICATION=C > > attached base packages: > [1] stats graphics grDevices utils datasets methods base > > other attached packages: > [1] RGtk2_2.12.1 > > stop("hello") > Error: hello > > foo <- GtkWindow() > Error: could not find function "GtkWindow" > > foo <- gtkWindow() > > butt <- gtkButton("error") > > gSignalConnect(butt, "clicked", function(...) stop("hello")) > clicked > 16 > attr(,"class") > [1] "CallbackID" > > foo$add(butt) > ## click button > > Error in function (...) : hello > *** stack smashing detected ***: /usr/lib/R/bin/exec/R terminated > ======= Backtrace: ========= > /lib/tls/i686/cmov/libc.so.6(__fortify_fail+0x48)[0xb7b98138] > /lib/tls/i686/cmov/libc.so.6(__fortify_fail+0x0)[0xb7b980f0] > /usr/lib/R/lib/libR.so[0xb7e12094] > /usr/lib/R/lib/libR.so[0xb7c8422e] > /usr/lib/R/lib/libR.so[0xb7c86fd7] > /usr/lib/R/lib/libR.so[0xb7c84082] > /usr/lib/R/lib/libR.so[0xb7c87b13] > /usr/lib/R/lib/libR.so(R_GetTraceback+0xc6)[0xb7cb8576] > /usr/lib/R/lib/libR.so[0xb7cba85c] > /usr/lib/R/lib/libR.so[0xb7cb966f] > /usr/lib/R/lib/libR.so(Rf_errorcall+0x3af)[0xb7cb9e7f] > /usr/lib/R/lib/libR.so[0xb7cba0c5] > /usr/lib/R/lib/libR.so[0xb7cfc89a] > /usr/lib/R/lib/libR.so(Rf_eval+0x451)[0xb7cc62e1] > /usr/lib/R/lib/libR.so[0xb7cc86c2] > /usr/lib/R/lib/libR.so(Rf_eval+0x451)[0xb7cc62e1] > /usr/lib/R/lib/libR.so[0xb7cc78f0] > /usr/lib/R/lib/libR.so(Rf_eval+0x451)[0xb7cc62e1] > /usr/lib/R/lib/libR.so(Rf_applyClosure+0x2ac)[0xb7cc9e5c] > /usr/lib/R/lib/libR.so(Rf_eval+0x349)[0xb7cc61d9] > /usr/lib/R/lib/libR.so(Rf_applyClosure+0x2ac)[0xb7cc9e5c] > /usr/lib/R/lib/libR.so(Rf_eval+0x349)[0xb7cc61d9] > /usr/lib/R/lib/libR.so[0xb7c75b89] > /usr/lib/R/lib/libR.so(R_ToplevelExec+0xb8)[0xb7c763b8] > /usr/lib/R/lib/libR.so(R_tryEval+0x3e)[0xb7c7643e] > > /usr/lib/R/site-library/RGtk2/libs/RGtk2.so(R_GClosureMarshal+0x86)[0xb6ff18c6] > /usr/lib/libgobject-2.0.so.0(g_closure_invoke+0x129)[0xb68a7759] > /usr/lib/libgobject-2.0.so.0[0xb68bbd1d] > /usr/lib/libgobject-2.0.so.0(g_signal_emit_valist+0x8c6)[0xb68bd916] > /usr/lib/libgobject-2.0.so.0(g_signal_emit+0x29)[0xb68bdc59] > /usr/lib/libgtk-x11-2.0.so.0(gtk_button_clicked+0x8a)[0xb6bf301a] > /usr/lib/libgtk-x11-2.0.so.0[0xb6bf4b7e] > > /usr/lib/libgobject-2.0.so.0(g_cclosure_marshal_VOID__VOID+0x4f)[0xb68b4a4f] > /usr/lib/libgobject-2.0.so.0[0xb68a6079] > /usr/lib/libgobject-2.0.so.0(g_closure_invoke+0x129)[0xb68a7759] > /usr/lib/libgobject-2.0.so.0[0xb68bb975] > /usr/lib/libgobject-2.0.so.0(g_signal_emit_valist+0x8c6)[0xb68bd916] > /usr/lib/libgobject-2.0.so.0(g_signal_emit+0x29)[0xb68bdc59] > /usr/lib/libgtk-x11-2.0.so.0(gtk_button_released+0x8a)[0xb6bf30aa] > /usr/lib/libgtk-x11-2.0.so.0[0xb6bf30d1] > /usr/lib/libgtk-x11-2.0.so.0[0xb6ccc8d4] > /usr/lib/libgobject-2.0.so.0[0xb68a6079] > /usr/lib/libgobject-2.0.so.0(g_closure_invoke+0x129)[0xb68a7759] > /usr/lib/libgobject-2.0.so.0[0xb68bbea0] > /usr/lib/libgobject-2.0.so.0(g_signal_emit_valist+0x5fe)[0xb68bd64e] > /usr/lib/libgobject-2.0.so.0(g_signal_emit+0x29)[0xb68bdc59] > /usr/lib/libgtk-x11-2.0.so.0[0xb6deb667] > /usr/lib/libgtk-x11-2.0.so.0(gtk_propagate_event+0xc1)[0xb6cc5b21] > /usr/lib/libgtk-x11-2.0.so.0(gtk_main_do_event+0x2b8)[0xb6cc6d88] > /usr/lib/libgdk-x11-2.0.so.0[0xb6b3fa9a] > /usr/lib/libglib-2.0.so.0(g_main_context_dispatch+0x178)[0xb681fbf8] > /usr/lib/libglib-2.0.so.0[0xb6822e5e] > /usr/lib/libglib-2.0.so.0(g_main_context_iteration+0x6c)[0xb68233ac] > /usr/lib/libgtk-x11-2.0.so.0(gtk_main_iteration+0x34)[0xb6cc70d4] > > /usr/lib/R/site-library/RGtk2/libs/RGtk2.so(R_gtk_eventHandler+0x19)[0xb6f9fb19] > /usr/lib/R/lib/libR.so(R_runHandlers+0x46)[0xb7db9586] > /usr/lib/R/lib/libR.so[0xb7dba98f] > /usr/lib/R/lib/libR.so(R_ReadConsole+0x35)[0xb7db7945] > /usr/lib/R/lib/libR.so(Rf_ReplIteration+0x42b)[0xb7cea63b] > /usr/lib/R/lib/libR.so(run_Rmainloop+0x102)[0xb7cea7b2] > /usr/lib/R/lib/libR.so(Rf_mainloop+0x1c)[0xb7cea80c] > /usr/lib/R/bin/exec/R(main+0x46)[0x8048776] > /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe0)[0xb7ac1450] > ======= Memory map: ======== > 08048000-08049000 r-xp 00000000 08:02 288844 /usr/lib/R/bin/exec/R > 08049000-0804a000 rw-p 00000000 08:02 288844 /usr/lib/R/bin/exec/R > 0804a000-08ee1000 rw-p 0804a000 00:00 0 [heap] > b6387000-b6418000 r--p 00000000 08:02 261255 > /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf > b6418000-b641a000 r-xp 00000000 08:02 188205 > /usr/lib/pango/1.6.0/modules/pango-basic-fc.so > b641a000-b641b000 rw-p 00001000 08:02 188205 > /usr/lib/pango/1.6.0/modules/pango-basic-fc.so > b641b000-b6421000 r--s 00000000 08:02 187720 > /var/cache/fontconfig/945677eb7aeafAborted > [[alternative HTML version deleted]] ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel