docker Gitlab Runner Pipeline继续失败,退出代码为1,没有任何其他错误消息

h6my8fg2  于 2023-03-22  发布在  Docker
关注(0)|答案(1)|浏览(207)

大家好,我目前正在Docker镜像中使用gitlab,也在Docker镜像中使用Gitlab Runner,到目前为止一切正常。
我在管道的一个阶段使用make构建项目。在那里我为linux os构建了一个插件。这个构建在管道中的随机位置不断失败(我随机确定它是因为日志输出的行号)如果我打开日志文件的原始文件,它几乎有类似的大小。请参阅此日志输出示例:

../src/legacy/PepeBuf.h: In instantiation of ‘PepeBuf<BufferType>::ElementID PepeBuf<BufferType>::findElementID(TimeEx, PepeBuf<BufferType>::ElementID, PepeBuf<BufferType>::ElementID) const [with BufferType = PepeBuf<Spectrum>; PepeBuf<BufferType>::ElementID = BufferElementID]’:
../src/legacy/PepeDoc.h:2032:70:   required from here
../src/legacy/PepeBuf.h:459:69: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
  459 |                    this->_elementIndex == UndefinedBufferElementID  &&  !this->_elementCount);
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
../src/legacy/PepeBuf.h:458:13: note: in expansion of macro ‘ASSERT’
  458 |             ASSERT(this->_elementIndex < this->_numElements  ||
      |             ^~~~~~
../src/legacy/PepeBuf.h: In instantiation of ‘PepeBuf<BufferType>::ElementID PepeBuf<BufferType>::findElementID(TimeEx, PepeBuf<BufferType>::ElementID, PepeBuf<BufferType>::ElementID) const [with BufferType = PepeBuf<EllipseData>; PepeBuf<BufferType>::ElementID = BufferElementID]’:
../src/legacy/PepeDoc.h:2106:70:   required from here
../src/legacy/PepeBuf.h:459:69: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
  459 |                    this->_elementIndex == UndefinedBufferElementID  &&  !this->_elementCount);
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
../src/legacy/PepeBuf.h:458:13: note: in expansion of macro ‘ASSERT’
  458 |             ASSERT(this->_elementIndex < this->_numElements  ||
      |             ^~~~~~
../src/legacy/PepeBuf.h: In instantiation of ‘PepeBuf<BufferType>::ElementID PepeBuf<BufferType>::findElementID(TimeEx, PepeBuf<BufferType>::ElementID, PepeBuf<BufferType>::ElementID) const [with BufferType = PepeBuf<AudioBlock>; PepeBuf<BufferType>::ElementID = BufferElementID]’:
../src/legacy/Pepe.h:2154:67:   required from here
../src/legacy/Pepe.h:459:69: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
  459 |                    this->_elementIndex == UndefinedBufferElementID  &&  !this->_elementCount);
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
../src/legacy/Pepe.h:458:13: note: in expansion of macro ‘ASSERT’
  458 |             ASSERT(this->_elementIndex < this->_numElements  ||
      |             ^~~~~~
ERROR: Job failed: exit code 1

Gitlab Runner中的命令一直失败是make -j ´nproc´ all在同一个docker镜像中使用此make命令的windows插件构建工作正常。有没有办法获得有关gitlab runner本身的更多信息?为什么他确定作业失败?
Gitlab版本15.9.2-ee Gitlab runner版本15.9.1 docker版本17.06.0-ce,build 02 c1 d87
我也有一个grafana和普罗米修斯与节点出口商运行,他们所以没有显示任何问题的ressources.任何想法,我可以找到更多的信息如何以及为什么这个工作失败了?

svmlkihl

svmlkihl1#

通过系统日志挖掘,我发现了一个OOM错误。
所以这里的解决方案是从make -j ´nproc´ all退回到make -j 1 all,这不会失败。然后我增加了作业的数量,直到管道再次失败。我最终使用-j 6构建了一个稳定的管道。
有趣的是,Windows版本没有同样的内存不足错误问题。(主机,Docker镜像和管道在Linux和Windows版本中是完全相同的)

相关问题