[Rd] how to trace what crashes R

Duncan Murdoch murdoch at stats.uwo.ca
Wed Jan 24 21:13:24 CET 2007


On 1/24/2007 2:47 PM, Dirk Eddelbuettel wrote:
> On Wed, Jan 24, 2007 at 11:15:49AM -0800, Vladimir Eremeev wrote:
>> The problem is. R crashes with the "segmentation violation".
>> Tracing with the insight and with simple Rprintf's gave me that crash occurs
>> on the call of the function deeply in the snns kernel. 
>> That is, R correctly calls C wrapper, it calls the kernel function from the
>> so called "user interface" part, it calls another C function from the
>> internals, and that one calls the third C function. 
>> And the segmentation fault occurs on the call of that function, it doesn't
>> do anything, its arguments have correct values, and it works in the other
>> situations, for example, when I run executables from the SNNS (either gui
>> version of the simulator, or batch interpreter).
>> Moreover, I don't think the reason in the incorrect arguments, since the
>> called function doesn't do anything. 
>> Rprintf in the very beginning of its body doesn't work (I traced it in
>> console mode of R).
>> 
>> How could I trace, what happens?
> 
> Compile snns with debugging support, compile R with debugging, start R
> as 
> 
>    $ R -d gdb		## or ddd if you have it
>    
> and use the debugger.  There is a lot of useful information in the
> fine manual on 'R Extensions'.

Since Vladimir is using MinGW he's on Windows, and things are slightly 
different:  you would use

insight rgui

to start the debugger.  Other than that, it's mostly the same; details 
aimed at Windows are given in my web page

http://www.stats.uwo.ca/faculty/murdoch/software/debuggingR/

in the "Using gdb to debug C or Fortran code" section.

Duncan Murdoch



More information about the R-devel mailing list