kmatheussen / radium

A graphical music editor. A next generation tracker.
http://users.notam02.no/~kjetism/radium/
GNU General Public License v2.0
851 stars 36 forks source link

[NSM] Radium crashes at the end of closing a session #1329

Closed grammoboy2 closed 3 years ago

grammoboy2 commented 3 years ago

When closing a session in Non-Session-Manager, Radium crashed at the end. I think version 6.6.77 introduced it

Timing issue, related with? https://github.com/kmatheussen/radium/issues/1328

FULL VERSION Custom build -is_crash-signum: 11

6.6.77

OS version: unknown

OpenGL vendor: Intel Open Source Technology Center OpenGL renderer: Mesa DRI Intel(R) HD Graphics 3000 (SNB GT2) OpenGL version: 3.0 Mesa 20.2.6 OpenGL flags: 107f

Runtime Qt version: 5.15.2 on x86_64 Compile-time Qt version:5.15.2 for x86_64-little_endian-lp64.

Running plugins:

Running time: 299.11 seconds.

Last painter: : api/api_gui.cpp line 2291.

Time since last received MIDI message: 299110ms

0: crashreporter_posix.c:109 CRASHREPORTER_send_message_with_backtrace() 1: crashreporter_posix.c:148 crash() 2: ??:0 restore_rt() 3: ??:0 _ZNSt6vectorIiSaIiEE19_M_emplace_backauxIJRKiEEEvDpOT() 4: ??:0 ZNSt8functionIFvvEEC1ERKS1() 5: ??:0 ZNSt8functionIFvvEEC1ERKS1() 6: ??:0 _ZNSt6vectorIiSaIiEE19_M_emplace_backauxIJRKiEEEvDpOT() 7: ??:0 _ZNSt6vectorIiSaIiEE19_M_emplace_backauxIJRKiEEEvDpOT() 8: ??:0 _ZNSt6vectorIcSaIcEE12emplacebackIJcEEEvDpOT() 9: ??:0 restore_rt() 10: ??:0 poll() 11: ??:0 g_main_context_dispatch() 12: ??:0 g_main_context_iteration() 13: ??:0 _ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE() 14: ??:0 _ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE() 15: ??:0 _ZN16QCoreApplication4execEv() 16: Qt_Main.cpp:3498 radium_main() 17: api_common.cpp:84 init_radium() 18: radium_wrap.c:586 _wrap_init_radium() 19: ??:0 PyEval_EvalFrameEx() 20: ??:0 PyEval_EvalCodeEx() 21: ??:0 PyEval_EvalCode() 22: ??:0 PyRun_FileExFlags() 23: ??:0 _PyBuiltin_Init() 24: ??:0 PyEval_EvalFrameEx() 25: ??:0 PyEval_EvalCodeEx() 26: ??:0 PyEval_EvalCode() 27: ??:0 PyRun_StringFlags() 28: ??:0 PyRun_SimpleStringFlags() 29: Qt_Main.cpp:4394 main() 30: ??:0 libc_start_main() 31: ??:0 _start()

start event_pos: 58 6.119011: playSongFromPos [py] 6.119013: getLastSongPosStart [py] 6.119020: isPlaying [py] 290.707244: sampler_plugin: delete_data 3 290.707325: sampler_plugin: delete_data 2 290.707329: sampler_plugin: delete_data 1 290.710187: 290.710273: 290.713802: System Length Voice 5

290.713882: 0

290.978100: sampler_plugin: delete_data 3 290.978180: sampler_plugin: delete_data 2 290.978183: sampler_plugin: delete_data 1 290.978614: load_sample_with_libsndfile -/home/$USERNAME/NSM Sessions/radium/swing/Radium.nUXXH/243749unfametronome-1khz-weak-pulse.flac- 290.978668: load_xi_instrument -/home/$USERNAME/NSM Sessions/radium/swing/Radium.nUXXH/243749unfametronome-1khz-weak-pulse.flac- 290.980088: ��wu'V 290.980242:  291.039439: sampler_plugin: delete_data 3 291.039562: sampler_plugin: delete_data 2 291.039565: sampler_plugin: delete_data 1 291.040964: 291.041066: @��r'V 291.046563: 0

291.046627: time_format

291.108702: sampler_plugin: delete_data 3 291.108779: sampler_plugin: delete_data 2 291.108782: sampler_plugin: delete_data 1 291.110133: 291.110179: 291.113701: BOOL_TYPE

291.113779: 1

291.175978: sampler_plugin: delete_data 3 291.176065: sampler_plugin: delete_data 2 291.176069: sampler_plugin: delete_data 1 291.178563: 291.178607: 8yu'V 291.184969: 2

291.185118: INT_TYPE

