Первый этап анализа: повреждение памяти при выходе.Я бы сказал, что спорят о том, кто должен освободить блок и как.Теперь мы копаем глубже ...
возможно , что вы видите последствия того факта, что и Perl, и Tcl независимо пытаются обойти ошибок ошибок всистемная реализация переменных среды.В частности, у библиотеки C setenv()
есть ряд проблем с утечками памяти, которые делают ее более непрактичной, чем вы могли бы наивно ожидать;Я вполне ожидаю, что Perl обойдет это, и я знаю , что и Tcl тоже, но это означает, что только один язык должен устанавливать переменные среды, и в этом случае почти наверняка должен быть Perl (на основании представленных вами данных).
Вам действительно нужно устанавливать переменные окружения из вашего кода Tcl?Если вы можете просто не делать этого, это был бы самый простой путь вперед.:-) В противном случае, мы говорим о другой сборке Tcl (так что она требует от Perl стороны управления памятью) или о какой-то магии, чтобы отключить сторону Tcl от реальной среды.Возможно, вы также захотите сообщить о проблеме до ActiveState.