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

Exception: No diagnostic information available. #921

Closed
Julusian opened this issue Mar 11, 2018 · 12 comments
Closed

Exception: No diagnostic information available. #921

Julusian opened this issue Mar 11, 2018 · 12 comments
Labels
Milestone

Comments

@Julusian
Copy link
Member

Current Behaviour

I am getting this a lot in the logs, often a few seconds apart. We used to get dropped-frames reported in the log and this seems to appear at the time the diag window reports dropped-frames so perhaps that is the cause?

Release builds appear to not show the stacktrace but do still show the exception heading line.

[2018-03-11 19:50:50.065] [error]   Exception: No diagnostic information available.

[2018-03-11 19:50:50.065] [error]    0# boost::stacktrace::basic_stacktrace<std::allocator<boost::stacktrace::frame> >::init at c:\code\casparcg22\build\packages\boost.1.66.0.0\lib\native\include\boost\stacktrace\stacktrace.hpp:81
[2018-03-11 19:50:50.065] [error]    1# boost::stacktrace::basic_stacktrace<std::allocator<boost::stacktrace::frame> >::basic_stacktrace<std::allocator<boost::stacktrace::frame> > at c:\code\casparcg22\build\packages\boost.1.66.0.0\lib\native\include\boost\stacktrace\stacktrace.hpp:130
[2018-03-11 19:50:50.065] [error]    2# caspar::log::get_stack_trace at c:\code\casparcg22\src\common\log.h:71
[2018-03-11 19:50:50.065] [error]    3# `<lambda_7ff54df2c81545b6e93b3c75c13a5f11>::operator()'::`1'::catch$33 at c:\code\casparcg22\src\core\video_channel.cpp:170
[2018-03-11 19:50:50.065] [error]    4# _C_specific_handler in VCRUNTIME140D
[2018-03-11 19:50:50.065] [error]    5# _BuildCatchObjectHelper in VCRUNTIME140D
[2018-03-11 19:50:50.065] [error]    6# RtlCaptureContext in ntdll
[2018-03-11 19:50:50.065] [error]    7# <lambda_7ff54df2c81545b6e93b3c75c13a5f11>::operator() at c:\code\casparcg22\src\core\video_channel.cpp:168
[2018-03-11 19:50:50.065] [error]    8# std::_Invoker_functor::_Call<<lambda_7ff54df2c81545b6e93b3c75c13a5f11> > at c:\program files (x86)\microsoft visual studio\preview\community\vc\tools\msvc\14.13.26126\include\type_traits:16707566
[2018-03-11 19:50:50.065] [error]    9# std::invoke<<lambda_7ff54df2c81545b6e93b3c75c13a5f11> > at c:\program files (x86)\microsoft visual studio\preview\community\vc\tools\msvc\14.13.26126\include\type_traits:16707566
[2018-03-11 19:50:50.065] [error]   10# std::_LaunchPad<std::unique_ptr<std::tuple<<lambda_7ff54df2c81545b6e93b3c75c13a5f11> >,std::default_delete<std::tuple<<lambda_7ff54df2c81545b6e93b3c75c13a5f11> > > > >::_Execute<0> at c:\program files (x86)\microsoft visual studio\preview\community\vc\tools\msvc\14.13.26126\include\thr\xthread:241
[2018-03-11 19:50:50.065] [error]   11# std::_LaunchPad<std::unique_ptr<std::tuple<<lambda_7ff54df2c81545b6e93b3c75c13a5f11> >,std::default_delete<std::tuple<<lambda_7ff54df2c81545b6e93b3c75c13a5f11> > > > >::_Run at c:\program files (x86)\microsoft visual studio\preview\community\vc\tools\msvc\14.13.26126\include\thr\xthread:247
[2018-03-11 19:50:50.065] [error]   12# std::_LaunchPad<std::unique_ptr<std::tuple<<lambda_7ff54df2c81545b6e93b3c75c13a5f11> >,std::default_delete<std::tuple<<lambda_7ff54df2c81545b6e93b3c75c13a5f11> > > > >::_Go at c:\program files (x86)\microsoft visual studio\preview\community\vc\tools\msvc\14.13.26126\include\thr\xthread:233
[2018-03-11 19:50:50.065] [error]   13# std::_Pad::_Call_func at c:\program files (x86)\microsoft visual studio\preview\community\vc\tools\msvc\14.13.26126\include\thr\xthread:211
[2018-03-11 19:50:50.065] [error]   14# register_onexit_function in ucrtbased
[2018-03-11 19:50:50.065] [error]   15# register_onexit_function in ucrtbased
[2018-03-11 19:50:50.065] [error]   16# BaseThreadInitThunk in KERNEL32
[2018-03-11 19:50:50.065] [error]   17# RtlUserThreadStart in ntdll
[2018-03-11 19:50:50.065] [error]   

