Debugging a plugin, how to get a more detailed crash log?


(ffx) #1

Hi,

I would like to debug a specific plugin. It often crashes “in the GUI”, Renoise then write very cryptic messages in its log (see below). Is there any way to get a much more detailed crash log? The system crash dialogue does not pop up for instance, any way to make it use the system crash dialogue?

CrashLog: 0 libsystem_platform.dylib 0x00007fff66945f5a _sigtramp + 26
CrashLog: 1 ??? 0x0000000000000070 0x0 + 112
CrashLog: 0 libsystem_platform.dylib 0x00007fff60e3ef5a _sigtramp + 26
CrashLog: 1 ??? 0x37447fff92a3caf0 0x0 + 3982448706155956976
CrashLog: 2 Renoise 0x0000000100e54657 Renoise + 15025751
CrashLog: 3 Renoise 0x0000000100e491e2 Renoise + 14979554
CrashLog: 4 Renoise 0x00000001002b3524 Renoise + 2831652
CrashLog: 5 Renoise 0x00000001002b3f1e Renoise + 2834206
CrashLog: 6 Renoise 0x00000001002a4807 Renoise + 2770951
CrashLog: 7 Renoise 0x00000001002b1a28 Renoise + 2824744
CrashLog: 8 Renoise 0x0000000100e1b0e9 Renoise + 14790889
CrashLog: 9 Renoise 0x0000000100e570dd Renoise + 15036637
CrashLog: 10 Renoise 0x0000000100ab237b Renoise + 11215739
CrashLog: 11 Foundation 0x00007fff3a995739 __NSFireTimer + 83
CrashLog: 12 CoreFoundation 0x00007fff38838064 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 20
CrashLog: 13 CoreFoundation 0x00007fff38837cd7 __CFRunLoopDoTimer + 1095
CrashLog: 14 CoreFoundation 0x00007fff388377da __CFRunLoopDoTimers + 346
CrashLog: 15 CoreFoundation 0x00007fff3882edab __CFRunLoopRun + 2427
CrashLog: 16 CoreFoundation 0x00007fff3882e1a3 CFRunLoopRunSpecific + 483
CrashLog: 17 HIToolbox 0x00007fff37b16d96 RunCurrentEventLoopInMode + 286
CrashLog: 18 HIToolbox 0x00007fff37b16b06 ReceiveNextEventCommon + 613
CrashLog: 19 HIToolbox 0x00007fff37b16884 _BlockUntilNextEventMatchingListInModeWithFilter + 64
CrashLog: 20 AppKit 0x00007fff35dc9a73 _DPSNextEvent + 2085
CrashLog: 21 AppKit 0x00007fff3655fe34 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 3044
CrashLog: 22 AppKit 0x00007fff35dbe885 -[NSApplication run] + 764
CrashLog: 23 Renoise 0x0000000100a79002 Renoise + 10981378
CrashLog: 24 Renoise 0x000000010000687c Renoise + 26748
CrashLog: 25 Renoise 0x000000010000623c Renoise + 25148
CrashLog: 26 Renoise 0x0000000100001914 Renoise + 6420
CrashLog: 27 ??? 0x0000000000000001 0x0 + 1
CrashLog: 0 libsystem_platform.dylib 0x00007fff60e3ef5a _sigtramp + 26

Application: Saving a backup...

