Какие вещи могут вызвать sgen msbuild задача перестать работать периодически с Нарушением прав доступа?

В нашем файле MSBuild для нашего проекта мы sgen блок, содержащий классы, используется во время XML-сериализации. Классы сгенерированы с помощью xsd.exe.

Мы используем следующую конфигурацию задачи SGen.

<SGen ToolPath="$(SdkPath)" 
      ShouldGenerateSerializer="true" 
      UseProxyTypes="false" 
      BuildAssemblyName="AssemblyName.dll" 
      BuildAssemblyPath="Outputs" 
      ContinueOnError="false"  />

Intermittantly следующая ошибка брошен при выполнении msbuild сценария на нашем сервере сборки. Первоначально эта ошибка, возможно, произошла однажды из каждых 50 (CI) сборки, недавно частота увеличивалась, и это теперь происходит, возможно, 5-6 из каждых 10 сборок.

Размер блока, который является Sgenned, о 410k (приблизительно 35 000 строк сгенерированного кода), и когда успешный блок сериализации о 1.7M в размере.

Когда это перестало работать, вывод следующие:

Unhandled Exception: System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
E:\Path_ToBuild_Workspace\SolutionBuild.MSBuild(74,5): error MSB6006: "sgen.exe" exited with code -1073741819.

Мы используем Гудзон для управления нашими сборками, таким образом, msbuild и процессы sgen поэтому spwaned Hudson.exe.

Нет очень там в межсетях относительно этого типа ошибки от SGen. Конечно, ничто конкретное.

1
задан Mark Allanson 23 April 2010 в 14:25
поделиться

1 ответ

Похоже, это было вызвано 32-разрядной версией среды выполнения Java, порождающей экземпляр sgen.exe. Сервер сборки работает под управлением двух оптеронов на Windows Server 2003 x64.

Переход на 64-битную версию JRE, похоже, устранил проблему со случайными исключениями AccessViolationExceptions.

2
ответ дан 3 September 2019 в 01:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: