O problema foi causado por minhas configurações em /etc/security/limits.conf onde defini "limite de espaço de endereço" para 1GB. Por algum motivo, o java precisa de mais de 1GB de memória virtual para iniciar:
wojdyr@ub:~$ java -version
java version "1.6.0_20"
OpenJDK Runtime Environment (IcedTea6 1.9.1) (6b20-1.9.1-1ubuntu3)
OpenJDK 64-Bit Server VM (build 17.0-b16, mixed mode)
wojdyr@ub:~$ ulimit -Sv 1048576
wojdyr@ub:~$ java -version
#
# A fatal error has been detected by the Java Runtime Environment:
#
# java.lang.OutOfMemoryError: requested 304 bytes for CHeapObj-new. Out of swap space?
#
# Internal Error (allocation.inline.hpp:39), pid=3319, tid=140563844388624
# Error: CHeapObj-new
Eu não entendo porque muita memória é necessária. Todos os outros programas que eu uso funcionam bem com limite de 1GB. Enfim, o problema está resolvido.