运行 TeamCity 上的 OpenTk 依赖 exe 抛出 AccessViolationException
Run OpenTk dependent exe on TeamCity throws AccessViolationException
发生了什么事?
- 通过命令行(尝试过自定义脚本以及带参数的可执行文件)或 .Net 进程的 TC 构建步骤 运行ner
- 我正在尝试 运行 是一个使用 OpenTk 的应用程序。
- 当我 运行 应用程序通过调用它 con cmd 时 运行s 没有问题。
- 当我从 TC 运行 收到错误:
(删除了时间戳以使其更具可读性)
Starting: D:\TeamCity9\buildAgent\temp\agentTmp\custom_script3388580896349143851.cmd
[] out - in directory: D:\TeamCity9\buildAgent\workb9612e40cf3fd7d\BuildSteam
[] err - D:\TeamCity9\buildAgent\temp\agentTmp\custom_script3388580896349143851.cmd
[] out -
[] out - Unhandled Exception: System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
[] out - at OpenTK.Graphics.OpenGL.GL.CreateProgram()
[] out - at Duality.Resources.ShaderProgram.AttachShaders(ContentRef`1 v, ContentRef`1 f, ContentRef`1 g) in d:\TeamCity9\buildAgent\work\df69930dfe788c6f\Duality\Resources\ShaderProgram.cs:line 208
[] out - at Duality.Resources.ShaderProgram..ctor(ContentRef`1 v, ContentRef`1 f) in d:\TeamCity9\buildAgent\work\df69930dfe788c6f\Duality\Resources\ShaderProgram.cs:line 188
[] out - at Duality.Resources.ShaderProgram.InitDefaultContent() in d:\TeamCity9\buildAgent\work\df69930dfe788c6f\Duality\Resources\ShaderProgram.cs:line 60
[2015-03-20 19:30:45,651] out - at Duality.ContentProvider.InitDefaultContent() in d:\TeamCity9\buildAgent\work\df69930dfe788c6f\Duality\ContentProvider.cs:line 52
[] out - at SceneBaker.Program.Main(String[] args)
我是 运行宁 TC 和代理(在同一台机器上)作为具有管理员权限的用户。
我试过的
运行 在命令行上以所有可能的方式
创建了一个 scriptcs 脚本来检查用户是否不是管理员,如果不是,它会提升这是失败并出现无效操作异常。正在调查。
尝试关闭防火墙无效
尝试重新安装 GC 驱动程序无效
编辑: 进一步调查表明,该异常只是我 运行 处理过程的一个错误,我得到了相同的未处理异常:System.AccessViolationException
编辑 II: 添加一些日志记录后,我可以看到 TC 确实以某种方式使检测到的图形驱动程序不正确:
Info: OpenGL initialized
Info: Vendor: Microsoft Corporation
Info: Version: 1.1.0
Info: Renderer: GDI Generic <--- here it should be Intel HD Graphics 4000 Info: Shading language version:
有什么想法可以让这个程序在 TC 上运行吗?我需要这个 运行 在构建步骤中的特定顺序
干杯
好的,问题是 teamcity 代理 运行 作为一项服务,服务无法创建 OpenGl 上下文,一旦代理从命令行 运行 就可以工作。
发生了什么事?
- 通过命令行(尝试过自定义脚本以及带参数的可执行文件)或 .Net 进程的 TC 构建步骤 运行ner
- 我正在尝试 运行 是一个使用 OpenTk 的应用程序。
- 当我 运行 应用程序通过调用它 con cmd 时 运行s 没有问题。
- 当我从 TC 运行 收到错误:
(删除了时间戳以使其更具可读性)
Starting: D:\TeamCity9\buildAgent\temp\agentTmp\custom_script3388580896349143851.cmd
[] out - in directory: D:\TeamCity9\buildAgent\workb9612e40cf3fd7d\BuildSteam
[] err - D:\TeamCity9\buildAgent\temp\agentTmp\custom_script3388580896349143851.cmd
[] out -
[] out - Unhandled Exception: System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
[] out - at OpenTK.Graphics.OpenGL.GL.CreateProgram()
[] out - at Duality.Resources.ShaderProgram.AttachShaders(ContentRef`1 v, ContentRef`1 f, ContentRef`1 g) in d:\TeamCity9\buildAgent\work\df69930dfe788c6f\Duality\Resources\ShaderProgram.cs:line 208
[] out - at Duality.Resources.ShaderProgram..ctor(ContentRef`1 v, ContentRef`1 f) in d:\TeamCity9\buildAgent\work\df69930dfe788c6f\Duality\Resources\ShaderProgram.cs:line 188
[] out - at Duality.Resources.ShaderProgram.InitDefaultContent() in d:\TeamCity9\buildAgent\work\df69930dfe788c6f\Duality\Resources\ShaderProgram.cs:line 60
[2015-03-20 19:30:45,651] out - at Duality.ContentProvider.InitDefaultContent() in d:\TeamCity9\buildAgent\work\df69930dfe788c6f\Duality\ContentProvider.cs:line 52
[] out - at SceneBaker.Program.Main(String[] args)
我是 运行宁 TC 和代理(在同一台机器上)作为具有管理员权限的用户。
我试过的
运行 在命令行上以所有可能的方式 创建了一个 scriptcs 脚本来检查用户是否不是管理员,如果不是,它会提升这是失败并出现无效操作异常。正在调查。
尝试关闭防火墙无效 尝试重新安装 GC 驱动程序无效
编辑: 进一步调查表明,该异常只是我 运行 处理过程的一个错误,我得到了相同的未处理异常:System.AccessViolationException
编辑 II: 添加一些日志记录后,我可以看到 TC 确实以某种方式使检测到的图形驱动程序不正确:
Info: OpenGL initialized
Info: Vendor: Microsoft Corporation
Info: Version: 1.1.0
Info: Renderer: GDI Generic <--- here it should be Intel HD Graphics 4000 Info: Shading language version:
有什么想法可以让这个程序在 TC 上运行吗?我需要这个 运行 在构建步骤中的特定顺序
干杯
好的,问题是 teamcity 代理 运行 作为一项服务,服务无法创建 OpenGl 上下文,一旦代理从命令行 运行 就可以工作。