I had the same problem few days ago.
Then, I realized that, as @Etienne38 says,
In practice, that means that there exists a vocabulary restriction when performing a “continue”/resume training so, you should pre-process your new data using the model dictionaries.
By doing something like this:
th preprocess.lua -train_src src_new_data -train_tgt tgt_new_data -valid_src valid_src_new_data-valid_tgt valid_tgt_new_data -src_vocab yourModel_src.dict -tgt_vocab yourModel_tgt.dict -save_data yourNewData
With this you will get in yourNewData-train.t7 your pre-processed new-data taking into account the vocabulary you used to train your model.
However, don’t forget that with this you are not introducing new vocabulary to the model but letting it learn the semantics on your new data.