putenv is fundamentally thread-unsafe! We have observed crashes in getenv probably caused by concurrent putenv, and the assignments to XFILESEARCHPATH and NLSPATH for /usr/dt (CDE?) are the most likely suspects. They are the only environment variables modified running HelloWorld on Linux.
At the very least, we can avoid setting these environment variables when the relevant directory does not exist.
(But we should try to go further and try to figure out how to never write to environment variables outside of the launcher)