spragunr / deep_q_rl

Theano-based implementation of Deep Q-learning
BSD 3-Clause "New" or "Revised" License
1.08k stars 348 forks source link

ALE assertion failed #2

Closed perimosocordiae closed 9 years ago

perimosocordiae commented 9 years ago

Have you seen this error before? RL-Glue and ALE seem to initialize properly, but then "ALE RL-Glue" dies with a strange malloc error.

RL-Glue Version 3.04, Build 909
RL-Glue is listening for connections on port=4096
A.L.E: Arcade Learning Environment (version 0.4)
[Powered by Stella]
Use -help for help screen.
Warning: couldn't load settings file: ./stellarc
Game console created:
  ROM file:  /opt/ale_0.4.4/ale_0_4/roms/space_invaders.bin
  Cart Name: Space Invaders (1978) (Atari) [!]
  Cart MD5:  72ffbef6504b75e69ee1045af9075f66
  Display Format:  AUTO-DETECT ==> NTSC
  ROM Size:        4096
  Bankswitch Type: AUTO-DETECT ==> 4K

Running ROM file...
Random Seed: Time
Game will be controlled through RL-Glue.
RL-Glue Python Experiment Codec Version: 2.02 (Build 738)
    Connecting to 127.0.0.1 on port 4096...
    RL-Glue :: Experiment connected.
Initializing ALE RL-Glue ...
ale: malloc.c:2372: sysmalloc: Assertion `(old_top == (((mbinptr) (((char *) &((av)->bins[((1) - 1) * 2])) - __builtin_offsetof (struct malloc_chunk, fd)))) && old_size == 0) || ((unsigned long) (old_size) >= (unsigned long)((((__builtin_offsetof (struct malloc_chunk, fd_nextsize))+((2 *(sizeof(size_t))) - 1)) & ~((2 *(sizeof(size_t))) - 1))) && ((old_top)->size & 0x1) && ((unsigned long) old_end & pagemask) == 0)' failed.
Aborted (core dumped)
RL-Glue Python Agent Codec Version: 2.02 (Build 738)
    Connecting to 127.0.0.1 on port 4096...
     Agent Codec Connected
    RL-Glue :: Agent connected.
spragunr commented 9 years ago

I haven't seen that. It looks like ALE is dying when it tries to connect through RL-Glue. Did you get ALE from their download page or from github? You might try grabbing the latest version from github to see if that solves the problem.

perimosocordiae commented 9 years ago

You were right, using the master git version fixed the issue. Thanks!