[R-SIG-Mac] *** caught bus error *** address 0x114382544, cause 'non-existent physical address'

Simon Urbanek simon.urbanek at r-project.org
Mon Nov 30 17:18:03 CET 2009


Richard,

I didn't touch anything, but then you didn't supply a reproducible  
example so we can't do much about it (the trace is unfortunately  
bogus). My next step woul dbe to try it in valgrind if I could  
reproduce it ...

Cheers,
Simon

On Nov 30, 2009, at 11:01 , Richard R. Liu wrote:

> This problem disappeared in patched releases soon after I replied to  
> Simon that I was unable to obtain the information that he required  
> from the debugger.  After checking a few releases I quite monitoring  
> the problem.  I assumed that it had been fixed with comment.   
> However, today, the patched release dated 2009-11-29 has the problem  
> once again.  I have tried going back to the patched releases of  
> 2009-11-27 and 2009-11-22, the only ones for which I have kept  
> installers here at work.  Both have the problem.  In neither can I  
> obtain the debugging information that Simon requested when the  
> problem initially arose.  Can somebody tell me the current status of  
> the problem, and when it might be fixed (again)?  It occurs at an  
> extremely inconvenient time in my project.
>
> Thanks,
>
> Richard R. Liu
> Dittingerstr. 33
> CH-4053 Basel
> Switzerland
>
> Tel.:  +41 61 331 10 47
> Mobil: +41 79 708 67 66
> Email:  richard.liu at pueo-owl.ch
>
>
>
> On Nov 18, 2009, at 21:07 , Simon Urbanek wrote:
>
>> Richard,
>>
>> in order to track this down, please start R64, type
>>
>> Sys.getpid()
>>
>> and note down the number. Then in a separate window open Terminal  
>> and type
>>
>> gdb
>>
>> Then on the gdb console (it will just say "(gdb)") type
>>
>> attach n
>>
>> where n is the number from above. It will do something for a while  
>> and when it comes back in the console, type
>>
>> c
>>
>> Then do your work in R until you get a crash. Once you do, you will  
>> see something happening in the gdb console. Then type
>>
>> bt
>>
>> and copy/paste everything that gdb printed since you typed "c" and  
>> send it to me.
>>
>> Thanks,
>> Simon
>>
>> -----
>>
>> Practical example -- in R:
>>
>> > Sys.getpid()
>> [1] 19381
>>
>> in Terminal:
>>
>> ginaz:~$ gdb
>> GNU gdb 6.3.50-20050815 (Apple version gdb-962) (Sat Jul 26  
>> 08:14:40 UTC 2008)
>> [...]
>> This GDB was configured as "i386-apple-darwin".
>> (gdb) attach 19381
>> Attaching to process 19381.
>> Reading symbols for shared libraries . done
>> [...]
>> 0x9428a6fa in select$DARWIN_EXTSN ()
>> (gdb) c
>> Continuing.
>>
>> Program received signal EXC_BAD_ACCESS, Could not access memory.
>> Reason: KERN_PROTECTION_FAILURE at address: 0x00000003
>> 0x00412d09 in SET_SYMVALUE (x=0x1007110, v=0x0) at ../../../../ 
>> R-2.10-branch/src/main/memory.c:2809
>> 2809	void (SET_SYMVALUE)(SEXP x, SEXP v) { CHECK_OLD_TO_NEW(x, v);  
>> SYMVALUE(x) = v; }
>> (gdb) bt
>> #0  0x00412d09 in SET_SYMVALUE (x=0x1007110, v=0x0) at ../../../../ 
>> R-2.10-branch/src/main/memory.c:2809
>> #1  0x0041068e in Rf_ReplIteration (rho=0x1023c38, savestack=0,  
>> browselevel=0, state=0xbfffe53c) at ../../../../R-2.10-branch/src/ 
>> main/main.c:263
>> #2  0x00410a40 in R_ReplConsole (rho=0x1023c38, savestack=0,  
>> browselevel=0) at ../../../../R-2.10-branch/src/main/main.c:311
>> #3  0x0041129b in run_Rmainloop () at ../../../../R-2.10-branch/src/ 
>> main/main.c:964
>> #4  0x00001ff0 in main (ac=1, av=0xbffff5c8) at ../../../../R-2.10- 
>> branch/src/main/Rmain.c:33
>> (gdb) q
>> The program is running.  Quit anyway (and detach it)? (y or n) y
>> Detaching from process 19381 thread 0x613.
>>
>>
>> On Nov 18, 2009, at 14:39 , Richard R. Liu wrote:
>>
>>> I am experiencing a curious error running R64 (2009-11-18 r50482)  
>>> on a MacBook Pro 17" Unibody early 2009 with 8GB RAM.  In the  
>>> console excerpt below sentences.1000.clustered is a dataframe  
>>> consisting of two vectors, sent and cluster.  sent is a vector of  
>>> 1000 sentences chosen at random from over 3 million, and cluster  
>>> is a vector of integers denoting to which of 5 clusters the  
>>> sentence belongs.  For each cluster I want to display the  
>>> sentences that belong to it as follows:
>>>
>>>
>>> R version 2.10.0 Patched (2009-11-18 r50482)
>>> Copyright (C) 2009 The R Foundation for Statistical Computing
>>> ISBN 3-900051-07-0
>>>
>>> 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.
>>>
>>> Natural language support but running in an English locale
>>>
>>> R is a collaborative project with many contributors.
>>> Type 'contributors()' for more information and
>>> 'citation()' on how to cite R or R packages in publications.
>>>
>>> Type 'demo()' for some demos, 'help()' for on-line help, or
>>> 'help.start()' for an HTML browser interface to help.
>>> Type 'q()' to quit R.
>>>
>>> [R.app GUI 1.30 (5521) x86_64-apple-darwin9.8.0]
>>>
>>> [Workspace restored from /Users/richard/.RData]
>>>
>>> > library(filehash)
>>> filehash: Simple key-value database (2.0-1 2008-12-19)
>>> > db <- dbInit("/Volumes/Work on RDR Test Documents/R Databases/ 
>>> DB_TXT", type = "RDS")
>>> > dbLoad(db)
>>> >
>>> > sent.clust <- sentences.1000.clustered
>>> > i.clust.2 <- which(sent.clust$cluster == 2)
>>> > attributes(sent.clust)
>>> $names
>>> [1] "sent"    "cluster"
>>>
>>> $row.names
>>> [1]    1    2    3    4    5    6    7    8    9   10   11   12    
>>> 13   14   15   16   17   18   19   20   21   22   23   24   25    
>>> 26   27   28   29
>>> ...
>>> [987]  987  988  989  990  991  992  993  994  995  996  997  998   
>>> 999 1000
>>>
>>> $class
>>> [1] "data.frame"
>>>
>>> > i.clust.2 <- which(sent.clust$cluster == 2)
>>> > nchar(sent.clust$sent[i.clust.2])
>>> [1]   232   419   787  1010  1926   357  2865   657   560   213   
>>> 2175  2363  1300   359   331   965   581   732   398   245  1650  
>>> 25893  1289   510
>>> [25]  1714   524   747  2378   465   651  2253   215   460   253   
>>> 2475   554  1130   529   261  1413   418  2168  1569  1538   301   
>>> 2506  1163  3036
>>> [49]  1445   199  1231   370  1307   371   379   232  1297   500    
>>> 409   481  2187   314   730  1634   971   860   362   506  1606    
>>> 394   145   480
>>> [73]  1582  1471  1269   308  1113   444   990   298  1644   445    
>>> 357  1204   322   638  2182   805  1545   368  1461  1347   649    
>>> 399  1094  1624
>>> [97] 14605  1637   269   503   502  2145  1398   481   122  2248
>>> > sent.clust$sent[i.clust.2]
>>> [1] "(patient continuing ...)  
>>> ______________________________________________________________________________________________________________________________________ 
>>>  Investigator text for Adverse Events encoded using MedDRA version  
>>> 11.0. "
>>> [2]
>>> *** caught bus error ***
>>> address 0x114382544, cause 'non-existent physical address'
>>>
>>> Possible actions:
>>> 1: abort (with core dump, if enabled)
>>> 2: normal R exit
>>> 3: exit R without saving workspace
>>> 4: exit R saving workspace
>>> Selection:
>>>
>>> The point of
>>>
>>> > i.clust.2 <- which(sent.clust$cluster == 2)
>>> > nchar(sent.clust$sent[i.clust.2])
>>>
>>> is to try to isolate the problem.  Indeed, the more compact  
>>> sent.clust$sent[which(sent.clust$cluster == 2)] work when I start  
>>> R in 32-bit mode.  In 64-bit mode, attempting to display the  
>>> sentences in cluster 5 also fails, whereas for clusters 1, 3, 4 it  
>>> succeeds.  In 32-bit mode, I have experienced no such problem.
>>>
>>> Does anybody have any ideas about what is wrong?
>>>
>>> Regards,
>>> Richard
>>>
>>> _______________________________________________
>>> R-SIG-Mac mailing list
>>> R-SIG-Mac at stat.math.ethz.ch
>>> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
>



More information about the R-SIG-Mac mailing list