Environment

  • CasparCG Server version: c8d7047
  • Operating system: Windows 10
@ronag ronag added the type/bug label Mar 11, 2018
@ronag ronag added this to the 2.2.0 milestone Mar 11, 2018
@ronag
Copy link
Member

ronag commented Mar 11, 2018

This is weird. I've seen this as well. Wish we could have some more info.

@ronag
Copy link
Member

ronag commented Mar 11, 2018

If you are able to consistently reproduce it could you add more fine grained try/catch with CASPAR_LOG_CURRENT_EXCEPTION to try and nail down where it happens? Start from video_channel.cpp and split produce,mix, consumer and osc into separate try/catch sections.

@ronag
Copy link
Member

ronag commented Mar 12, 2018

Seems to come from the osc tick_ call

@ronag
Copy link
Member

ronag commented Mar 12, 2018

We should probably make sure osc run asynchronously from the channel. Instead of sync like it is today.

@ronag
Copy link
Member

ronag commented Mar 12, 2018

yea, I'm pretty convinced this is related to OSC... it's actually quite serious.

@ronag
Copy link
Member

ronag commented Mar 13, 2018

master should be a bit better now, the actual error isn't fixed but osc runs in a seperate thread so the impact should be lower. We still need help with reproducing & testing.

@ronag
Copy link
Member

ronag commented Mar 16, 2018

I think this doesn't happen in master anymore. We still need #928

@ronag ronag closed this as completed Mar 16, 2018
@Julusian
Copy link
Member Author

I suppose this issue has 2 parts.
The first which should be resolved is the frequency of appearance in the logs.
The second part is the very vague stacktrace and error. The stack trace looks to be to where the catch is located, rather than the throw.

This is another exception I am getting while looking at #773

[2018-03-16 17:03:36.459] [error]   OpenGL Error: 1282 Unknown error
[2018-03-16 17:03:36.459] [error]   Exception: Dynamic exception type: std::future_error
[2018-03-16 17:03:36.459] [error]   std::exception::what: std::future_error: No associated state
[2018-03-16 17:03:36.459] [error]   
[2018-03-16 17:03:36.459] [error]    0# caspar::log::get_stack_trace[abi:cxx11]() in bin/casparcg
[2018-03-16 17:03:36.459] [error]    1# caspar::core::video_channel::impl::impl(int, caspar::core::video_format_desc const&, std::unique_ptr<caspar::core::image_mixer, std::default_delete<caspar::core::image_mixer> >, std::function<void (caspar::core::monitor::state const&)>)::{lambda()#1}::operator()() const in bin/casparcg
[2018-03-16 17:03:36.459] [error]    2# 0x00007F8EA8E5A773 in /usr/lib/x86_64-linux-gnu/libstdc++.so.6
[2018-03-16 17:03:36.459] [error]    3# 0x00007F8EB10345AA in /lib/x86_64-linux-gnu/libpthread.so.0
[2018-03-16 17:03:36.459] [error]    4# clone in /lib/x86_64-linux-gnu/libc.so.6
[2018-03-16 17:03:36.459] [error]   

@ronag
Copy link
Member

ronag commented Mar 16, 2018

@Julusian that exception is unrelated here?

@ronag
Copy link
Member

ronag commented Mar 16, 2018

The second part is the very vague stacktrace and error. The stack trace looks to be to where the catch is located, rather than the throw.

Yes, only exceptions thrown by caspar will contain a stack trace.

@Julusian
Copy link
Member Author

that exception is unrelated here?

My original intention with this issue was to do with the lack of useful stack trace, but that may not have been clear.

Yes, only exceptions thrown by caspar will contain a stack trace.

I think that exception is thrown by us on this line, so it should have a stacktrace surely? It appears that the first exception thrown here does, but after that they do not.

case GL_INVALID_OPERATION:
CASPAR_THROW_EXCEPTION(ogl_invalid_operation()
<< msg_info("the specified operation is not allowed in the current state")
<< error_info("GL_INVALID_OPERATION"));

@ronag
Copy link
Member

ronag commented Mar 16, 2018

The exception type is future_error. We don’t throw that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants