Skip to content

plot(SOM) segfaults (PR#7157)

4 messages · David Meyer, Brian Ripley

#
library(class)
plot(SOM)

segfaults in curve() at the line:

 y <- eval(expr, envir = list(x = x), enclos = parent.frame())

at least since R version 1.8.1.

Version:
 platform = i686-pc-linux-gnu
 arch = i686
 os = linux-gnu
 system = i686, linux-gnu
 status = Under development (unstable)
 major = 2
 minor = 0.0
 year = 2004
 month = 07
 day = 27
 language = R

Search Path:
 .GlobalEnv, package:class, package:methods, package:stats,
package:graphics, package:utils, Autoloads, package:base
#
It is reasonable to expect plot to work for any arbitrary function, or
alternatively for any function to work with this sort of abuse?

If the latter, this is a bug report on class and was sent to the wrong 
place (see the FAQ).

If the former, plot.function and curve do no checking, but what could they 
reasonably do?
On Tue, 10 Aug 2004 david.meyer@wu-wien.ac.at wrote:

            

  
    
#
On Tue, 10 Aug 2004 12:22:19 +0100 (BST)
Prof Brian Ripley <ripley@stats.ox.ac.uk> wrote:

            
I think the former, but I agree it is impossible to do the necessary
checks. 

What probably remains is to add some check in SOM() to avoid the
segfault.
(Which, I guess, occurs in the call of "VR_onlineSOM" because n =
as.integer(nrow(data)) becomes numeric(0) since nrow(data) is NULL in
this case?)

So, this bug report was indeed sent to the wrong place, my apologies...

-d

  
    
#
On Tue, 10 Aug 2004 12:22:19 +0100 (BST)
Prof Brian Ripley <ripley@stats.ox.ac.uk> wrote:

            
I think the former, but I agree it is impossible to do the necessary
checks. 

What probably remains is to add some check in SOM() to avoid the
segfault.
(Which, I guess, occurs in the call of "VR_onlineSOM" because n =
as.integer(nrow(data)) becomes numeric(0) since nrow(data) is NULL in
this case?)

So, this bug report was indeed sent to the wrong place, my apologies...

-d