294.570672: Undo: Close: mixergui/QM_MixerWidget.cpp line 2875. 294.570672: Undo: Open Rec: mixergui/QM_MixerWidget.cpp line 2858. 294.570673: Undo: Close: mixergui/QM_MixerWidget.cpp line 2875. 294.574416: Undo: Open Rec: mixergui/QM_MixerWidget.cpp line 2858. 294.574423: Undo: Close: mixergui/QM_MixerWidget.cpp line 2875. 294.578690: Undo: Open Rec: mixergui/QM_MixerWidget.cpp line 2858. 294.578692: Undo: Close: mixergui/QM_MixerWidget.cpp line 2875. 294.582458: Undo: Open Rec: mixergui/QM_MixerWidget.cpp line 2858. 294.582459: Undo: Close: mixergui/QM_MixerWidget.cpp line 2875. 294.586358: Undo: Open Rec: mixergui/QM_MixerWidget.cpp line 2858. 294.586359: Undo: Close: mixergui/QM_MixerWidget.cpp line 2875. 294.590356: Undo: Open Rec: mixergui/QM_MixerWidget.cpp line 2858. 294.590357: Undo: Close: mixergui/QM_MixerWidget.cpp line 2875. 294.590594: sampler_plugin: delete_data 3 294.590776: sampler_plugin: delete_data 2 294.590852: sampler_plugin: delete_data 1 294.599966: Undo: Open Rec: mixergui/QM_MixerWidget.cpp line 2858. 294.599968: Undo: Close: mixergui/QM_MixerWidget.cpp line 2875. 294.604662: Undo: Open Rec: mixergui/QM_MixerWidget.cpp line 2858. 294.604664: Undo: Close: mixergui/QM_MixerWidget.cpp line 2875. 294.621596: Undo: Open Rec: mixergui/QM_MixerWidget.cpp line 2858. 294.621597: Undo: Close: mixergui/QM_MixerWidget.cpp line 2875. 294.625805: Undo: Open Rec: mixergui/QM_MixerWidget.cpp line 2858. 294.625806: Undo: Close: mixergui/QM_MixerWidget.cpp line 2875. 294.630756: Undo: Open Rec: mixergui/QM_MixerWidget.cpp line 2858. 294.651665: Undo_are_you_sure_questionmark 4 294.651665: Undo_are_you_sure_questionmark 3 294.651667: Undo_are_you_sure_questionmark 2 294.651669: Undo_are_you_sure_questionmark 1 295.318475: Plugin Ladspa / Calf MultiChorus LADSPA not found. Replacing with a Pipe. 295.636103: sampler_plugin: delete_data 3 295.636179: sampler_plugin: delete_data 2 295.636182: sampler_plugin: delete_data 1 295.636736: S 295.636783: S 295.638326: S 295.640495: S 295.998364: Undo: Close: mixergui/QM_MixerWidget.cpp line 2875. 295.998365: Undo: Open Rec: mixergui/QM_MixerWidget.cpp line 2858. 296.002535: Undo_are_you_sure_questionmark 4 296.002536: Undo_are_you_sure_questionmark 3 296.002537: Undo_are_you_sure_questionmark 2 296.002537: Undo_are_you_sure_questionmark 1 296.385546: SelectWBlock 4 296.385851: SelectWBlock 3 296.385852: SelectWBlock 2 296.385852: SelectWBlock 1 296.795375: addKeybinding [py] 296.795406: addKeybinding [py] 296.795442: addKeybinding [py] 296.795473: addKeybinding [py] 296.795507: addKeybinding [py] 296.795539: addKeybinding [py] 296.795606: addKeybinding [py] 296.795639: addKeybinding [py] 296.795671: addKeybinding [py] 296.795702: addKeybinding [py] 296.795733: addKeybinding [py] 296.795763: addKeybinding [py] 296.795798: addKeybinding [py] 296.795827: addKeybinding [py] 296.795856: addKeybinding [py] end event_pos: 58

LINUX

/etc/os-release: PRETTY_NAME="Debian GNU/Linux bullseye/sid" NAME="Debian GNU/Linux" ID=$USERNAME HOME_URL="https://www.$USERNAME.org/" SUPPORT_URL="https://www.$USERNAME.org/support" BUG_REPORT_URL="https://bugs.$USERNAME.org/"

/proc/version: Linux version 5.9.0-4-rt-amd64 ($USERNAME-kernel@lists.$USERNAME.org) (gcc-10 (Debian 10.2.0-19) 10.2.0, GNU ld (GNU Binutils for Debian) 2.35.1) #1 SMP PREEMPT_RT Debian 5.9.11-1 (2020-11-27)

/proc/cpuinfo: processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 42 model name : Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz stepping : 7 microcode : 0x2f cpu MHz : 2492.165 cache size : 3072 KB physical id : 0 siblings : 2 core id : 0 cpu cores : 2 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 13 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 ds_cpl smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm epb pti ssbd ibrs ibpb stibp xsaveopt dtherm arat pln pts md_clear flush_l1d bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit bogomips : 4984.33 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management:

processor : 1 vendor_id : GenuineIntel cpu family : 6 model : 42 model name : Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz stepping : 7 microcode : 0x2f cpu MHz : 2492.172 cache size : 3072 KB physical id : 0 siblings : 2 core id : 1 cpu cores : 2 apicid : 2 initial apicid : 2 fpu : yes fpu_exception : yes cpuid level : 13 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 ds_cpl smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm epb pti ssbd ibrs ibpb stibp xsaveopt dtherm arat pln pts md_clear flush_l1d bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit bogomips : 4984.33 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management:

