Error while loading a texture

Got this thing on my laptop (Win 7 32bit, 3Gb RAM). I don’t get this on a Win 7 64bit. Why?

feb 23, 2015 11:24:41 PM com.jme3.app.Application handleError
GRAVE: Uncaught exception thrown in Thread[LWJGL Renderer Thread,5,main]
java.lang.OutOfMemoryError: Direct buffer memory
	at java.nio.Bits.reserveMemory(Unknown Source)
	at java.nio.DirectByteBuffer.<init>(Unknown Source)
	at java.nio.ByteBuffer.allocateDirect(Unknown Source)
	at com.jme3.util.BufferUtils.createByteBuffer(BufferUtils.java:956)
	at com.jme3.texture.plugins.AWTLoader.load(AWTLoader.java:113)
	at com.jme3.texture.plugins.AWTLoader.load(AWTLoader.java:191)
	at com.jme3.texture.plugins.AWTLoader.load(AWTLoader.java:200)
	at com.jme3.asset.DesktopAssetManager.loadAsset(DesktopAssetManager.java:288)
	at com.jme3.asset.DesktopAssetManager.loadTexture(DesktopAssetManager.java:346)
	at com.jme3.asset.DesktopAssetManager.loadTexture(DesktopAssetManager.java:356)
	at prototype.appstates.ProtoAppState.update(ProtoAppState.java:171)
	at com.jme3.app.state.AppStateManager.update(AppStateManager.java:287)
	at com.jme3.app.SimpleApplication.update(SimpleApplication.java:239)
	at com.jme3.system.lwjgl.LwjglAbstractDisplay.runLoop(LwjglAbstractDisplay.java:151)
	at com.jme3.system.lwjgl.LwjglDisplay.runLoop(LwjglDisplay.java:185)
	at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:228)
	at java.lang.Thread.run(Unknown Source)

Just a guess: your heap and direct memory settings are too big for 32 bit platforms and so are ignored… dropping them back to defaults.

We don’t have enough information to help beyond that.

I didn’t put any settings at all about heap memory, and therefore defaults are used. Are there some costraints? Where can I find some documentation about it?

(I have to say, that the code is crashing when I’m loading a 3840 x 2160 texture… ahem)

(shrug) Maybe the defaults are different on 32 bit platforms. Try increasing the direct memory heap… you should be able to search the forum or google.

Edit: changed “in creating” to “increasing”… weird kind of typo.

You can monitor heap and direct memory with jvisualvm (included in jdk). For direct memory, you need to install plugins.
So you can compare the difference between your 2 PC.

JVM kinda randomly decides on heap and direct memory if not set explicit.
Things I noticed having an effect
→ Total memory
→ Bitness of os
→ Bitness of jvm
→ jvm version