CrashLog: 1 ??? 0x0000000000000000 0x0 + 0
CrashLog: 2 libsystem_c.dylib 0x00007fff60bdc1ae abort + 127
CrashLog: 3 libsystem_malloc.dylib 0x00007fff60cebdc1 nanozone_error + 502
CrashLog: 4 libsystem_malloc.dylib 0x00007fff60cdfd5a _nano_malloc_check_clear + 410
CrashLog: 5 libsystem_malloc.dylib 0x00007fff60cdfb9f nano_malloc + 35
CrashLog: 6 libsystem_malloc.dylib 0x00007fff60cd91bd malloc_zone_malloc + 103
CrashLog: 7 libsystem_malloc.dylib 0x00007fff60cd84c7 malloc + 24
CrashLog: 8 libsystem_blocks.dylib 0x00007fff60b7e8b3 _Block_copy + 52
CrashLog: 9 libxpc.dylib 0x00007fff60e82f66 _xpc_Block_copy_impl + 47
CrashLog: 10 libxpc.dylib 0x00007fff60e836ae xpc_connection_send_message_with_reply + 172
CrashLog: 11 Foundation 0x00007fff3abe67b7 -[NSXPCConnection _sendInvocation:orArguments:count:methodSignature:selector:withProxy:] + 4496
CrashLog: 12 Foundation 0x00007fff3abe5618 -[NSXPCConnection _sendInvocation:withProxy:] + 89
CrashLog: 13 CoreFoundation 0x00007fff3882a55b ___forwarding___ + 667
CrashLog: 14 CoreFoundation 0x00007fff3882a238 _CF_forwarding_prep_0 + 120
CrashLog: 15 SharedFileList 0x00007fff39ffae60 __77-[SFLGenericList resolveItemWithIdentifier:options:relativeToURL:completion:]_block_invoke + 752
CrashLog: 16 libdispatch.dylib 0x00007fff60afe64a _dispatch_call_block_and_release + 12
CrashLog: 17 libdispatch.dylib 0x00007fff60af6e08 _dispatch_client_callout + 8
CrashLog: 18 libdispatch.dylib 0x00007fff60b03d15 _dispatch_queue_override_invoke + 880
CrashLog: 19 libdispatch.dylib 0x00007fff60af89f9 _dispatch_root_queue_drain + 515
CrashLog: 20 libdispatch.dylib 0x00007fff60af87a5 _dispatch_worker_thread3 + 101
CrashLog: 21 libsystem_pthread.dylib 0x00007fff60e48169 _pthread_wqthread + 1387
CrashLog: 22 libsystem_pthread.dylib 0x00007fff60e47be9 start_wqthread + 13

What can you read from the above crash entries? Is it always the same problem, is it really a problem in the plugins’ gui, or could it be anywhere in the plugin? The first entry seems to be from a release build, so you will get more lines if it is a debug build?

Thank you for info!


#2

Is it always the same problem, is it really a problem in the plugins’ gui, or could it be anywhere in the plugin?

If you are performing the same thing to cause a crash ffx, chances are it will be the same problem, chances are you will get the same crash log output. For the second questions it could be in the plugin, or, it could be in Renoise, or, it could be the interaction between Renoise and the plugin, or, the interaction between the plugin and Renoise, or the interaction between the plugin and the OS… you get the idea. With a debug build of Renoise Taktik (who is Taktik?) would rather than see:

CrashLog: 2 Renoise 0x0000000100e54657 Renoise + 15025751

he would probably see:

CrashLog: 2 Renoise 0x0000000100e54657 functhatcausesffxheadacheonmacosx+103

Let’s say that the problem lies just in the plugin. Let’s say it was a stray pointer. I can tell you now that the chances of you fixing it from what you have (which would be just the plugin binary) would be very very difficult. All you can do is tell the developer of the plugin where the program is crashing (in other words show a crash log). Would the developer listen? Don’t know, depends on the developer. I mean some developers produce programs then go gallivanting off onto other projects (or give up) for years. Renoise will always crash. Even if Taktiks (who is Taktik?) code was 100% flawless, because of the reliance on external code (including the underlying OS.)


(ffx) #3

4tey, thank you very much for that insight. This is about the vst synth vps avenger, I really hoped it can be my one and only all capable synth. Sadly it is pretty often crashing on macos in all daws, and it seems to me that the devs are not common to debug on macos (developing on Windows mainly). So I wanted to provide at least a most detailed crash log. I now found that bitwig actually writes crash log s to a subdir, and these are looking pretty similar to the macos crashlogs, which look to me a bit more detailed. It even looks like it was crashing inside the opengl code.