window manager: DESKTOP_SESSION: LXDE GDMSESSION: lightdm-xsession. XDG_SESSION_TYPE: x11 Probably not using Wayland

Qt environment variables: QT_ACCESSIBILITY=1 QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/x86_64-linux-gnu/qt5/plugins

HOMEPATH: -/home/$USERNAME- PROGRAMPATH: -/opt/radium-

uzr123x commented 3 years ago

jeez, you've added 26 issues in 10 days..

grammoboy2 commented 3 years ago

Yes, I do report if I find a issue and it would be nice if others did the same, certainly when it is a crash. Then I wouldn't have to issue them all and get the blame :)

uzr123x commented 3 years ago

I mean, can't they all be combined into few bigger issues?

kmatheussen commented 3 years ago

I have no idea why it crashes, but from the bactrace I would guess it's a plugin that crashes when being deleted. Why do you think it's related to NSM?

kmatheussen commented 3 years ago

Seems like the crash is related to std::vector, not necessarily a plugin. I have no idea why it's crashing. Can you reproduce it?

kmatheussen commented 3 years ago

This is a hard one if it's crashing for you but not for me. Does it happen if you just create a clean session and then closes it?

grammoboy2 commented 3 years ago

I think it's related to NSM, because every time Radium crashes in at the end of closing a NSM session for certain sessions. If I open the same file outside NSM and quit Radium, I don't get a crash message.

When I make a new session, I'm not experiencing this problem at the moment. Maybe it has to do with Renoise Redux plugin, I was testing with. When I remove it, problem seems to be gone, all though will need to explore this further.

(By the way, to remove a plugin completely, you need to remove it from the mixer? )

grammoboy2 commented 3 years ago

But then, still the question is why it would crash inside NSM and not outside ... hmm.

kmatheussen commented 3 years ago

Yeah, you have to remove it from the mixer. Have you tried loading a crashing-session, remove Redux, and then close? Does it crash then?

grammoboy2 commented 3 years ago

Is the timing right, between Radiums NSM OCS messages and nsmd? That would be my first thought as a 'not-programmer'.

Which seems to be the case here too? https://github.com/kmatheussen/radium/commit/331ff0769add603104767a94947daee9a96672b3

kmatheussen commented 3 years ago

No, #1328 should be harmless.

grammoboy2 commented 3 years ago

Yeah, you have to remove it from the mixer. Have you tried loading a crashing-session, remove Redux, and then close? Does it crash then?

It looks like removing it from the mixer did solve it indeed.

kmatheussen commented 3 years ago

Or perhaps not, I'm not entirely sure. I'll make a new release. It might make a difference, but probably not a weird cleanup-crash, which this looks like.

kmatheussen commented 3 years ago

When you close Radium, do you see these messages in the terminal before the crash?:

DelayDeleteData: Downcounting 10
DelayDeleteData: Downcounting 9
DelayDeleteData: Downcounting 8
DelayDeleteData: Downcounting 7
DelayDeleteData: Downcounting 6
DelayDeleteData: Downcounting 5
...

If Redux spends more than 10 seconds to close down, we just give up and quit the program. It might be possible that Redux crashes if it's not shut down properly.

grammoboy2 commented 3 years ago

Then there is this bug too, which is the most problematic obviously. That one also loads fine outside NSM. https://github.com/kmatheussen/radium/issues/1331

grammoboy2 commented 3 years ago

When you close Radium, do you see these messages in the terminal before the crash?:

DelayDeleteData: Downcounting 10
DelayDeleteData: Downcounting 9
DelayDeleteData: Downcounting 8
DelayDeleteData: Downcounting 7
DelayDeleteData: Downcounting 6
DelayDeleteData: Downcounting 5
...

If Redux spends more than 10 seconds to close down, we just give up and quit the program. It might be possible that Redux crashes if it's not shut down properly.

Non-session-manager doesn't give me that info, maybe if I use a 'debug' switch or so... But outside, it give me:

Jack: JackShmReadWritePtr::~JackShmReadWritePtr 0 Jack: Succeeded in unlocking 107341338 byte memory area Jack: jack_client_close res = 0 ENDING 6 ENDING 6.5 Ending MIDI instrument DelayDeleteData: Downcounting 10 ENDING 7 ENDING 8 ENDING 9 ENDING 10 ENDING 11 ENDING 12 ENDING B 1 ENDING B 2 PLUGINHOST_shut_down: about to... DelayDeleteData: Downcounting 10 DelayDeleteData: Downcounting 10 DelayDeleteData: Downcounting 9 DelayDeleteData: Downcounting 9 DelayDeleteData: Downcounting 9 DelayDeleteData: Downcounting 8 DelayDeleteData: Downcounting 8 DelayDeleteData: Downcounting 8 DelayDeleteData: Deleting. ~Data called Renoise Redux LOG> Redux: Releasing plugin shell instance... Renoise Redux LOG> Redux: Shutting down graphport... Renoise Redux LOG> Redux: Releasing preferences... Renoise Redux LOG> Redux: Shutting down MIDI subsystems... Renoise Redux LOG> MIDI-IO: Shutting down the MIDI sequencers... Renoise Redux LOG> Redux: Shutting down audio subsystems... Renoise Redux LOG> Redux: Releasing player engine... Renoise Redux LOG> Redux: Finalizing the API... Renoise Redux LOG> Closing log file... DelayDeleteData: Deleting. ~Data called DelayDeleteData: Deleting. ~Data called PLUGINHOST_shut_down: Got it My pid: 85914

kmatheussen commented 3 years ago

So it seems like redux is closed properly when not using NSM. Can you open non-session-manager from a terminal? I see all terminal-messages printed by radium when running in nsm as well.

kmatheussen commented 3 years ago

I can reproduce the crash.

grammoboy2 commented 3 years ago

[non-mixer] Your fun is over [nsmd] Loop 1 [nsmd] Client JACKPatch terminated because we told it to. [nsmd] Client patchage terminated because we told it to. [nsmd] Client Non-Mixer terminated because we told it to. [nsmd] Client Carla terminated because we told it to. [nsmd] Client ZynAddSubFX terminated because we told it to. [nsmd] Client sends dirty [nsmd] Loop 2 [nsmd] Loop 3 calling run_program. Filename: /tmp/radium_linux.bin.eevQsd. base64: L3RtcC9yYWRpdW1fbGludXguYmluLmVldlFzZA== Executing -LD_LIBRARY_PATH= /opt/radium/radium_crashreporter L3RtcC9yYWRpdW1fbGludXguYmluLmVldlFzZA== PG5vcGx1Z2lubmFtZXM+ PG5vZW1lcmdlbmN5c2F2ZT4= is_crash&- Got message: FULL VERSION Custom build -is_crash-signum: 11

6.6.77

OS version: unknown

OpenGL vendor: Intel Open Source Technology Center OpenGL renderer: Mesa DRI Intel(R) HD Graphics 3000 (SNB GT2) OpenGL version: 3.0 Mesa 20.3.2 OpenGL flags: 107f

Runtime Qt version: 5.15.2 on x86_64 Compile-time Qt version:5.15.2 for x86_64-little_endian-lp64.

Running plugins:

Running time: 93.4577 seconds.

Last painter: : Qt/Qt_MyQLabel.h line 40.

Time since last received MIDI message: 93457.7ms

0: crashreporter_posix.c:109 CRASHREPORTER_send_message_with_backtrace() 1: crashreporter_posix.c:148 crash() 2: sigaction.c:0 restore_rt() 3: ??:0 _ZNSt6vectorIiSaIiEE19_M_emplace_backauxIJRKiEEEvDpOT() 4: ??:0 ZNSt8functionIFvvEEC1ERKS1() 5: ??:0 ZNSt8functionIFvvEEC1ERKS1() 6: ??:0 _ZNSt6vectorIiSaIiEE19_M_emplace_backauxIJRKiEEEvDpOT() 7: ??:0 _ZNSt6vectorIiSaIiEE19_M_emplace_backauxIJRKiEEEvDpOT() 8: ??:0 _ZNSt6vectorIcSaIcEE12emplacebackIJcEEEvDpOT() 9: sigaction.c:0 restore_rt() 10: sendto.c:27 __libc_sendto() 11: ??:0 lo_address_get_iface() 12: ??:0 lo_send_message_from() 13: api_osc.cpp:444 sendOscMessageFrom() 14: radium_s7_wrap.c:29917 radium_s7_sendOscMessageFrom() 15: s7.c:88387 op_c_fx() 16: s7.c:52166 s7_call() 17: scheme.cpp:720 _ZL10catch_callP9s7_schemeP7s7_cell() 18: scheme.cpp:814 s7extra_applyFunc_dyn() 19: api_osc.cpp:287 operator()() 20: threading.cpp:154 _Z25THREADING_call_very_oftenv() 21: Qt_Main.cpp:2444 _ZN12_GLOBALN_118CalledPeriodically15calledFromTimerEv() 22: ??:0 _ZN7QObject5eventEP6QEvent() 23: ??:0 _ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent() 24: ??:0 _ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent() 25: ??:0 _ZN14QTimerInfoList14activateTimersEv() 26: ??:0 _ZN20QEventDispatcherGlib5flushEv() 27: ??:0 g_main_context_dispatch() 28: ??:0 g_main_context_dispatch() 29: ??:0 g_main_context_iteration() 30: ??:0 _ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE() 31: ??:0 _ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE() 32: ??:0 _ZN16QCoreApplication4execEv() 33: Qt_Main.cpp:3498 radium_main() 34: api_common.cpp:84 init_radium() 35: radium_wrap.c:586 _wrap_init_radium() 36: ??:0 PyEval_EvalFrameEx() 37: ??:0 PyEval_EvalCodeEx() 38: ??:0 PyEval_EvalCode() 39: ??:0 PyRun_FileExFlags() 40: ??:0 _PyBuiltin_Init() 41: ??:0 PyEval_EvalFrameEx() 42: ??:0 PyEval_EvalCodeEx() 43: ??:0 PyEval_EvalCode() 44: ??:0 PyRun_StringFlags() 45: ??:0 PyRun_SimpleStringFlags() 46: Qt_Main.cpp:4394 main() 47: libc-start.c:308 libc_start_main() 48: ??:0 _start()

