VASSAL shouldn't crash, but this might be because the scenario you have created is getting images from vasl-templates.
Briefly, labels are created in VASSAL using HTML, which contains the text you want to show in the label, but unfortunately, if you want to include pictures (e.g. the VASL counters, or player flags), they can't be included in a label, they have to be stored somewhere else.
If you open the User Settings in vasl-templates, you will see 2 choices for the
"Get images from" option:
(*) this program: images will be downloaded from the vasl-templates program. This is faster, but
vasl-templates must be running when you open the scenario in VASSAL. You will see a warning at the bottom of the dialog box whenever this is the case.
(*) the internet: images will be downloaded from the internet. This is slower, but vasl-templates doesn't need to be running when you open the scenario.
The second option is the default, but I suspect because you started using vasl-templates before I added this "from the internet" feature, you still have vasl-templates set to get images "from this program."
To fix this, you need to update your scenario to get images from the internet.
(*) First, configure vasl-templates to get images from the internet.
(*) Open the scenario (the .json file, not the .vsav file) in vasl-templates. Hopefully, you kept it
(*) Choose the
"Update VASL scenario" option from the menu, and select the .vsav file. This will change all the labels to get their images from the internet, and not the vasl-templates program.
You should now be able to open the scenario in VASSAL, even if vasl-templates is not running.