From pgilbert at bank-banque-canada.ca  Tue Apr 22 00:03:39 2003
From: pgilbert at bank-banque-canada.ca (pgilbert@bank-banque-canada.ca)
Date: Mon Apr 21 23:04:01 2003
Subject: [Rd] sweave provoked segfault (PR#2809)
Message-ID: <200304212103.h3LL3dpD003892@pubhealth.ku.dk>

This problem is with R 1.7.0 (as released) on Linux and Solaris. Details below
are from Linux, Mandrake 9.1. The problem also happened with R 1.6.2 and on
Mandrake 9.0.

Vignettes often (for me) provokes problems with the misleading error message:

* creating vignettes ... ERROR
Error in sub(pattern, replacement, x, ignore.case, extended) :
        invalid argument
Error in buildVignettes(dir = ".") : Error in sub(pattern, replacement,
x, ignore.case, extended) :
        invalid argument
Execution halted

This becomes a segfault with gctorture(). Output from gdb bt is copied below.

Paul Gilbert
________
R_LIBS=/home/paul/dse/src/pac/monitor/tmp.R-1.7.0:/home/paul/dse/src/pac/CHECKED.R-1.7.0/Rlibs 
PADI=/home/paul/dse/src/pac/padi/exec
PATH=~/bin:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin:/usr/games:/home/paul/dse/src/pac/padi/exec
R -d gdb
GNU gdb 5.3-22mdk (Mandrake Linux)
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you
are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for
details.
This GDB was configured as "i586-mandrake-linux-gnu"...
(gdb) run
Starting program: /home/paul/toolchain/R/R-1.7.0/bin/R.bin
 
R : Copyright 2003, The R Development Core Team
Version 1.7.0  (2003-04-16)
 
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type `license()' or `licence()' for distribution details.
 
R is a collaborative project with many contributors.
Type `contributors()' for more information.
 
Type `demo()' for some demos, `help()' for on-line help, or
`help.start()' for a HTML browser interface to help.
Type `q()' to quit R.
 
 library(tools)
> >  library(tools)
> gctorture()
> checkVignettes(dir='/home/paul/dse/src/pac/monitor', workdir = 'cur',
keepfiles=TRUE)
 
Program received signal SIGSEGV, Segmentation fault.
0x080c1598 in RunGenCollect (size_needed=0) at memory.c:1210
1210        PROCESS_NODES();
(gdb) bt
#0  0x080c1598 in RunGenCollect (size_needed=0) at memory.c:1210
#1  0x080c3089 in R_gc_internal (size_needed=0) at memory.c:1865
#2  0x080c27fe in Rf_cons (car=0xbfffbf40, cdr=0x81f65a0) at
memory.c:1534
#3  0x08097e35 in Rf_duplicate (s=0x8324ff0) at duplicate.c:108
#4  0x080c9abf in GetObject (cptr=0xbfffc2d0) at objects.c:40
#5  0x080ca663 in do_usemethod (call=0x82c5d28, op=0x8209874,
args=0x82c5d44,
    env=0x8f1ecd4) at objects.c:401
#6  0x080a3b28 in Rf_eval (e=0x82c5d28, rho=0x8f1ecd4) at eval.c:418
#7  0x080a3db2 in Rf_applyClosure (call=0x8324ff0, op=0x82c5c48,
    arglist=0x8d05e80, rho=0x8f385f0, suppliedenv=0x81f65a0) at
eval.c:609
#8  0x080a3937 in Rf_eval (e=0x8324ff0, rho=0x8f385f0) at eval.c:453
#9  0x080a586b in Rf_evalList (el=0x8324f9c, rho=0x8f385f0) at
eval.c:1372
#10 0x080c9a3c in do_internal (call=0x8324ef4, op=0x81fb5c8,
args=0x832515c,
    env=0x8f385f0) at names.c:1053
#11 0x080a3b28 in Rf_eval (e=0x8324ef4, rho=0x8f385f0) at eval.c:418
#12 0x080a3db2 in Rf_applyClosure (call=0x878ef30, op=0x8324e14,
    arglist=0x8dbc92c, rho=0x8f0bb0c, suppliedenv=0x81f65a0) at
eval.c:609
#13 0x080a3937 in Rf_eval (e=0x878ef30, rho=0x8f0bb0c) at eval.c:453
#14 0x080a5685 in do_set (call=0x878efd8, op=0x8f0bb0c, args=0x878efa0,
    rho=0x8f0bb0c) at eval.c:1283
#15 0x080a3b28 in Rf_eval (e=0x878efd8, rho=0x8f0bb0c) at eval.c:418
#16 0x080a4f62 in do_begin (call=0x878f4ec, op=0x81fba7c,
args=0x878eff4,
    rho=0x8f0bb0c) at eval.c:1072
---Type <return> to continue, or q <return> to quit---
#17 0x080a3b28 in Rf_eval (e=0x878f4ec, rho=0x8f0bb0c) at eval.c:418
#18 0x080a3db2 in Rf_applyClosure (call=0x87a0758, op=0x86d817c,
    arglist=0x8f0e3dc, rho=0x8f37ed4, suppliedenv=0x81f65a0) at
eval.c:609
#19 0x080a3937 in Rf_eval (e=0x87a0758, rho=0x8f37ed4) at eval.c:453
#20 0x080a5685 in do_set (call=0x87a07e4, op=0x8f37ed4, args=0x87a07c8,
    rho=0x8f37ed4) at eval.c:1283
#21 0x080a3b28 in Rf_eval (e=0x87a07e4, rho=0x8f37ed4) at eval.c:418
#22 0x080a4f62 in do_begin (call=0x87a0aac, op=0x81fba7c,
args=0x87a08c4,
    rho=0x8f37ed4) at eval.c:1072
#23 0x080a3b28 in Rf_eval (e=0x87a0aac, rho=0x8f37ed4) at eval.c:418
#24 0x080a3b28 in Rf_eval (e=0x879b778, rho=0x8f37ed4) at eval.c:418
#25 0x080a3b28 in Rf_eval (e=0x879b970, rho=0x8f37ed4) at eval.c:418
#26 0x080a4f62 in do_begin (call=0x879b98c, op=0x81fba7c,
args=0x879b9e0,
    rho=0x8f37ed4) at eval.c:1072
#27 0x080a3b28 in Rf_eval (e=0x879b98c, rho=0x8f37ed4) at eval.c:418
#28 0x080a495c in do_for (call=0x879ba6c, op=0x81f5f80, args=0x879ba50,
    rho=0x8f37ed4) at eval.c:968
#29 0x080a3b28 in Rf_eval (e=0x879ba6c, rho=0x8f37ed4) at eval.c:418
#30 0x080a4f62 in do_begin (call=0x87a8554, op=0x81fba7c,
args=0x879baa4,
    rho=0x8f37ed4) at eval.c:1072
#31 0x080a3b28 in Rf_eval (e=0x87a8554, rho=0x8f37ed4) at eval.c:418
#32 0x080a3db2 in Rf_applyClosure (call=0x8721b18, op=0x86e693c,
    arglist=0x8f37fd0, rho=0x8f38e74, suppliedenv=0x81f65a0) at
eval.c:609
---Type <return> to continue, or q <return> to quit---
#33 0x080a3937 in Rf_eval (e=0x8721b18, rho=0x8f38e74) at eval.c:453
#34 0x080a3856 in Rf_eval (e=0x8f37ef0, rho=0x8f38cfc) at eval.c:383
#35 0x080a379f in Rf_eval (e=0x826fbf8, rho=0x8f38cfc) at eval.c:360
#36 0x080a4f62 in do_begin (call=0x87d4f44, op=0x81fba7c,
args=0x87d4e9c,
    rho=0x8f38cfc) at eval.c:1072
#37 0x080a3b28 in Rf_eval (e=0x87d4f44, rho=0x8f38cfc) at eval.c:418
#38 0x080a3b28 in Rf_eval (e=0x87d5b3c, rho=0x8f38cfc) at eval.c:418
#39 0x080a4f62 in do_begin (call=0x87d5484, op=0x81fba7c,
args=0x87d5b20,
    rho=0x8f38cfc) at eval.c:1072
#40 0x080a3b28 in Rf_eval (e=0x87d5484, rho=0x8f38cfc) at eval.c:418
#41 0x080a3db2 in Rf_applyClosure (call=0x8721bf8, op=0x87d5a40,
    arglist=0x8f37f0c, rho=0x8f38e74, suppliedenv=0x81f65a0) at
eval.c:609
#42 0x080a3937 in Rf_eval (e=0x8721bf8, rho=0x8f38e74) at eval.c:453
#43 0x080a5685 in do_set (call=0x8721c68, op=0x8f38e74, args=0x8721c4c,
    rho=0x8f38e74) at eval.c:1283
#44 0x080a3b28 in Rf_eval (e=0x8721c68, rho=0x8f38e74) at eval.c:418
#45 0x080a4f62 in do_begin (call=0x8721c84, op=0x81fba7c,
args=0x8721d48,
    rho=0x8f38e74) at eval.c:1072
#46 0x080a3b28 in Rf_eval (e=0x8721c84, rho=0x8f38e74) at eval.c:418
#47 0x080a3b28 in Rf_eval (e=0x87214d0, rho=0x8f38e74) at eval.c:418
#48 0x080a4f62 in do_begin (call=0x8722908, op=0x81fba7c,
args=0x8721540,
    rho=0x8f38e74) at eval.c:1072
#49 0x080a3b28 in Rf_eval (e=0x8722908, rho=0x8f38e74) at eval.c:418
---Type <return> to continue, or q <return> to quit---
#50 0x080a495c in do_for (call=0x8721604, op=0x81f5f80, args=0x87215cc,
    rho=0x8f38e74) at eval.c:968
#51 0x080a3b28 in Rf_eval (e=0x8721604, rho=0x8f38e74) at eval.c:418
#52 0x080a4f62 in do_begin (call=0x87260f8, op=0x81fba7c,
args=0x8721620,
    rho=0x8f38e74) at eval.c:1072
#53 0x080a3b28 in Rf_eval (e=0x87260f8, rho=0x8f38e74) at eval.c:418
#54 0x080a3db2 in Rf_applyClosure (call=0x8f38ec8, op=0x86cd644,
    arglist=0x8f38f38, rho=0x820ce1c, suppliedenv=0x81f65a0) at
eval.c:609
#55 0x080a3937 in Rf_eval (e=0x8f38ec8, rho=0x820ce1c) at eval.c:453
#56 0x080bd784 in Rf_ReplIteration (rho=0x820ce1c, savestack=16,
    browselevel=0, state=0xbffff0f0) at main.c:236
#57 0x080bd942 in R_ReplConsole (rho=0x820ce1c, savestack=0,
browselevel=0)
    at main.c:284
#58 0x080be1ff in run_Rmainloop () at main.c:615
#59 0x08124b5c in main (ac=1, av=0xbffff5c4) at system.c:99
#60 0x400977f7 in __libc_start_main () from /lib/i686/libc.so.6
(gdb)


[Rd] sweave provoked segfault (PR#2809)
pgilbert@bank-banque-canada.ca