It is not a bug. It is shell-specific behaviour. Your ETS-table owned by one shell-process, and when you have exception error shell process have stopped and new one started. So, this new shell process have not access to ETS-table, because it owned by dead process. -- Maxim Treskin