start event_pos: 62 80.195054: sampler_plugin: delete_data 3 80.195143: sampler_plugin: delete_data 2 80.195147: sampler_plugin: delete_data 1 80.197517: # 80.197644: 0

80.201841: FLOAT_TYPE

80.201915: 0

80.283446: sampler_plugin: delete_data 3 80.283535: sampler_plugin: delete_data 2 80.283539: sampler_plugin: delete_data 1 80.286529: load_sample_with_libsndfile -/home/debian/NSM Sessions/radium/test019122020_orig/Radium.nVYTO/016.WAV- 80.286718: 0

80.292096: 80.293857: 84.693896: sampler_plugin: delete_data 3 84.693975: sampler_plugin: delete_data 2 84.693978: sampler_plugin: delete_data 1 84.694927: 84.694996: load_xi_instrument -/home/debian/NSM Sessions/radium/test019122020_orig/Radium.nVYTO/dh_snr_syn_808er.flac- 84.698099: 0

84.698181: BOOL_TYPE

84.765245: sampler_plugin: delete_data 3 84.765331: sampler_plugin: delete_data 2 84.765334: sampler_plugin: delete_data 1 84.766847: load_sample_with_libsndfile -/home/debian/NSM Sessions/radium/test019122020_orig/Radium.nVYTO/bs_kick_001.flac- 84.766915: load_xi_instrument -/home/debian/NSM Sessions/radium/test019122020_orig/Radium.nVYTO/bs_kick_001.flac- 84.769818: 0

84.769888: 7: Slot 8

84.837776: sampler_plugin: delete_data 3 84.837886: sampler_plugin: delete_data 2 84.837892: sampler_plugin: delete_data 1 84.840890: 84.840962: �MU�U 84.843643: 1

84.843710: INT_TYPE

84.991838: sampler_plugin: delete_data 3 84.991929: sampler_plugin: delete_data 2 84.991932: sampler_plugin: delete_data 1 84.992356: 84.992421: Grain Ramp

84.993680: load_sample_with_libsndfile -/opt/radium/sounds/243749unfameSystem Start Voice 1

84.993753: load_xi_instrument -/opt/radium/0

88.902402: Undo: Close: mixergui/QM_MixerWidget.cpp line 2875. 88.902402: Undo: Open Rec: mixergui/QM_MixerWidget.cpp line 2858. 88.902403: Undo: Close: mixergui/QM_MixerWidget.cpp line 2875. 88.906688: Undo: Open Rec: mixergui/QM_MixerWidget.cpp line 2858. 88.906698: Undo: Close: mixergui/QM_MixerWidget.cpp line 2875. 88.911547: Undo: Open Rec: mixergui/QM_MixerWidget.cpp line 2858. 88.911548: Undo: Close: mixergui/QM_MixerWidget.cpp line 2875. 88.916788: Undo: Open Rec: mixergui/QM_MixerWidget.cpp line 2858. 88.916790: Undo: Close: mixergui/QM_MixerWidget.cpp line 2875. 88.920990: Undo: Open Rec: mixergui/QM_MixerWidget.cpp line 2858. 88.920993: Undo: Close: mixergui/QM_MixerWidget.cpp line 2875. 88.925960: Undo: Open Rec: mixergui/QM_MixerWidget.cpp line 2858. 88.925962: Undo: Close: mixergui/QM_MixerWidget.cpp line 2875. 88.926140: sampler_plugin: delete_data 3 88.926319: sampler_plugin: delete_data 2 88.926395: sampler_plugin: delete_data 1 88.931762: Undo: Open Rec: mixergui/QM_MixerWidget.cpp line 2858. 88.931763: Undo: Close: mixergui/QM_MixerWidget.cpp line 2875. 88.939301: Undo: Open Rec: mixergui/QM_MixerWidget.cpp line 2858. 88.939303: Undo: Close: mixergui/QM_MixerWidget.cpp line 2875. 88.949573: Undo: Open Rec: mixergui/QM_MixerWidget.cpp line 2858. 88.949575: Undo: Close: mixergui/QM_MixerWidget.cpp line 2875. 88.953947: Undo: Open Rec: mixergui/QM_MixerWidget.cpp line 2858. 88.953948: Undo: Close: mixergui/QM_MixerWidget.cpp line 2875. 88.958621: Undo: Open Rec: mixergui/QM_MixerWidget.cpp line 2858. 89.009280: Undo_are_you_sure_questionmark 4 89.009280: Undo_are_you_sure_questionmark 3 89.009281: Undo_are_you_sure_questionmark 2 89.009281: Undo_are_you_sure_questionmark 1 89.736212: Plugin Ladspa / Calf MultiChorus LADSPA not found. Replacing with a Pipe. 90.066145: sampler_plugin: delete_data 3 90.066237: sampler_plugin: delete_data 2 90.066240: sampler_plugin: delete_data 1 90.066733: m On/Off Voice 4

90.066818: 0

90.068500: l 90.068592: \ PATCH_V2

90.454365: Undo: Close: mixergui/QM_MixerWidget.cpp line 2875. 90.454366: Undo: Open Rec: mixergui/QM_MixerWidget.cpp line 2858. 90.458500: Undo_are_you_sure_questionmark 4 90.458500: Undo_are_you_sure_questionmark 3 90.458501: Undo_are_you_sure_questionmark 2 90.458501: Undo_are_you_sure_questionmark 1 90.857739: SelectWBlock 4 90.858002: SelectWBlock 3 90.858003: SelectWBlock 2 90.858004: SelectWBlock 1 91.181246: addKeybinding [py] 91.181277: addKeybinding [py] 91.181310: addKeybinding [py] 91.181341: addKeybinding [py] 91.181373: addKeybinding [py] 91.181404: addKeybinding [py] 91.181435: addKeybinding [py] 91.181465: addKeybinding [py] 91.181498: addKeybinding [py] 91.181528: addKeybinding [py] 91.181558: addKeybinding [py] end event_pos: 62

LINUX

/etc/os-release: PRETTY_NAME="Debian GNU/Linux bullseye/sid" NAME="Debian GNU/Linux" ID=debian HOME_URL="https://www.debian.org/" SUPPORT_URL="https://www.debian.org/support" BUG_REPORT_URL="https://bugs.debian.org/"

/proc/version: Linux version 5.9.0-5-rt-amd64 (debian-kernel@lists.debian.org) (gcc-10 (Debian 10.2.1-1) 10.2.1 20201207, GNU ld (GNU Binutils for Debian) 2.35.1) #1 SMP PREEMPT_RT Debian 5.9.15-1 (2020-12-17)

/proc/cpuinfo: processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 42 model name : Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz stepping : 7 microcode : 0x2f cpu MHz : 2491.927 cache size : 3072 KB physical id : 0 siblings : 2 core id : 0 cpu cores : 2 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 13 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 ds_cpl smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm epb pti ssbd ibrs ibpb stibp xsaveopt dtherm arat pln pts md_clear flush_l1d bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit bogomips : 4983.86 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management:

processor : 1 vendor_id : GenuineIntel cpu family : 6 model : 42 model name : Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz stepping : 7 microcode : 0x2f cpu MHz : 2491.934 cache size : 3072 KB physical id : 0 siblings : 2 core id : 1 cpu cores : 2 apicid : 2 initial apicid : 2 fpu : yes fpu_exception : yes cpuid level : 13 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 ds_cpl smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm epb pti ssbd ibrs ibpb stibp xsaveopt dtherm arat pln pts md_clear flush_l1d bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit bogomips : 4983.86 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management:

window manager: DESKTOP_SESSION: LXDE GDMSESSION: lightdm-xsession. XDG_SESSION_TYPE: x11 Probably not using Wayland

Qt environment variables: LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:.tar=01;31:.tgz=01;31:.arc=01;31:.arj=01;31:.taz=01;31:.lha=01;31:.lz4=01;31:.lzh=01;31:.lzma=01;31:.tlz=01;31:.txz=01;31:.tzo=01;31:.t7z=01;31:.zip=01;31:.z=01;31:.dz=01;31:.gz=01;31:.lrz=01;31:.lz=01;31:.lzo=01;31:.xz=01;31:.zst=01;31:.tzst=01;31:.bz2=01;31:.bz=01;31:.tbz=01;31:.tbz2=01;31:.tz=01;31:.deb=01;31:.rpm=01;31:.jar=01;31:.war=01;31:.ear=01;31:.sar=01;31:.rar=01;31:.alz=01;31:.ace=01;31:.zoo=01;31:.cpio=01;31:.7z=01;31:.rz=01;31:.cab=01;31:.wim=01;31:.swm=01;31:.dwm=01;31:.esd=01;31:.jpg=01;35:.jpeg=01;35:.mjpg=01;35:.mjpeg=01;35:.gif=01;35:.bmp=01;35:.pbm=01;35:.pgm=01;35:.ppm=01;35:.tga=01;35:.xbm=01;35:.xpm=01;35:.tif=01;35:.tiff=01;35:.png=01;35:.svg=01;35:.svgz=01;35:.mng=01;35:.pcx=01;35:.mov=01;35:.mpg=01;35:.mpeg=01;35:.m2v=01;35:.mkv=01;35:.webm=01;35:.webp=01;35:.ogm=01;35:.mp4=01;35:.m4v=01;35:.mp4v=01;35:.vob=01;35:.qt=01;35:.nuv=01;35:.wmv=01;35:.asf=01;35:.rm=01;35:.rmvb=01;35:.flc=01;35:.avi=01;35:.fli=01;35:.flv=01;35:.gl=01;35:.dl=01;35:.xcf=01;35:.xwd=01;35:.yuv=01;35:.cgm=01;35:.emf=01;35:.ogv=01;35:.ogx=01;35:.aac=00;36:.au=00;36:.flac=00;36:.m4a=00;36:.mid=00;36:.midi=00;36:.mka=00;36:.mp3=00;36:.mpc=00;36:.ogg=00;36:.ra=00;36:.wav=00;36:.oga=00;36:.opus=00;36:.spx=00;36:.xspf=00;36: QT_ACCESSIBILITY=1 QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/x86_64-linux-gnu/qt5/plugins QT_SCALE_FACTOR_ROUNDING_POLICY=PassThrough

qt.qpa.xcb: QXcbConnection: XCB error: 5 (BadAtom), sequence: 478, resource id: 0, major code: 20 (GetProperty), minor code: 0 [nsmd] Loop 4 [nsmd] Client Radium terminated because we told it to. [nsmd] Loop 5 [nsmd] All clients have died. [nsmd] Done [non-session-manager] /nsm/server/close says Closed.

kmatheussen commented 3 years ago

I don't know. I looks like redux sets up a sigint handler, which is triggered when nsm sends sigint to close a client (not a good solution by nsm in my opinion).

bt
#0  0x00007fff642e3786 in ?? () from /home/kjetil/vst/Renoise_Redux_1_2_1_Demo_Linux/renoise_redux_x86_64/renoise_redux.so
#1  0x00007fff642f7153 in ?? () from /home/kjetil/vst/Renoise_Redux_1_2_1_Demo_Linux/renoise_redux_x86_64/renoise_redux.so
#2  0x00007fff642f78f3 in ?? () from /home/kjetil/vst/Renoise_Redux_1_2_1_Demo_Linux/renoise_redux_x86_64/renoise_redux.so
#3  0x00007fff642e5a77 in ?? () from /home/kjetil/vst/Renoise_Redux_1_2_1_Demo_Linux/renoise_redux_x86_64/renoise_redux.so
#4  0x00007fff642e5bbf in ?? () from /home/kjetil/vst/Renoise_Redux_1_2_1_Demo_Linux/renoise_redux_x86_64/renoise_redux.so
#5  0x00007fff640a3410 in ?? () from /home/kjetil/vst/Renoise_Redux_1_2_1_Demo_Linux/renoise_redux_x86_64/renoise_redux.so
#6  <signal handler called>
#7  0x00007ffff42d8ca0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#8  0x00007ffff40a9505 in _xcb_conn_wait () from /home/kjetil/radium/bin/packages/libxcb-1.13/src/.libs/libxcb.so.1
#9  0x00007ffff40ab535 in wait_for_reply () from /home/kjetil/radium/bin/packages/libxcb-1.13/src/.libs/libxcb.so.1
#10 0x00007ffff40ab64f in xcb_wait_for_reply () from /home/kjetil/radium/bin/packages/libxcb-1.13/src/.libs/libxcb.so.1
#11 0x00007ffff40b591f in xcb_get_input_focus_reply () from /home/kjetil/radium/bin/packages/libxcb-1.13/src/.libs/libxcb.so.1
#12 0x00007fffd5adacba in QXcbConnection::sync() () from /home/kjetil/qt-5.15/lib/libQt5XcbQpa.so.5
#13 0x00007fffd5af0555 in ?? () from /home/kjetil/qt-5.15/lib/libQt5XcbQpa.so.5
#14 0x00007fffd5af08c0 in ?? () from /home/kjetil/qt-5.15/lib/libQt5XcbQpa.so.5
#15 0x00007ffff33a601d in QBackingStore::beginPaint(QRegion const&) () from /home/kjetil/qt-5.15/lib/libQt5Gui.so.5
#16 0x00007ffff1d10d90 in ?? () from /home/kjetil/qt-5.15/lib/libQt5Widgets.so.5
#17 0x00007ffff1d3e51d in QWidget::event(QEvent*) () from /home/kjetil/qt-5.15/lib/libQt5Widgets.so.5
#18 0x00007ffff1d0112f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /home/kjetil/qt-5.15/lib/libQt5Widgets.so.5
#19 0x00007ffff2b5507a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /home/kjetil/qt-5.15/lib/libQt5Core.so.5
#20 0x00007ffff2b57821 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /home/kjetil/qt-5.15/lib/libQt5Core.so.5
#21 0x00007ffff2ba97c3 in ?? () from /home/kjetil/qt-5.15/lib/libQt5Core.so.5
#22 0x00007ffff3bb72a6 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#23 0x00007ffff3bb7628 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#24 0x00007ffff3bb76dc in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#25 0x00007ffff2ba8eaf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/kjetil/qt-5.15/lib/libQt5Core.so.5
#26 0x00007ffff2b53bbb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/kjetil/qt-5.15/lib/libQt5Core.so.5

