Skip to content

RMySQL Keeps crashing

10 messages · Jeffrey Horner, Peter Benjamin Volk, Brian Ripley +2 more

#
PeterBvolk wrote on 12/10/2008 10:02 AM:
Can you send the output of sessionInfo() and also a small example that 
reproduces the crash? It would be nice to know which OS you are working on.

Jeff

  
    
  
#
Hi Jeff,
R version 2.8.0 (2008-10-20)
i386-pc-mingw32

locale:
LC_COLLATE=German_Germany.1252;LC_CTYPE=German_Germany.1252;LC_MONETARY=German_Germany.1252;LC_NUMERIC=C;LC_TIME=German_Germany.1252

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base    

other attached packages:
[1] MASS_7.2-44     RMySQL_0.7-2    DBI_0.2-4       lattice_0.17-17

loaded via a namespace (and not attached):
[1] grid_2.8.0


I'm Working on Windows XP with SP3. The MySQL Server resides on an
Ubuntu Server. The failure also happens when I have the server on the
same system as R.

Thanks
Peter
#
Peter Benjamin Volk wrote:
Okay, what's the output of the following R command readRegistry:

readRegistry("SOFTWARE\\MySQL AB", hive="HLM", maxdepth=2)

I have a suspicion it's a version mismatch between the version of MySQL 
client library with which the package was compiled and the version 
installed and loaded by RMySQL on your machine. Your output will give us 
the latter version, unless you have more than one installed.

Jeff
#
Hi Jeff,
$`MySQL Server 5.1`
$`MySQL Server 5.1`$DataLocation
[1] "C:\\Documents and Settings\\All Users\\Application
Data\\MySQL\\MySQL Server 5.1\\"

$`MySQL Server 5.1`$FoundExistingDataDir
[1] "0"

$`MySQL Server 5.1`$Location
[1] "C:\\Program Files\\MySQL\\MySQL Server 5.1\\"

$`MySQL Server 5.1`$Version
[1] "5.1.30"


Also: under windows the install package menu shows two RMySQL packages
that can be installed.

cheers,
Peter
#
On Thu, 11 Dec 2008, Jeffrey Horner wrote:

            
More to the point, certain MySQL Windows releases have client DLLs that 
are known to crash RMySQL.  (It would be perverse if the API had changed 
at patch levels within the same MySQL version, 5.0, although it has 
changed between versions.)  As far as I recall, the deficient patch 
releases are within the range 5.0.21 to 5.0.44: I am pretty sure that 
5.0.45 and later (including 5.0.67) are unaffected.

Uwe Ligges and I built and tested RMySQL against 5.0.67, so the 
recommendation is to update your Windows client to that version.

  
    
#
Prof Brian Ripley wrote on 12/11/2008 07:53 AM:
Do you have a recommendation for me as the maintainer going forward for 
supporting current and future MySQL releases? It seems like Peter's case 
won't be last as MySQL 5.1.30 is now the recommended download (at least 
when you click the "Download" button on mysql.com).

Jeff
#
On Thu, 11 Dec 2008, Jeffrey Horner wrote:

            
Not really, especially as Uwe controls the Windows binaries.  (When I did, 
I had a ReadMe with the tested version information.)

For a long time we did not distribute Windows binaries because of these 
version-incompatibility issues.

  
    
#
On 11 December 2008 at 09:17, Jeffrey Horner wrote:
| > Uwe Ligges and I built and tested RMySQL against 5.0.67, so the 
| > recommendation is to update your Windows client to that version.
| 
| Do you have a recommendation for me as the maintainer going forward for 
| supporting current and future MySQL releases? It seems like Peter's case 
| won't be last as MySQL 5.1.30 is now the recommended download (at least 
| when you click the "Download" button on mysql.com).

As it is a rather biting constraint, I would test in configure. Many many
moons ago I added this to RQuantLib's configure which is now quaint as the
2.* series rests in compiler heaves:

AC_PROG_CXX
if test "${GXX}" = yes; then
    gxx_version=`${CXX} -v 2>&1 | grep "^.*g.. version" | \\
		       sed -e 's/^.*g.. version *//'`
    case ${gxx_version} in
        1.*|2.*)
	     AC_MSG_WARN([Only g++ version 3.0 or greater can be used with RQuantib.])
	     AC_MSG_ERROR([Please use a different compiler.])   
        ;;
    esac
fi

You could use similar logic to ensure [min, max] intervals for the MySQL
version you want to support.   

Dirk
#
There is a SystemRequirements: line that can be put into the DESCRIPTION
file which can then be checked by your package via:

packageDescription("Ryacas")$SystemRequirements

On Thu, Dec 11, 2008 at 10:17 AM, Jeffrey Horner
<jeff.horner at vanderbilt.edu> wrote: