Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Application crash - try to instrument by non-existing class #1469

Closed
Kielek opened this issue Oct 20, 2022 · 0 comments · Fixed by #1500
Closed

Application crash - try to instrument by non-existing class #1469

Kielek opened this issue Oct 20, 2022 · 0 comments · Fixed by #1500
Assignees
Labels
bug Something isn't working
Milestone

Comments

@Kielek
Copy link
Contributor

Kielek commented Oct 20, 2022

Bug Report

Symptom

Describe the bug
Instrumented application is crashing when you try to use non-existing bytecode instrumentation.


Xunit.Sdk.XunitException
Expected process.ExitCode to be 0 because Test application exited with non-zero exit code, but found -532462766 (difference of -532462766).
   at FluentAssertions.Execution.XUnit2TestFramework.Throw(String message)
   at FluentAssertions.Execution.AssertionScope.FailWith(Func`1 failReasonFunc)
   at FluentAssertions.Numeric.NumericAssertions`2.Be(T expected, String because, Object[] becauseArgs)
   at IntegrationTests.Helpers.TestHelper.RunTestApplication(TestSettings testSettings) in C:\GitHub\opentelemetry-dotnet-instrumentation\test\IntegrationTests\Helpers\TestHelper.cs:line 170
   at IntegrationTests.Helpers.TestHelper.RunTestApplication(Int32 traceAgentPort, Int32 otlpTraceCollectorPort, Int32 metricsAgentPort, Int32 logsAgentPort, String arguments, String packageVersion, String framework, Int32 aspNetCorePort, Boolean enableStartupHook, Boolean enableClrProfiler) in C:\GitHub\opentelemetry-dotnet-instrumentation\test\IntegrationTests\Helpers\TestHelper.cs:line 140
   at IntegrationTests.SmokeTests.<SubmitMetrics>d__9.MoveNext() in C:\GitHub\opentelemetry-dotnet-instrumentation\test\IntegrationTests\SmokeTests.cs:line 146
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Xunit.Sdk.TestInvoker`1.<>c__DisplayClass48_0.<<InvokeTestMethodAsync>b__1>d.MoveNext() in /_/src/xunit.execution/Sdk/Frameworks/Runners/TestInvoker.cs:line 264
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Xunit.Sdk.ExecutionTimer.<AggregateAsync>d__4.MoveNext() in /_/src/xunit.execution/Sdk/Frameworks/ExecutionTimer.cs:line 48
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Xunit.Sdk.ExceptionAggregator.<RunAsync>d__9.MoveNext() in /_/src/xunit.core/Sdk/ExceptionAggregator.cs:line 90

Platform: X64
Configuration: Debug
TargetFramework: net462
.NET Core: False
Found profiler at C:\GitHub\opentelemetry-dotnet-instrumentation\bin\tracer-home\win-x64\OpenTelemetry.AutoInstrumentation.Native.dll.
Profiler DLL: C:\GitHub\opentelemetry-dotnet-instrumentation\bin\tracer-home\win-x64\OpenTelemetry.AutoInstrumentation.Native.dll
[TestHttpListener]: Listening on 'http://localhost:59163/v1/metrics/'
MockLogsCollector healthz endpoint: http://localhost:59163/v1/metrics//healthz
Starting Application: C:\GitHub\opentelemetry-dotnet-instrumentation\test\test-applications\integrations\TestApplication.Smoke\bin\x64\Debug\net462\TestApplication.Smoke.exe
Found integrations at C:\GitHub\opentelemetry-dotnet-instrumentation\bin\tracer-home\win-x64\OpenTelemetry.AutoInstrumentation.Native.dll.
ProcessName: TestApplication.Smoke
ProcessId: 19144
Exit Code: -532462766
StandardOutput:
Command line: 
Platform: x64
Environment variables:
	COR_ENABLE_PROFILING = 1
	COR_PROFILER = {918728DD-259F-4A6A-AC2B-B85E1B658318}
	COR_PROFILER_PATH = C:\GitHub\opentelemetry-dotnet-instrumentation\bin\tracer-home\win-x64\OpenTelemetry.AutoInstrumentation.Native.dll
	OTEL_DOTNET_AUTO_DEBUG = 1
	OTEL_DOTNET_AUTO_HOME = C:\GitHub\opentelemetry-dotnet-instrumentation\bin\tracer-home
	OTEL_DOTNET_AUTO_INCLUDE_PROCESSES = TestApplication.Smoke.exe
	OTEL_DOTNET_AUTO_INTEGRATIONS_FILE = C:\GitHub\opentelemetry-dotnet-instrumentation\bin\tracer-home\integrations.json
	OTEL_DOTNET_AUTO_LOG_DIRECTORY = C:\GitHub\opentelemetry-dotnet-instrumentation\build_data\profiler-logs
	OTEL_DOTNET_AUTO_METRICS_ADDITIONAL_SOURCES = MyCompany.MyProduct.MyLibrary
	OTEL_DOTNET_AUTO_TRACES_ADDITIONAL_SOURCES = TestApplication.*
	OTEL_DOTNET_AUTO_TRACES_ENABLED_INSTRUMENTATIONS = HttpClient
	OTEL_EXPORTER_OTLP_ENDPOINT = http://localhost:59163
	OTEL_METRICS_EXPORTER = otlp
	OTEL_SERVICE_NAME = TestApplication.Smoke

StandardError:

Unhandled Exception: System.TypeLoadException: Could not load type 'OpenTelemetry.AutoInstrumentation.Instrumentations.Logger.LoggingBuilderIntegration' from assembly 'OpenTelemetry.AutoInstrumentation, Version=0.3.1.0, Culture=neutral, PublicKeyToken=c0db600a13f60b51'.
   at Microsoft.Extensions.Logging.LoggingBuilder..ctor(IServiceCollection services)
   at Microsoft.Extensions.DependencyInjection.LoggingServiceCollectionExtensions.AddLogging(IServiceCollection services, Action`1 configure)
   at Microsoft.Extensions.Logging.LoggerFactory.Create(Action`1 configure)
   at TestApplication.Smoke.Program.EmitLogs()
   at TestApplication.Smoke.Program.Main(String[] args)

[MockMetricsCollector]: Shutting down.
[TestHttpListener]: Listener is shutting down.

Expected behavior
Application will log error instead of crashing.

Additional context
Add any other context about the problem here.

Reproduce

Steps to reproduce the behavior:

Execute IntegrationTests.SmokeTests.SubmitMetrics from #1421

@Kielek Kielek added the bug Something isn't working label Oct 20, 2022
@Kielek Kielek changed the title Application crash - try to instrument by non-existing method Application crash - try to instrument by non-existing class Oct 20, 2022
@pjanotti pjanotti self-assigned this Oct 22, 2022
@Kielek Kielek added this to the 0.5.0-beta milestone Oct 26, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Development

Successfully merging a pull request may close this issue.

2 participants