Commit Graph

22362 Commits

Author SHA1 Message Date
Franke Burgarino
7379cec4ef Fix typos 2026-01-08 11:05:47 -06:00
Robin Gareus
c2a01645b4 Print action list using mono-space text (and proper line spacing) 2026-01-08 17:05:32 +01:00
Robin Gareus
0be808ec3c Add option to skip printing action list 2026-01-08 16:55:13 +01:00
Robin Gareus
c86bb05945 Properly match Launchkey interface/device names #10109 2026-01-08 16:15:54 +01:00
Robin Gareus
3ba1a8087e Tweak keybindings print layout
This addresses issues with US-Letter format where headings
may have line-breaks. With a line-height < 1 text overlaps.
2026-01-08 14:40:05 +01:00
Robin Gareus
253f883521 NO-OP: Remove unused header 2026-01-07 13:53:24 +01:00
Robin Gareus
7d7ac589e3 Add "empty" check to BasicUI 2026-01-07 13:52:51 +01:00
Franke Burgarino
8c745ff78c MCU: Fix "Disabled" option for Function Keys
Choosing some option and then trying to remove it by clicking "Disabled"
previously did nothing. Now sets it back to blank. Also fixed for Tascam
US-2400.
2026-01-06 17:07:09 -06:00
Robin Gareus
3f9fe81da9 Extend ctrl surface API to be more flexible when creating markers 2026-01-06 21:21:56 +01:00
Paul Davis
ee4d673da1 minor change in exception handling while testing issue on macOS 2026-01-06 10:13:17 -07:00
Paul Davis
7e9c73b807 gtkmm2ext: fix a bug that can arise when using ad-hoc Gtk::Actions with non-standard paths 2026-01-05 16:23:17 -07:00
Robin Gareus
e1c21bc619 Expose some Session statistics as Lua bindings 2026-01-06 00:05:09 +01:00
Robin Gareus
30d97eb92d Add method to check if Session is empty
Empty means that it contains some tracks or user-addedd
busses or VCA (not counting master, monitor, surround busses).

This is motivated by A&H control-surface.
2026-01-06 00:03:05 +01:00
Damien Zammit
dc7a95c54f import_pt: Fix for multichannel tracks and regions #9705
Also speeds up PT imports during region creation.
This is because regions are imported immediately when sources
are grouped into multichannels rather than doing it in another pass
2026-01-06 09:19:21 +11:00
Damien Zammit
d1ffeb7038 import_pt: Use new bulk create method for adding tracks #9730
Speeds up imports tremendously.
2026-01-06 09:19:03 +11:00
Damien Zammit
27653eaeba session: Add new_audio_routes_tracks_bulk() method
This allows bulk creating tracks with different name templates.
Simply call the bulk method multiple times as required and finally
call add_routes() once.
2026-01-06 09:15:27 +11:00
Colin Fletcher
f026a8acbf soundcloud, freesound: use correct curl option for progress bars
Although setting CURLOPT_PROGRESSDATA appears to work to set the pointer
passed into the new CURL_XFERINFOFUNCTION option, the documented option is
now CURLOPT_XFERINFODATA.
2026-01-05 18:09:15 +00:00
Robin Gareus
f5e48a6bda Update curl to use new API (1/2) 2026-01-05 16:41:17 +01:00
Robin Gareus
ab724881e3 Remove unused deprecated GTimeVal in global header
This significantly reduces compiler warnings..
2026-01-05 03:33:02 +01:00
Martin Vlk
1420b67edb Czech translation updates for v9.0 2026-01-03 15:22:48 +01:00
Paul Davis
9855a23903 MIDI triggers: make sure velocity scaling is not cumulative (see comments) 2026-01-02 17:32:48 -07:00
Paul Davis
267efab6e8 remove typo from magit process 2026-01-01 20:29:06 -07:00
Paul Davis
a144d3e80d temporal: when resetting the tempo map, stop at BBT markers
This was always the intended behavior, but not implemented even
close to that intention.
2026-01-01 20:11:12 -07:00
Paul Davis
bbf5bd6043 temporal: provide a map to get the BBT reference point before a superclock time 2026-01-01 20:11:12 -07:00
Paul Davis
52c7d6ab77 temporal: customize the implementation of get_tempo_and_meter for BBT_Time
We must not walk past a MusicTimePoint if the reftime is a BBT_Argument.

May try to fold this back into the fully-templated version in a subsequent commit.
2026-01-01 20:11:12 -07:00
Paul Davis
e53ba509df temporal: move operator<< for tempo map types before TempoMap
This allows us to use them inside the header when defining
TempoMap methods there.
2026-01-01 20:11:12 -07:00
Paul Davis
2be3421576 include AnyTime::BBT_Offset in handled cases, even if we just fatal()-out 2026-01-01 20:11:12 -07:00
Robin Gareus
8c81e40028 Amend 45b940d (v2 session bus convert) 2026-01-01 23:19:11 +01:00
Robin Gareus
45b940d648 Convert v2 and v3 busses to modern Ardour #10089 2026-01-01 22:28:52 +01:00
Robin Gareus
5677d30d3e Fix loading 2.x sessions (forced set_active toggle) 2026-01-01 22:17:21 +01:00
Ayan Shafqat
730e4425dc aarch64: apply absolute value to peak computation 2025-12-30 10:51:29 -05:00
Ayan Shafqat
98eab68044 aarch64: fix unaligned count and peak computation
Clamp misaligned prefix loops to the remaining frame count to avoid
nframes underflow and potential out-of-bounds access for small buffers.

Apply vabsq_f32() to all SIMD loads before peak reduction to ensure
correct absolute peak calculation in unrolled NEON paths.
2025-12-29 20:12:43 -05:00
Paul Davis
bb973f18dc remove debug output 2025-12-29 15:56:56 -07:00
Paul Davis
c8a4260f5c rename some variables in Session::import_files to make their purpose more clear 2025-12-29 15:51:04 -07:00
Paul Davis
1ee76f4178 Fix for importing SMF Type 1 files with one track containing only meta-data (#10076)
This fails when done via direct import into a cue slot which assumes that all sources created
must be associated with the region, and that each source must have a model.

This change drops the metadata-only track/source from being returned by Session::import_files()

Note that in order to avoid refcnt'ing from prolonging the life of the source we want to drop,
we do not announce the sources when they are created, but defer that until we know they are
going to be used post-import
2025-12-29 15:48:38 -07:00
Paul Davis
30de221be5 libardour: add FileSource::mark_removable()
This might not actually be necessary, but the symmetry is nice
2025-12-29 15:40:01 -07:00
Paul Davis
8f815e21ea temporal: rename Point::sample() to Point::sample_is_dangerous()
It is risky to take the sample value returned by this method and then convert it back
to either superclocks or beats, mostly because tempo & meter times are generally in
music time, and converting from superclocks to samples loses precision.

This rename is there to serve as a reminder to developers to be careful when using
this method
2025-12-29 09:14:02 -07:00
Robin Gareus
41c90a2063 Fix MIDI import edge-case when doubling allocation is insufficient
MIDI file from #10079 - see also 65332e603b
2025-12-29 09:23:56 +01:00
Paul Davis
369fc2c15c temporal: fix a major thinko when removing/replacing map points
Despite comments already in the code, the logic used to remove a
{Tempo,Meter,BarTime} point from the _points list was incorrect. While it is
true that we can use a duple of (type,time) to find a given point,
::remove_point() was not doing that and instead assumed just the time value
could be used.

This meant that if you placed a tempo and meter at the same point in time, then
changed one of them, ::remove_point() could remove the wrong point from the
_points list.

In #10063 this manifests as the wrong grid being drawn after a tempo point
edit.

This commit alters the ::core_remove_xxx() methods to return a pointer to the
actual Point object that was removed from {_tempos,_meters,_bartimes} and then
we pass that to ::remove_point() for lookup and removal by address.

It also "fixes" a couple of instances of ::core_remove_xxx() without any
removal from the _points list (since ::core_remove_tempo() and
::core_remove_meter() do not do this; ::core_remove_bartime() does,
however). It is not immediately obvious what bad behavior would arise from the
existing code in these cases, but it seems clearly incorrect that the _points
list would contain points no longer present in _tempos or _meters.
2025-12-27 12:14:49 -07:00
Paul Davis
f1b80cdbe1 temporal: add & use a couple of TempMap methods for unit testing 2025-12-27 12:14:49 -07:00
Paul Davis
f742ef661b temporal: slightly improve addRemoveTest 2025-12-27 12:14:49 -07:00
Paul Davis
fee0af27cf temporal: new addRemoveTest unit test 2025-12-27 12:14:49 -07:00
Edgar Aichinger
ea940a3a53 update german translation 2025-12-20 16:58:43 +01:00
John Emmas
8a3b7f3701 A minor comment change 2025-12-20 12:27:09 +00:00
John Emmas
841ec1c838 Revert some code that got removed accidentally
...but keep the new code that's needed for Stephen's build
2025-12-20 12:14:53 +00:00
Robin Gareus
46a03a9328 Who needs unistd.h, now that we have glibmm? 2025-12-18 16:09:13 +01:00
Robin Gareus
635916bf7a Fix crash when group becomes empty but has a subgroup
Session::route_removed_from_route_group() did not delete
the group when it had a subgroup associated with it.
This way it was possible to have an empty track-group that
resulted in various edge-case crashes/assert().
2025-12-17 18:35:45 +01:00
Robin Gareus
13dc1b1058 Don't allow to deactivate master/monitor/surround busses 2025-12-17 14:40:21 +01:00
Paul Davis
a90edc3e1b when the last route is removed from a RouteGroup-with-VCA, drop weak ref to VCA 2025-12-16 22:30:17 -07:00
Robin Gareus
4ad6ffec3d Fix crash at exit when route-groups are deleted by route drop ref
==1914112==ERROR: AddressSanitizer: heap-use-after-free on address 0x619000483688 at pc 0x7f5b10be03c5 bp 0x7fff55e36670 sp 0x7fff55e36668
READ of size 8 at 0x619000483688 thread T0
    #0 0x7f5b10be03c4 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count(std::__weak_count<(__gnu_cxx::_Lock_policy)2> const&, std::nothrow_t) /usr/include/c++/10/bits/shared_ptr_base.h:911
    #1 0x7f5b1190ecee in std::__shared_ptr<ARDOUR::VCA, (__gnu_cxx::_Lock_policy)2>::__shared_ptr(std::__weak_ptr<ARDOUR::VCA, (__gnu_cxx::_Lock_policy)2> const&, std::nothrow_t) /usr/include/c++/10/bits/shared_ptr_base.h:1382
    #2 0x7f5b1190cc3e in std::shared_ptr<ARDOUR::VCA>::shared_ptr(std::weak_ptr<ARDOUR::VCA> const&, std::nothrow_t) /usr/include/c++/10/bits/shared_ptr.h:417
    #3 0x7f5b1190aaae in std::weak_ptr<ARDOUR::VCA>::lock() const /usr/include/c++/10/bits/shared_ptr.h:749
    #4 0x7f5b118fea7e in ARDOUR::RouteGroup::remove(std::shared_ptr<ARDOUR::Route>) ../libs/ardour/route_group.cc:267
    #5 0x7f5b118fde6e in ARDOUR::RouteGroup::remove_when_going_away(std::weak_ptr<ARDOUR::Route>) ../libs/ardour/route_group.cc:223
    #6 0x7f5b11912d3d in void std::__invoke_impl<void, void (ARDOUR::RouteGroup::*&)(std::weak_ptr<ARDOUR::Route>), ARDOUR::RouteGroup*&, std::weak_ptr<ARDOUR::Route>&>(std::__invoke_memfun_deref, void (ARDOUR::RouteGroup::*&)(std::weak_ptr<ARDOUR::Route>), ARDOUR::RouteGroup*&, std::weak_ptr<ARDOUR::Route>&) /usr/include/c++/10/bits/invoke.h:73
    #7 0x7f5b119128c8 in std::__invoke_result<void (ARDOUR::RouteGroup::*&)(std::weak_ptr<ARDOUR::Route>), ARDOUR::RouteGroup*&, std::weak_ptr<ARDOUR::Route>&>::type std::__invoke<void (ARDOUR::RouteGroup::*&)(std::weak_ptr<ARDOUR::Route>), ARDOUR::RouteGroup*&, std::weak_ptr<ARDOUR::Route>&>(void (ARDOUR::RouteGroup::*&)(std::weak_ptr<ARDOUR::Route>), ARDOUR::RouteGroup*&, std::weak_ptr<ARDOUR::Route>&) /usr/include/c++/10/bits/invoke.h:95
    #8 0x7f5b119125bc in void std::_Bind<void (ARDOUR::RouteGroup::*(ARDOUR::RouteGroup*, std::weak_ptr<ARDOUR::Route>))(std::weak_ptr<ARDOUR::Route>)>::__call<void, , 0ul, 1ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul>) /usr/include/c++/10/functional:416
    #9 0x7f5b11911fdc in void std::_Bind<void (ARDOUR::RouteGroup::*(ARDOUR::RouteGroup*, std::weak_ptr<ARDOUR::Route>))(std::weak_ptr<ARDOUR::Route>)>::operator()<, void>() /usr/include/c++/10/functional:499
    #10 0x7f5b11910e79 in void std::__invoke_impl<void, std::_Bind<void (ARDOUR::RouteGroup::*(ARDOUR::RouteGroup*, std::weak_ptr<ARDOUR::Route>))(std::weak_ptr<ARDOUR::Route>)>&>(std::__invoke_other, std::_Bind<void (ARDOUR::RouteGroup::*(ARDOUR::RouteGroup*, std::weak_ptr<ARDOUR::Route>))(std::weak_ptr<ARDOUR::Route>)>&) /usr/include/c++/10/bits/invoke.h:60
    #11 0x7f5b1190f187 in std::enable_if<is_invocable_r_v<void, std::_Bind<void (ARDOUR::RouteGroup::*(ARDOUR::RouteGroup*, std::weak_ptr<ARDOUR::Route>))(std::weak_ptr<ARDOUR::Route>)>&>, void>::type std::__invoke_r<void, std::_Bind<void (ARDOUR::RouteGroup::*(ARDOUR::RouteGroup*, std::weak_ptr<ARDOUR::Route>))(std::weak_ptr<ARDOUR::Route>)>&>(std::_Bind<void (ARDOUR::RouteGroup::*(ARDOUR::RouteGroup*, std::weak_ptr<ARDOUR::Route>))(std::weak_ptr<ARDOUR::Route>)>&) /usr/include/c++/10/bits/invoke.h:110
    #12 0x7f5b1190d26a in std::_Function_handler<void (), std::_Bind<void (ARDOUR::RouteGroup::*(ARDOUR::RouteGroup*, std::weak_ptr<ARDOUR::Route>))(std::weak_ptr<ARDOUR::Route>)> >::_M_invoke(std::_Any_data const&) /usr/include/c++/10/bits/std_function.h:291
    #13 0x558120310619 in std::function<void ()>::operator()() const /usr/include/c++/10/bits/std_function.h:622
    #14 0x7f5b10bcb0d6 in PBD::SignalWithCombiner<PBD::OptionalLastValue<void>, void ()>::operator()() ../libs/pbd/pbd/signals.h:508
    #15 0x7f5b10bc779b in PBD::Destructible::drop_references() ../libs/pbd/pbd/destructible.h:33
    #16 0x7f5b1196700f in ARDOUR::Session::destroy() ../libs/ardour/session.cc:822
    #17 0x7f5b11962f93 in ARDOUR::Session::~Session() ../libs/ardour/session.cc:581
    #18 0x7f5b119639a9 in ARDOUR::Session::~Session() ../libs/ardour/session.cc:582
    #19 0x558120305a92 in close_session ../luasession/luasession.cc:366
    #20 0x55812031911c in luabridge::FuncTraits<void (*)(), void (*)()>::call(void (*)(), luabridge::TypeListValues<void>) ../libs/lua/LuaBridge/detail/FuncTraits.h:73
    #21 0x5581203151eb in luabridge::CFunc::Call<void (*)(), void>::f(lua_State*) ../libs/lua/LuaBridge/detail/CFunctions.h:244
    #22 0x55812035701f in luaD_precall ../libs/lua/lua-5.3.5/ldo.c:434
    #23 0x55812038f1bd in luaV_execute ../libs/lua/lua-5.3.5/lvm.c:1136
    #24 0x5581203579a8 in luaD_call ../libs/lua/lua-5.3.5/ldo.c:499
    #25 0x558120357a80 in luaD_callnoyield ../libs/lua/lua-5.3.5/ldo.c:509
    #26 0x558120346f82 in f_call ../libs/lua/lua-5.3.5/lapi.c:943
    #27 0x558120354e59 in luaD_rawrunprotected ../libs/lua/lua-5.3.5/ldo.c:142
    #28 0x55812035924f in luaD_pcall ../libs/lua/lua-5.3.5/ldo.c:729
    #29 0x558120347226 in lua_pcallk ../libs/lua/lua-5.3.5/lapi.c:969
    #30 0x558120393ae9 in LuaState::do_command(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) ../libs/lua/luastate.cc:64
    #31 0x558120306da8 in interactive_interpreter ../luasession/luasession.cc:514
    #32 0x558120307b36 in main ../luasession/luasession.cc:641
    #33 0x7f5b0e40dd79 in __libc_start_main ../csu/libc-start.c:308
    #34 0x558120303179 in _start (/home/rgareus/src/ardour/build/luasession/luasession+0x7a179)

0x619000483688 is located 264 bytes inside of 952-byte region [0x619000483580,0x619000483938)
freed by thread T0 here:
    #0 0x7f5b12cac467 in operator delete(void*, unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:172
    #1 0x7f5b118fc486 in ARDOUR::RouteGroup::~RouteGroup() ../libs/ardour/route_group.cc:168
    #2 0x7f5b11c1c34b in std::_Sp_counted_ptr<ARDOUR::RouteGroup*, (__gnu_cxx::_Lock_policy)2>::_M_dispose() /usr/include/c++/10/bits/shared_ptr_base.h:380
    #3 0x55812031249a in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() /usr/include/c++/10/bits/shared_ptr_base.h:158
    #4 0x7f5b10bf9ac4 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&) /usr/include/c++/10/bits/shared_ptr_base.h:752
    #5 0x7f5b11915cac in std::__shared_ptr<ARDOUR::RouteGroup, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<ARDOUR::RouteGroup, (__gnu_cxx::_Lock_policy)2> const&) /usr/include/c++/10/bits/shared_ptr_base.h:1182
    #6 0x7f5b11915cd6 in std::shared_ptr<ARDOUR::RouteGroup>::operator=(std::shared_ptr<ARDOUR::RouteGroup> const&) /usr/include/c++/10/bits/shared_ptr.h:358
    #7 0x7f5b11915b75 in ARDOUR::RouteGroupMember::set_route_group(std::shared_ptr<ARDOUR::RouteGroup>) ../libs/ardour/route_group_member.cc:36
    #8 0x7f5b118fe9fe in ARDOUR::RouteGroup::remove(std::shared_ptr<ARDOUR::Route>) ../libs/ardour/route_group.cc:265
    #9 0x7f5b118fde6e in ARDOUR::RouteGroup::remove_when_going_away(std::weak_ptr<ARDOUR::Route>) ../libs/ardour/route_group.cc:223
    #10 0x7f5b11912d3d in void std::__invoke_impl<void, void (ARDOUR::RouteGroup::*&)(std::weak_ptr<ARDOUR::Route>), ARDOUR::RouteGroup*&, std::weak_ptr<ARDOUR::Route>&>(std::__invoke_memfun_deref, void (ARDOUR::RouteGroup::*&)(std::weak_ptr<ARDOUR::Route>), ARDOUR::RouteGroup*&, std::weak_ptr<ARDOUR::Route>&) /usr/include/c++/10/bits/invoke.h:73
    #11 0x7f5b119128c8 in std::__invoke_result<void (ARDOUR::RouteGroup::*&)(std::weak_ptr<ARDOUR::Route>), ARDOUR::RouteGroup*&, std::weak_ptr<ARDOUR::Route>&>::type std::__invoke<void (ARDOUR::RouteGroup::*&)(std::weak_ptr<ARDOUR::Route>), ARDOUR::RouteGroup*&, std::weak_ptr<ARDOUR::Route>&>(void (ARDOUR::RouteGroup::*&)(std::weak_ptr<ARDOUR::Route>), ARDOUR::RouteGroup*&, std::weak_ptr<ARDOUR::Route>&) /usr/include/c++/10/bits/invoke.h:95
    #12 0x7f5b119125bc in void std::_Bind<void (ARDOUR::RouteGroup::*(ARDOUR::RouteGroup*, std::weak_ptr<ARDOUR::Route>))(std::weak_ptr<ARDOUR::Route>)>::__call<void, , 0ul, 1ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul>) /usr/include/c++/10/functional:416
    #13 0x7f5b11911fdc in void std::_Bind<void (ARDOUR::RouteGroup::*(ARDOUR::RouteGroup*, std::weak_ptr<ARDOUR::Route>))(std::weak_ptr<ARDOUR::Route>)>::operator()<, void>() /usr/include/c++/10/functional:499
    #14 0x7f5b11910e79 in void std::__invoke_impl<void, std::_Bind<void (ARDOUR::RouteGroup::*(ARDOUR::RouteGroup*, std::weak_ptr<ARDOUR::Route>))(std::weak_ptr<ARDOUR::Route>)>&>(std::__invoke_other, std::_Bind<void (ARDOUR::RouteGroup::*(ARDOUR::RouteGroup*, std::weak_ptr<ARDOUR::Route>))(std::weak_ptr<ARDOUR::Route>)>&) /usr/include/c++/10/bits/invoke.h:60
    #15 0x7f5b1190f187 in std::enable_if<is_invocable_r_v<void, std::_Bind<void (ARDOUR::RouteGroup::*(ARDOUR::RouteGroup*, std::weak_ptr<ARDOUR::Route>))(std::weak_ptr<ARDOUR::Route>)>&>, void>::type std::__invoke_r<void, std::_Bind<void (ARDOUR::RouteGroup::*(ARDOUR::RouteGroup*, std::weak_ptr<ARDOUR::Route>))(std::weak_ptr<ARDOUR::Route>)>&>(std::_Bind<void (ARDOUR::RouteGroup::*(ARDOUR::RouteGroup*, std::weak_ptr<ARDOUR::Route>))(std::weak_ptr<ARDOUR::Route>)>&) /usr/include/c++/10/bits/invoke.h:110
    #16 0x7f5b1190d26a in std::_Function_handler<void (), std::_Bind<void (ARDOUR::RouteGroup::*(ARDOUR::RouteGroup*, std::weak_ptr<ARDOUR::Route>))(std::weak_ptr<ARDOUR::Route>)> >::_M_invoke(std::_Any_data const&) /usr/include/c++/10/bits/std_function.h:291
    #17 0x558120310619 in std::function<void ()>::operator()() const /usr/include/c++/10/bits/std_function.h:622
    #18 0x7f5b10bcb0d6 in PBD::SignalWithCombiner<PBD::OptionalLastValue<void>, void ()>::operator()() ../libs/pbd/pbd/signals.h:508
    #19 0x7f5b10bc779b in PBD::Destructible::drop_references() ../libs/pbd/pbd/destructible.h:33
    #20 0x7f5b1196700f in ARDOUR::Session::destroy() ../libs/ardour/session.cc:822
    #21 0x7f5b11962f93 in ARDOUR::Session::~Session() ../libs/ardour/session.cc:581
    #22 0x7f5b119639a9 in ARDOUR::Session::~Session() ../libs/ardour/session.cc:582
    #23 0x558120305a92 in close_session ../luasession/luasession.cc:366
    #24 0x55812031911c in luabridge::FuncTraits<void (*)(), void (*)()>::call(void (*)(), luabridge::TypeListValues<void>) ../libs/lua/LuaBridge/detail/FuncTraits.h:73
    #25 0x5581203151eb in luabridge::CFunc::Call<void (*)(), void>::f(lua_State*) ../libs/lua/LuaBridge/detail/CFunctions.h:244
    #26 0x55812035701f in luaD_precall ../libs/lua/lua-5.3.5/ldo.c:434
    #27 0x55812038f1bd in luaV_execute ../libs/lua/lua-5.3.5/lvm.c:1136
    #28 0x5581203579a8 in luaD_call ../libs/lua/lua-5.3.5/ldo.c:499
    #29 0x558120357a80 in luaD_callnoyield ../libs/lua/lua-5.3.5/ldo.c:509
    #30 0x558120346f82 in f_call ../libs/lua/lua-5.3.5/lapi.c:943
    #31 0x558120354e59 in luaD_rawrunprotected ../libs/lua/lua-5.3.5/ldo.c:142
    #32 0x55812035924f in luaD_pcall ../libs/lua/lua-5.3.5/ldo.c:729
    #33 0x558120347226 in lua_pcallk ../libs/lua/lua-5.3.5/lapi.c:969
    #34 0x558120393ae9 in LuaState::do_command(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) ../libs/lua/luastate.cc:64
    #35 0x558120306da8 in interactive_interpreter ../luasession/luasession.cc:514
    #36 0x558120307b36 in main ../luasession/luasession.cc:641
    #37 0x7f5b0e40dd79 in __libc_start_main ../csu/libc-start.c:308
2025-12-17 03:14:22 +01:00