I don't know why Ardour doesn't crash in NSM when running redux though, if this is the reason.

kmatheussen commented 3 years ago

It's not unlikely that Redux crashes in Ardour crashes as well, but since Ardour doesn't have a crashreporter, this might go unnoticed.

grammoboy2 commented 3 years ago

I don't know. I looks like redux sets up a sigint handler, which is triggered when nsm sends sigint to close a client (not a good solution by nsm in my opinion).

I'm not able to judge. All I can say that other clients doesn't seems to have problems with how NSM handles this. The original author is quite active again recently, so he's probably the right person to discuss this with.

Maybe Redux is doing the wrong thing here. But yes, why doesn't make it Ardour crash. Hm. I'll update the redux plugin, maybe that helps.

Anyway, could it be that version 6.6.77 introduced it? It did in my experience. You added a patch to disable autoconnect when under NSM IIRC. Could be coincidence, but I started experiencing this with version 6.6.77 IIRC.

kmatheussen commented 3 years ago

Ardour crashes too, I just checked. It's just that a crash in Ardour is silent, while in Radium you have a crashreporter:

(gdb) bt
#0  0x00007fff81f66786 in ?? () from /home/kjetil/vst/Renoise_Redux_1_2_1_Demo_Linux/renoise_redux_x86_64/renoise_redux.so
#1  0x00007fff81f7a153 in ?? () from /home/kjetil/vst/Renoise_Redux_1_2_1_Demo_Linux/renoise_redux_x86_64/renoise_redux.so
#2  0x00007fff81f7a8f3 in ?? () from /home/kjetil/vst/Renoise_Redux_1_2_1_Demo_Linux/renoise_redux_x86_64/renoise_redux.so
#3  0x00007fff81f68a77 in ?? () from /home/kjetil/vst/Renoise_Redux_1_2_1_Demo_Linux/renoise_redux_x86_64/renoise_redux.so
#4  0x00007fff81f68bbf in ?? () from /home/kjetil/vst/Renoise_Redux_1_2_1_Demo_Linux/renoise_redux_x86_64/renoise_redux.so
#5  0x00007fff81d26410 in ?? () from /home/kjetil/vst/Renoise_Redux_1_2_1_Demo_Linux/renoise_redux_x86_64/renoise_redux.so
#6  <signal handler called>
#7  0x00007fffed0418ad in poll () from /lib64/libc.so.6
#8  0x00007ffff4784ad5 in ?? () from /opt/Ardour-5.12.0/lib/libglib-2.0.so.0
#9  0x00007ffff4784be5 in g_main_loop_run () from /opt/Ardour-5.12.0/lib/libglib-2.0.so.0
#10 0x00007ffff3bea647 in gtk_main () from /opt/Ardour-5.12.0/lib/libgtk-x11-2.0.so.0
#11 0x00007ffff5b7be94 in Gtkmm2ext::UI::run(Receiver&) () from /opt/Ardour-5.12.0/lib/libgtkmm2ext.so.0
#12 0x00000000008dbb0a in ?? ()
#13 0x00007fffecf78d65 in __libc_start_main () from /lib64/libc.so.6
kmatheussen commented 3 years ago

Oh, and I've reported the problem.

grammoboy2 commented 3 years ago

Thanks for your work. So you think this is a problem in NSM or Redux?

kmatheussen commented 3 years ago

Not sure. Redux might have a good reason to set up a signal handler, I don't know. In any case, it's a bit messy by NSM to send SIGINT to tell a client to quit.

On Sat, Jan 16, 2021 at 4:35 PM grammoboy notifications@github.com wrote:

Thanks for your work. So you think this is a problem in NSM or Redux?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

grammoboy2 commented 3 years ago

Not sure. Redux might have a good reason to set up a signal handler, I don't know. In any case, it's a bit messy by NSM to send SIGINT to tell a client to quit.

Ok. IIRC this is acknowledged by the NSM author, but practically the best available option probably.

kmatheussen commented 3 years ago

I think NSM can be improved by adding another osc-message for clients to listen to, to quit, instead of sending SIGINT.

But, Redux seems to be the one to blame here since Radium always crashes if it receives SIGINT while Redux is running. NSM doesn't have to run.

On Sat, Jan 16, 2021 at 4:46 PM grammoboy notifications@github.com wrote:

Not sure. Redux might have a good reason to set up a signal handler, I don't know. In any case, it's a bit messy by NSM to send SIGINT to tell a client to quit.

Ok. IIRC this is acknowledged by the NSM author, but practically the best available option probably.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/kmatheussen/radium/issues/1329#issuecomment-761584625, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAIX3JZDFBCRNU2TPESCRP3S2GYEFANCNFSM4VJAKBJA .

kmatheussen commented 3 years ago

This should be fixed in the next Redux release (if it hasn't already been released). They apologized for not replying earlier since they've had trouble with a too aggressive spam filter.