race condition in dt_dev_process_image_job()
The problem is that if you try to move from image to image real fast using the filmstrip (i.e. just press space bar and keep it pressed), at some point the filmstrip gets stuck/deadlocked and you can't move it anymore, which happens because dev->image_loading is 1 and will never change to 0.
This is caused by a race condition in dt_dev_process_image_job(): dev->image_loading is reset to 0 before the image is actually processed by the pipe, so there is a (very small) period of time when you can set it to 1 again.
The attached 2-line patch fixes the problem for me.