Skip to content

No traceback in r-patched

4 messages · Roger D. Peng, Brian Ripley, Luke Tierney

#
Since it's heading towards release, I thought I'd bring this up again. 
I'm still not getting any traceback()'s in recent R-patched.  For 
example, I get:

 > log("a")
Error in log(x) : Non-numeric argument to mathematical function
 > traceback()
No traceback available

Or when running the examples in the traceback() help page:

 >      foo <- function(x) { print(1); bar(2) }
 >      bar <- function(x) { x + a.variable.which.does.not.exist }
 >      ## Don't run:
 >      foo(2) # gives a strange error
[1] 1
Error in bar(2) : Object "a.variable.which.does.not.exist" not found
 >      traceback()
No traceback available

It seems the .Traceback variable is not being created.  If I'm doing 
something incorrectly, I'd very much like to know.  I'm starting up with 
R --vanilla.

 > version
          _
platform i686-pc-linux-gnu
arch     i686
os       linux-gnu
system   i686, linux-gnu
status   alpha
major    1
minor    8.1
year     2003
month    11
day      07
language R
 > search()
[1] ".GlobalEnv"      "package:methods" "package:ctest"   "package:mva"
[5] "package:modreg"  "package:nls"     "package:ts"      "Autoloads"
[9] "package:base"
 >


-roger
#
It is due to the addition to src/main/error.c:652

    if (traceback && ! oldInError) {
                  ^^^^^^^^^^^^^^^

so I think we need Luke's help.  By the time this is called inError has 
been saved twice, once as 0 and once as 1.  I suspect it should be inError
here rather than oldInError: one wants .Traceback created after error 
handling has almost finished.
On Sat, 8 Nov 2003, Roger D. Peng wrote:

            

  
    
1 day later
#
Thanks.  Seems this slipped in while fixing another issue (surprising
it wasn't noticed until now).  Should be fixed in a day or two.

Best,

luke
On Sat, 8 Nov 2003, Roger D. Peng wrote:

            

  
    
#
Should be fixed in R-patched and R-devel.

Best,

luke
On Mon, 10 Nov 2003, Luke Tierney wrote: