Pod启动,并运行webapi
Pod无法启动,日志中出现以下错误:
terminate called after throwing an instance of 'boost::wrapexcept<util::AprException>'
what(): BaseException: Could not find the requested symbol. at /opt/jenkins/oa-s173/cmake-64-d/agent/native/shared/libutil/src/main/cpp/util/AprException.h:54 at static void util::AprException::check(apr_status_t)
at liboneagentdotnet.so [0x90ec22]
at liboneagentdotnet.so [0x90ed1b]
at liboneagentdotnet.so [0x90ed7c]
at liboneagentdotnet.so [0x143d61]
at liboneagentdotnet.so [0x144adb]
at unknown [0x7f4a024acee2]
at unknown [0x7f4a024accef]
at unknown [0x7f4a024a4e48]
at unknown [0x7f4a024acb40]
at unknown [0x7f4a024aca6c]
at unknown [0x7f4a024ac77a]
at unknown [0x7f4a024a3299]
at unknown [0x7f4a024a2dd1]
at unknown [0x7f4a024a2d4e]
at unknown [0x7f4a024a2425]
at unknown [0x7f4a020ac426]
at unknown [0x7f4a020aca3d]
at libcoreclr.so(CallDescrWorkerInternal+0x7b) [0x24dcae]
at libcoreclr.so(CallDescrWorkerWithHandler(CallDescrData*, int)+0x74) [0x17dfc4]
at libcoreclr.so(DispatchCallDebuggerWrapper(CallDescrData*, ContextTransitionFrame*, int)+0x86) [0x17e0b6]
at libcoreclr.so(DispatchCallSimple(unsigned long*, unsigned int, unsigned long, unsigned int)+0xb6) [0x17e236]
at libcoreclr.so(MethodTable::RunClassInitEx(Object**)+0x1a1) [0x115d61]
at libcoreclr.so(MethodTable::DoRunClassInitThrowing()+0x2f8) [0x1162e8]
at libcoreclr.so(JIT_GetSharedNonGCStaticBase_Helper+0xcf) [0x1b916f]
at unknown [0x7f4a020ac2ea]
at unknown [0x7f4a020ab4ec]
at unknown [0x7f4a020aadad]
at libcoreclr.so(CallDescrWorkerInternal+0x7b) [0x24dcae]
at libcoreclr.so(CallDescrWorkerWithHandler(CallDescrData*, int)+0x74) [0x17dfc4]
at libcoreclr.so(DispatchCallDebuggerWrapper(CallDescrData*, ContextTransitionFrame*, int)+0x86) [0x17e0b6]
at libcoreclr.so(DispatchCallSimple(unsigned long*, unsigned int, unsigned long, unsigned int)+0xb6) [0x17e236]
at libcoreclr.so(MethodTable::RunClassInitEx(Object**)+0x1a1) [0x115d61]
at libcoreclr.so(MethodTable::DoRunClassInitThrowing()+0x2f8) [0x1162e8]
at libcoreclr.so [0x29c00b]
at libcoreclr.so [0x2551cc]
at libcoreclr.so [0x2548c4]
at libcoreclr.so [0x2546b3]
at libcoreclr.so [0x29ba01]
at libcoreclr.so(MethodTable::EnsureInstanceActive()+0x92) [0x115a92]
at libcoreclr.so(MethodDesc::EnsureActive()+0x22) [0x109ae2]
at libcoreclr.so [0x262507]
at libcoreclr.so [0x26291f]
at libcoreclr.so(CorHost2::ExecuteAssembly(unsigned int, char16_t const*, int, char16_t const**, unsigned int*)+0x240) [0xcae90]
at libcoreclr.so(coreclr_execute_assembly+0xd3) [0xa3c63]
at libhostpolicy.so [0x161c2]
at libhostpolicy.so(corehost_main+0xcb) [0x16a1b]
at libhostfxr.so [0x2ab0f]
at libhostfxr.so [0x296a2]
at libhostfxr.so(hostfxr_main_startupinfo+0x92) [0x246f2]
at dotnet [0xc440]
at dotnet [0xc9fd]
at libc.so.6(__libc_start_main+0xea) [0x2409a]
at dotnet(_start+0x28) [0x2f3f]
dockerfile如下:
FROM mcr.microsoft.com/dotnet/core/sdk:3.0 AS build-env
WORKDIR /build
COPY /src .
RUN dotnet restore
RUN dotnet build
RUN dotnet publish -c Release -o ./out
FROM mcr.microsoft.com/dotnet/core/aspnet:3.0
WORKDIR /app
COPY --from=build-env /build/out .
ENTRYPOINT ["dotnet", "Weather.dll"]
这种情况仅在K8上发生,这是不寻常的,在将其作为向dotnetcore 3.0迁移的一部分进行测试时
在执行runtime
时指定dotnet publish
标志时,此行为不会改变。
docker version
Local docker for windows version: Docker version 19.03.2, build 6a30dfc
Container Runtime Version (on K8s): docker://18.6.1
不能完全确定问题出在哪里,只要对错误有一个了解,我会感到满意。
答案 0 :(得分:1)
这是由Dynatrace不支持我们定位的dotnet核心版本引起的。禁用此功能可以解决问题。