[racket] frequent crashes on Windows 7 64-bit

From: Neil Van Dyke (neil at neilvandyke.org)
Date: Tue Oct 29 18:56:09 EDT 2013


* Run a heavy offline RAM test (such as with a bootable CD-ROM from 
memtest86.org or memtest86.com), since you might have a defect that only 
memory-intensive programs are likely to tickle.

* Use a process tool to watch how the Racket process size grows as you 
approach the crash, as well as how much of that is swapped to disk.  If 
this is getting much bigger than the size of your data and indexes (for 
an in-memory database, or for cache of on-disk database), then I would 
look for a leak in the FFI bindings, and then in the SQLite library.  A 
leak/bug in Racket or in Windows are also possibilities, in which case 
you'll want crash debugging...

* Use Visual Studio (or whatever was used to compile Racket) to do crash 
debugging.  Or set up GNU/Linux (pop a spare HD in the same PC?) and 
debug under that (although the problem might go away).

* Unless your purpose is to stress-test the Racket SQLite interface, 
alternatives might include having Racket drive a command-line tool for 
populating SQLite via SQL, and using a beefier database like 
PostgreSQL.  (Incidentally, Racket's PostgreSQL interface talks the 
PostgreSQL wire protocol directly from pure Racket code rather than 
doing FFI; I avoid FFI whenever practical, in part because it can be the 
cause of problems like you're seeing.)

Neil V.

Posted on the users mailing list.