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

Same execute file crashed when start application from cmd prompt but works when start from clion #238

Open
hejia-zhang opened this issue Dec 20, 2018 · 1 comment
Labels
need more information Further information is requested type: bug Something isn't working
Milestone

Comments

@hejia-zhang
Copy link

hejia-zhang commented Dec 20, 2018

Hey as I pointed in title. My application crashed when I launched the execute file from cmd prompt while worked when I started it through IDE.

System: Ubuntu 18.04
IDE: Clion

It crashed during Application::startUp();
gdb log:

Starting program: /home/hejia/Projects/interactive-simulation/ids_visualizer/cmake-build-debug/bin/x64/Debug/ids_visualizer -m /home/hejia/Projects/interactive-simulation/ids_visualizer/assets/acrobot.xml
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff24d7700 (LWP 6935)]
[New Thread 0x7ffff1bd5700 (LWP 6936)]

Thread 3 "ids_visualizer" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff1bd5700 (LWP 6936)]
0x0000000000000000 in ?? ()
(gdb) thread backtrace all
Invalid thread ID: backtrace all
(gdb) backtrace
#0 0x0000000000000000 in ?? ()
#1 0x00007ffff101ee63 in bs::ct::GLRenderAPI::initFromCaps (this=0x555555850560, caps=0x7fffe420d380) at /home/hejia/Projects/interactive-simulation/ids_visualizer/src/bsf/Source/Plugins/bsfGLRenderAPI/BsGLRenderAPI.cpp:2383
#2 0x00007ffff1016698 in bs::ct::GLRenderAPI::initializeWithWindow (this=0x555555850560, primaryWindow=std::shared_ptrbs::ct::RenderWindow (use count 3, weak count 1) = {...})
at /home/hejia/Projects/interactive-simulation/ids_visualizer/src/bsf/Source/Plugins/bsfGLRenderAPI/BsGLRenderAPI.cpp:167
#3 0x00007ffff6ccac43 in std::__invoke_impl<void, void (bs::ct::RenderAPI::&)(std::shared_ptrbs::ct::RenderWindow const&), bs::ct::RenderAPI&, std::shared_ptrbs::ct::RenderWindow&> (
__f=@0x5555558512f0: &virtual bs::ct::RenderAPI::initializeWithWindow(std::shared_ptrbs::ct::RenderWindow const&), __t=@0x555555851310: 0x555555850560, __args#0=std::shared_ptrbs::ct::RenderWindow (use count 3, weak count 1) = {...})
at /usr/include/c++/7/bits/invoke.h:73
#4 0x00007ffff6cc91ce in std::__invoke<void (bs::ct::RenderAPI::&)(std::shared_ptrbs::ct::RenderWindow const&), bs::ct::RenderAPI&, std::shared_ptrbs::ct::RenderWindow&> (
__fn=@0x5555558512f0: &virtual bs::ct::RenderAPI::initializeWithWindow(std::shared_ptrbs::ct::RenderWindow const&), __args#0=@0x555555851310: 0x555555850560, __args#1=std::shared_ptrbs::ct::RenderWindow (use count 3, weak count 1) = {...})
at /usr/include/c++/7/bits/invoke.h:95
#5 0x00007ffff6cc7242 in std::_Bind<void (bs::ct::RenderAPI::(bs::ct::RenderAPI, std::shared_ptrbs::ct::RenderWindow))(std::shared_ptrbs::ct::RenderWindow const&)>::__call<void, , 0ul, 1ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul>) (this=0x5555558512f0,
__args=...) at /usr/include/c++/7/functional:467
#6 0x00007ffff6cc53d7 in std::_Bind<void (bs::ct::RenderAPI::(bs::ct::RenderAPI, std::shared_ptrbs::ct::RenderWindow))(std::shared_ptrbs::ct::RenderWindow const&)>::operator()<, void>() (this=0x5555558512f0) at /usr/include/c++/7/functional:551
#7 0x00007ffff6cc24a0 in std::_Function_handler<void (), std::_Bind<void (bs::ct::RenderAPI::(bs::ct::RenderAPI, std::shared_ptrbs::ct::RenderWindow))(std::shared_ptrbs::ct::RenderWindow const&)> >::_M_invoke(std::_Any_data const&) (__functor=...)
at /usr/include/c++/7/bits/std_function.h:316
#8 0x00007ffff689b0f8 in std::function<void ()>::operator()() const (this=0x5555558271b0) at /usr/include/c++/7/bits/std_function.h:706
#9 0x00007ffff6965988 in bs::CommandQueueBase::playbackWithNotify(std::queue<bs::QueuedCommand, std::deque<bs::QueuedCommand, bs::StdAlloc<bs::QueuedCommand, bs::GenAlloc> > >, std::function<void (unsigned int)>) (this=0x555555826d80, commands=0x555555806610,
notifyCallback=...) at /home/hejia/Projects/interactive-simulation/ids_visualizer/src/bsf/Source/Foundation/bsfCore/CoreThread/BsCommandQueue.cpp:124
---Type to continue, or q to quit---
#10 0x00007ffff6981fef in bs::CoreThread::runCoreThread (this=0x555555826bb0) at /home/hejia/Projects/interactive-simulation/ids_visualizer/src/bsf/Source/Foundation/bsfCore/CoreThread/BsCoreThread.cpp:117
#11 0x00007ffff6987473 in std::__invoke_impl<void, void (bs::CoreThread::
&)(), bs::CoreThread*&> (__f=@0x7fffe4000b40: (void (bs::CoreThread::)(bs::CoreThread * const)) 0x7ffff6981e2a bs::CoreThread::runCoreThread(), __t=@0x7fffe4000b50: 0x555555826bb0)
at /usr/include/c++/7/bits/invoke.h:73
#12 0x00007ffff6986d18 in std::__invoke<void (bs::CoreThread::
&)(), bs::CoreThread*&> (__fn=@0x7fffe4000b40: (void (bs::CoreThread::)(bs::CoreThread * const)) 0x7ffff6981e2a bs::CoreThread::runCoreThread(), __args#0=@0x7fffe4000b50: 0x555555826bb0)
at /usr/include/c++/7/bits/invoke.h:95
#13 0x00007ffff69864df in std::_Bind<void (bs::CoreThread::
(bs::CoreThread*))()>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) (this=0x7fffe4000b40, __args=...) at /usr/include/c++/7/functional:467
#14 0x00007ffff6985a41 in std::_Bind<void (bs::CoreThread::(bs::CoreThread))()>::operator()<, void>() (this=0x7fffe4000b40) at /usr/include/c++/7/functional:551
#15 0x00007ffff6984a83 in std::_Function_handler<void (), std::_Bind<void (bs::CoreThread::(bs::CoreThread))()> >::_M_invoke(std::_Any_data const&) (__functor=...) at /usr/include/c++/7/bits/std_function.h:316
#16 0x00007ffff689b0f8 in std::function<void ()>::operator()() const (this=0x7ffff1bd4c30) at /usr/include/c++/7/bits/std_function.h:706
#17 0x00007ffff68c11ef in bs::PooledThread::run (this=0x555555827320) at /home/hejia/Projects/interactive-simulation/ids_visualizer/src/bsf/Source/Foundation/bsfUtility/Threading/BsThreadPool.cpp:122
#18 0x00007ffff68c485d in std::__invoke_impl<void, void (bs::PooledThread::&)(), bs::PooledThread&> (__f=@0x555555827448: (void (bs::PooledThread::)(bs::PooledThread * const)) 0x7ffff68c10b4 bs::PooledThread::run(), __t=@0x555555827458: 0x555555827320)
at /usr/include/c++/7/bits/invoke.h:73
#19 0x00007ffff68c462a in std::__invoke<void (bs::PooledThread::
&)(), bs::PooledThread*&> (__fn=@0x555555827448: (void (bs::PooledThread::)(bs::PooledThread * const)) 0x7ffff68c10b4 bs::PooledThread::run(), __args#0=@0x555555827458: 0x555555827320)
at /usr/include/c++/7/bits/invoke.h:95
#20 0x00007ffff68c4255 in std::_Bind<void (bs::PooledThread::
(bs::PooledThread*))()>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) (this=0x555555827448, __args=...) at /usr/include/c++/7/functional:467
#21 0x00007ffff68c3d23 in std::_Bind<void (bs::PooledThread::(bs::PooledThread))()>::operator()<, void>() (this=0x555555827448) at /usr/include/c++/7/functional:551
#22 0x00007ffff68c3463 in std::__invoke_impl<void, std::_Bind<void (bs::PooledThread::(bs::PooledThread))()>>(std::__invoke_other, std::_Bind<void (bs::PooledThread::(bs::PooledThread))()>&&) (__f=...) at /usr/include/c++/7/bits/invoke.h:60
#23 0x00007ffff68c2bf7 in std::__invoke<std::_Bind<void (bs::PooledThread::(bs::PooledThread))()>>(std::_Bind<void (bs::PooledThread::(bs::PooledThread))()>&&) (__fn=...) at /usr/include/c++/7/bits/invoke.h:95
---Type to continue, or q to quit---
#24 0x00007ffff68c4b50 in std::thread::_Invoker<std::tuple<std::_Bind<void (bs::PooledThread::(bs::PooledThread))()> > >::_M_invoke<0ul>(std::_Index_tuple<0ul>) (this=0x555555827448) at /usr/include/c++/7/thread:234
#25 0x00007ffff68c4b0c in std::thread::_Invoker<std::tuple<std::_Bind<void (bs::PooledThread::(bs::PooledThread))()> > >::operator()() (this=0x555555827448) at /usr/include/c++/7/thread:243
#26 0x00007ffff68c4ac4 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<std::_Bind<void (bs::PooledThread::(bs::PooledThread))()> > > >::_M_run() (this=0x555555827440) at /usr/include/c++/7/thread:186
#27 0x00007ffff549c57f in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#28 0x00007ffff45516db in start_thread (arg=0x7ffff1bd5700) at pthread_create.c:463
#29 0x00007ffff4d7188f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Any idea would be appreciated!

@BearishSun
Copy link
Member

BearishSun commented Dec 20, 2018

This exact same version of the binary (without any recompilation) works in the IDE?

Normally I would suggest this has something to do with a different working path, but I doubt it's so in this case as the code crashes in OpenGL which shouldn't care about the path. Perhaps a different version of some library gets loaded? Does CLion modify LD_LIBRARY_PATH environment variable or some other library search path?

I'm currently on Ubuntu 18.10, also working with CLion and compiling with GCC. I'm able to run the example projects both from the IDE and from the terminal. Make sure to check the issue happens with latest master and with the example projects.

@BearishSun BearishSun added type: bug Something isn't working need more information Further information is requested labels Dec 23, 2018
@BearishSun BearishSun added this to the Longterm milestone Dec 23, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
need more information Further information is requested type: bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants