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

Crash on ArchLinux #321

Open
bda65hp opened this issue Jun 16, 2021 · 12 comments
Open

Crash on ArchLinux #321

bda65hp opened this issue Jun 16, 2021 · 12 comments

Comments

@bda65hp
Copy link

bda65hp commented Jun 16, 2021

Hi all,
After manual compilation (the binary version do not work because there's no libbfd-system here), Ctrlr launch but crash each time i try to open or create a new panel.
With 5.6.0, master and kiosk.
If i compile the Debug version, it work but without any MIDI in/out.

Ctrlr crash at: 16 Jun 2021 11:42:26 Stack trace: ./Ctrlr(+0x614dba) [0x55bf51ededba] ./Ctrlr(+0x553735) [0x55bf51e1d735] ./Ctrlr(+0x60309d) [0x55bf51ecd09d] /usr/lib/libpthread.so.0(+0x13870) [0x7f3c99679870] ./Ctrlr(+0x8bb626) [0x55bf52185626] ./Ctrlr(+0x8bb9d4) [0x55bf521859d4] ./Ctrlr(+0x9f8d64) [0x55bf522c2d64] ./Ctrlr(+0xa0147f) [0x55bf522cb47f] ./Ctrlr(+0xa01fae) [0x55bf522cbfae] ./Ctrlr(+0x8f7ee1) [0x55bf521c1ee1] ./Ctrlr(+0x8e46d2) [0x55bf521ae6d2] ./Ctrlr(+0x562bd4) [0x55bf51e2cbd4] ./Ctrlr(+0x69c24a) [0x55bf51f6624a] ./Ctrlr(+0x69b193) [0x55bf51f65193] ./Ctrlr(+0x69b367) [0x55bf51f65367] ./Ctrlr(+0x2a729c) [0x55bf51b7129c] /usr/lib/libc.so.6(__libc_start_main+0xd5) [0x7f3c98fc5b25] ./Ctrlr(+0x55345e) [0x55bf51e1d45e]

I can send the compilation output if needed.

@keinstein
Copy link

keinstein commented Jun 19, 2021

Can you try https://github.com/keinstein/ctrlr/tree/lua5.2, please? I's for Debian, but maybe it helps for you, too.

See also #294

Edit: I only updated LinuxMakefile so far. And libusb is still disabled.

@keinstein
Copy link

keinstein commented Jun 19, 2021

It could be a duplicate of #168 In that case the backtrace is useless.

@keinstein
Copy link

And it is probably a duplicate of #294 .

@bda65hp
Copy link
Author

bda65hp commented Jun 20, 2021

@keinstein Same problem with your branch on Arch.

I don't know if it's related, but i always need to rewrite the makefile with Projucer. If not, i've got thi error:
Makefile:336: *** target pattern contains no '%'. Stop.

@keinstein
Copy link

This problem is well-known. That's why I just ignore the vst builds and build just the Standalone version as I described in #294.

@bda65hp
Copy link
Author

bda65hp commented Jun 21, 2021

Yes, but it crash in Standalone only version too.

@keinstein
Copy link

check out the branch lua5.2, please and create a backtrace as discussed in #294, please.

@bda65hp
Copy link
Author

bda65hp commented Jun 22, 2021

Debug version do not crash but there's no MIDI in/out.

gdb Ctrlr
GNU gdb (GDB) 10.2
Copyright (C) 2021 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
https://www.gnu.org/software/gdb/bugs/.
Find the GDB manual and other documentation resources online at:
http://www.gnu.org/software/gdb/documentation/.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from Ctrlr...
(gdb) r
Starting program: /home/bruno/src/ctrlr-lua5.2/Builds/LinuxMakefile/build/Ctrlr
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
CTRLR:initialise params ""
[New Thread 0x7ffff6a89640 (LWP 30349)]
BFD::write_output closed read handle: file: /home/bruno/src/ctrlr-lua5.2/Builds/LinuxMakefile/build/Ctrlr temp:

Thread 1 "Ctrlr" received signal SIGSEGV, Segmentation fault.
0x0000555555de3491 in luabind::detail::object_rep::object_rep (this=0x55555770a3a8, instance=0x0, crep_=0x555557531ad8) at ../../Source/Misc/luabind/src/object_rep.cpp:36
36 : m_instance(instance)
(gdb) bt full
#0 0x0000555555de3491 in luabind::detail::object_rep::object_rep (this=0x55555770a3a8, instance=0x0, crep_=0x555557531ad8) at ../../Source/Misc/luabind/src/object_rep.cpp:36
No locals.
#1 0x0000555555de38c3 in luabind::detail::push_new_instance (L=L@entry=0x55555717c050, cls=0x555557531ad8) at ../../Source/Misc/luabind/src/object_rep.cpp:324
storage = 0x55555770a3a8
result =
#2 0x0000555555f2f31d in luabind::detail::make_instance<CtrlrPanel*> (L=L@entry=0x55555717c050, p=p@entry=0x55555749d2b0) at ../../Source/Misc/luabind/luabind/detail/make_instance.hpp:84
dynamic = {first = , second = 0x55555749d2b0}
cls =
instance =
storage =
#3 0x0000555555f37cb8 in luabind::detail::pointer_converter::apply (this=, ptr=0x55555749d2b0, L=0x55555717c050) at ../../Source/Misc/luabind/luabind/detail/policy.hpp:238
No locals.
#4 luabind::detail::push_aux<CtrlrPanel* const, luabind::detail::default_policy> (value=, L=0x55555717c050) at ../../Source/Misc/luabind/luabind/stack.hpp:33
cv = {luabind::detail::pointer_converter = {result = }, }
cv = {luabind::detail::pointer_converter = {result = }, }
#5 luabind::push<CtrlrPanel* const, luabind::detail::null_type> (value=, L=0x55555717c050) at ../../Source/Misc/luabind/luabind/stack.hpp:51
No locals.
#6 luabind::push<CtrlrPanel* const> (value=, L=0x55555717c050) at ../../Source/Misc/luabind/luabind/stack.hpp:57
No locals.
#7 luabind::adl::index_proxyluabind::adl::object::operator=<CtrlrPanel*> (value=, this=) at ../../Source/Misc/luabind/luabind/detail/object.hpp:599
pop = {m_state = , m_n = }
pop = {m_state = , m_n = }
#8 CtrlrLuaManager::assignDefaultObjects (this=0x555556f78b80, L=0x55555717c050) at ../../Source/Lua/CtrlrLuaManager.cpp:244
No locals.
#9 0x0000555555f387e8 in CtrlrLuaManager::CtrlrLuaManager (this=this@entry=0x555556f78b80, _owner=...) at ../../Source/Lua/CtrlrLuaManager.cpp:88
No locals.
#10 0x0000555555e22cdf in CtrlrPanel::CtrlrPanel (this=this@entry=0x55555749d2b0, _owner=..., panelName=..., idx=idx@entry=0) at ../../Source/Core/CtrlrPanel/CtrlrPanel.cpp:56
No locals.
#11 0x0000555555e0e4fa in CtrlrManager::addPanel (this=0x555556e36940, savedState=..., showUI=) at ../../Source/Core/CtrlrManager/CtrlrManager.cpp:174
panel =
#12 0x0000555555e0f9a1 in CtrlrManager::restoreState (this=0x555556e36940, savedTree=...) at ../../Source/Core/CtrlrManager/CtrlrManager.cpp:241
i = 2
mmlock = {juce::Thread::Listener = {_vptr.Listener = 0x555556a0e958 <vtable for juce::MessageManagerLock+16>}, mmLock = {blockingMessage = {referencedObject = 0x0}, lockedEvent = {useManualReset = false, mutex = {std::__mutex_base = {
_M_mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 39 times>, __align = 0}}, },
condition = {_M_cond = {_M_cond = {__data = {{__wseq = 0, __wseq32 = {__low = 0, __high = 0}}, {__g1_start = 0, __g1_start32 = {__low = 0, __high = 0}}, __g_refs = {0, 0}, __g_size = {0, 0}, __g1_orig_size = 0, __wrefs = 0, __g_signals = {
0, 0}}, __size = '\000' <repeats 47 times>, __align = 0}}}, triggered = {_M_base = {static _S_alignment = 1, _M_i = false}}}, abortWait = {value = {<std::__atomic_base> = {static _S_alignment = 4,
_M_i = 0}, }}, lockGained = {value = {<std::__atomic_base> = {static _S_alignment = 4, _M_i = 0}, }}}, locked = true}
#13 0x0000555555e0fc1b in CtrlrManager::restoreState (this=0x555556e36940, savedState=...) at ../../Source/Core/CtrlrManager/CtrlrManager.cpp:258
No locals.
#14 0x0000555555a505ea in CtrlrProcessor::setStateInformation (this=, xmlState=xmlState@entry=0x555556e351a0) at ../../Source/Plugin/CtrlrProcessor.cpp:434
No locals.
#15 0x0000555555a4ed02 in CtrlrStandaloneWindow::CtrlrStandaloneWindow (this=this@entry=0x555556e15a20, title=..., backgroundColour=...) at ../../JUCE/modules/juce_core/memory/juce_ScopedPointer.h:89
xml = {object = 0x555556e351a0}
editor =
xml = {object = }
editor =
ed = {object = {referencedObject = }, listeners = {listeners = {values = {juce::DummyCriticalSection = {}, elements = {data = }, numAllocated = , numUsed = }}}}
r = {pos = {x = , y = }, w = , h = }
#16 0x0000555555a4e058 in CtrlrApplication::initialise (this=this@entry=0x555556e155b0, commandLineParameters=...) at ../../Source/Core/StandaloneWrapper/CtrlrStandaloneApplication.cpp:110
No locals.
#17 0x0000555555ba6cb5 in juce::JUCEApplicationBase::initialiseApp (this=0x555556e155b0) at ../../JUCE/modules/juce_events/messages/juce_ApplicationBase.cpp:297
No locals.
#18 0x00005555557ec864 in juce::JUCEApplicationBase::main () at ../../JUCE/modules/juce_events/messages/juce_ApplicationBase.cpp:256
libraryInitialiser = {}
app = std::unique_ptrjuce::JUCEApplicationBase = {get() = 0x555556e155b0}
#19 0x00007ffff7673b25 in __libc_start_main () from /usr/lib/libc.so.6
No symbol table info available.
#20 0x0000555555a4d20e in _start ()
No symbol table info available.
(gdb)

Thanks for your help.

@keinstein
Copy link

#0 0x0000555555de3491 in luabind::detail::object_rep::object_rep (this=0x55555770a3a8, instance=0x0, crep_=0x555557531ad8) at ../../Source/Misc/luabind/src/object_rep.cpp:36

It seems as you don't use the build system from the lua5.2-branch.
Please use the system provided lua, luabind, boost and lua-bitop (see also https://bbs.archlinux.org/viewtopic.php?id=197531).

And don't use the included luausb library (libusb folder). It is known to crash my system and its too old to be considered.

@bda65hp
Copy link
Author

bda65hp commented Jun 26, 2021

There no more lua-bitop in arch repos.
It's too difficult for me to use Ctrlr on Arch actually.
Provided lua version is 5.4.
I don't know which build system i use. I do make -f pchbuild.mk CONFIG=Release Standalone

Thanks very much for your help.

@keinstein
Copy link

keinstein commented Jun 26, 2021

There no more lua-bitop in arch repos.

Please, take a look at https://archlinux.org/packages/?sort=&q=lua+bitop&maintainer=&flagged=
It seems that you have to enable the Community repository.

It's too difficult for me to use Ctrlr on Arch actually.

Yes, you can help to make it better. I can't do the work for you as I'm working with Debian.

Provided lua version is 5.4.

That's not supported, yet. I chose 5.2 because it fits together on Debian. 5.4 introduces integers which would be a great improvement for Ctrlr, even for existing code. But luabind and possibly other code must be updated in order to support everything from lua5.4.

BTW.: Arch Linux supports lua 5.2 (Extra repository) https://archlinux.org/packages/?sort=&q=lua&maintainer=&flagged=

I don't know which build system i use. I do make -f pchbuild.mk CONFIG=Release Standalone

This is ok. Which brach did you checkout? You need the lua5.2 branch.

Thanks very much for your help.

I help as much as I can. But I can't support the outdated lua libraries that come with the Ctrlr source code.

@bda65hp
Copy link
Author

bda65hp commented Jun 28, 2021

Sorry, my bad. lua52-bitop is in the repos. But there's no luabind. I've compiled one for lua5.2 but there's no object_fwd.h (same source as in Debian stable repo):

bruno@zania LinuxMakefile [lua5.2*] % LANG=C make -f pchbuild.mk CONFIG=Release Standalone
Compiling CtrlrManager.cpp
In file included from ../../Source/Lua/CtrlrLuaObject.h:4,
from ../../Source/Core/CtrlrModulator/CtrlrModulator.h:5,
from ../../Source/Core/CtrlrManager/CtrlrManager.h:3,
from ../../Source/Core/CtrlrManager/CtrlrManager.cpp:2:
../../Source/Lua/CtrlrLuaObjectWrapper.h:4:10: fatal error: luabind/object_fwd.hpp: No such file or directory
4 | #include "luabind/object_fwd.hpp"
| ^~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:355: build/intermediate/Release/CtrlrManager_f2f12d08.o] Error 1

With your lua5.2 branch here

damiensellier pushed a commit to damiensellier/CtrlrX that referenced this issue Feb 6, 2022
- Update luausb (now located in libs)
- Don't build included libusb (fixes RomanKubiak#321)
- Link against system provided libusb on LinuxMakefile

TODO: Windows, MacOS and Code::Blocks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants