WeTransfer / Diagnostics

Allow users to easily share Diagnostics with your support team to improve the flow of fixing bugs.
MIT License
933 stars 53 forks source link

Add JSON data around crash callstack #143

Closed AvdLee closed 1 year ago

AvdLee commented 1 year ago

Even though it's not greatly readable:

CleanShot 2023-03-23 at 11 45 07@2x

It's better than nothing. Critical crashes could be solved by parsing the JSON on a site like jsonlint.com and make it more readable. One needs to symbolicate the threads and addresses, but having these is better than nothing and gives us a start for difficult to solve crashes.

{
    "callStacks": [{
        "threadAttributed": true,
        "callStackRootFrames": [{
            "offsetIntoBinaryTextSegment": 45408,
            "address": 7895789920,
            "sampleCount": 1,
            "subFrames": [{
                "offsetIntoBinaryTextSegment": 29100,
                "address": 8171651500,
                "sampleCount": 1,
                "subFrames": [{
                    "offsetIntoBinaryTextSegment": 134284,
                    "address": 6986943628,
                    "sampleCount": 1,
                    "subFrames": [{
                        "offsetIntoBinaryTextSegment": 72588,
                        "address": 8170863500,
                        "sampleCount": 1,
                        "subFrames": [{
                            "offsetIntoBinaryTextSegment": 6784,
                            "address": 8170797696,
                            "sampleCount": 1,
                            "subFrames": [{
                                "offsetIntoBinaryTextSegment": 122172,
                                "address": 6747135292,
                                "sampleCount": 1,
                                "subFrames": [{
                                    "offsetIntoBinaryTextSegment": 69416,
                                    "address": 8170860328,
                                    "sampleCount": 1,
                                    "subFrames": [{
                                        "offsetIntoBinaryTextSegment": 81612,
                                        "address": 8170872524,
                                        "sampleCount": 1,
                                        "subFrames": [{
                                            "offsetIntoBinaryTextSegment": 104116,
                                            "address": 6747117236,
                                            "sampleCount": 1,
                                            "subFrames": [{
                                                "offsetIntoBinaryTextSegment": 528260,
                                                "address": 6863163268,
                                                "sampleCount": 1,
                                                "subFrames": [{
                                                    "offsetIntoBinaryTextSegment": 4968,
                                                    "address": 7836517224,
                                                    "sampleCount": 1,
                                                    "subFrames": [{
                                                        "offsetIntoBinaryTextSegment": 3807340,
                                                        "address": 6901966956,
                                                        "sampleCount": 1,
                                                        "subFrames": [{
                                                            "offsetIntoBinaryTextSegment": 3806416,
                                                            "address": 6901966032,
                                                            "sampleCount": 1,
                                                            "subFrames": [{
                                                                "offsetIntoBinaryTextSegment": 33956,
                                                                "address": 4378838180,
                                                                "sampleCount": 1,
                                                                "subFrames": [{
                                                                    "offsetIntoBinaryTextSegment": 88416,
                                                                    "address": 7374965088,
                                                                    "sampleCount": 1,
                                                                    "binaryName": "dyld",
                                                                    "binaryUUID": "A3A18068-95AC-304C-96AA-AEF5AA071A8D"
                                                                }],
                                                                "binaryName": "Diagnostics-Example",
                                                                "binaryUUID": "F1BBBC67-4D48-35CE-86D5-1D8D8E0DFF89"
                                                            }],
                                                            "binaryName": "UIKitCore",
                                                            "binaryUUID": "654FF2F0-015F-369C-84B2-27608D64E637"
                                                        }],
                                                        "binaryName": "UIKitCore",
                                                        "binaryUUID": "654FF2F0-015F-369C-84B2-27608D64E637"
                                                    }],
                                                    "binaryName": "GraphicsServices",
                                                    "binaryUUID": "EE18D681-97AC-3FE8-BA47-8613EA5C5BD6"
                                                }],
                                                "binaryName": "CoreFoundation",
                                                "binaryUUID": "159AFDDD-C8E6-3C80-88DF-9D7BD2D9F0DA"
                                            }],
                                            "binaryName": "libobjc.A.dylib",
                                            "binaryUUID": "79BC93BC-DF0F-300A-BD7B-07DCB2E13482"
                                        }],
                                        "binaryName": "libc++abi.dylib",
                                        "binaryUUID": "94CAB44E-88C8-3105-B294-B4A84CB37CF5"
                                    }],
                                    "binaryName": "libc++abi.dylib",
                                    "binaryUUID": "94CAB44E-88C8-3105-B294-B4A84CB37CF5"
                                }],
                                "binaryName": "libobjc.A.dylib",
                                "binaryUUID": "79BC93BC-DF0F-300A-BD7B-07DCB2E13482"
                            }],
                            "binaryName": "libc++abi.dylib",
                            "binaryUUID": "94CAB44E-88C8-3105-B294-B4A84CB37CF5"
                        }],
                        "binaryName": "libc++abi.dylib",
                        "binaryUUID": "94CAB44E-88C8-3105-B294-B4A84CB37CF5"
                    }],
                    "binaryName": "libsystem_c.dylib",
                    "binaryUUID": "872A3077-A853-3D82-BCF4-D2B35D9C8D93"
                }],
                "binaryName": "libsystem_pthread.dylib",
                "binaryUUID": "1DAB93C7-8A37-326C-A3A7-FB5215F52B64"
            }],
            "binaryName": "libsystem_kernel.dylib",
            "binaryUUID": "56153678-AA45-3B39-AA8A-A213974B505A"
        }]
    }, {
        "threadAttributed": false,
        "callStackRootFrames": [{
            "offsetIntoBinaryTextSegment": 2960,
            "address": 8171625360,
            "sampleCount": 1,
            "binaryName": "libsystem_pthread.dylib",
            "binaryUUID": "1DAB93C7-8A37-326C-A3A7-FB5215F52B64"
        }]
    }, {
        "threadAttributed": false,
        "callStackRootFrames": [{
            "offsetIntoBinaryTextSegment": 2960,
            "address": 8171625360,
            "sampleCount": 1,
            "binaryName": "libsystem_pthread.dylib",
            "binaryUUID": "1DAB93C7-8A37-326C-A3A7-FB5215F52B64"
        }]
    }, {
        "threadAttributed": false,
        "callStackRootFrames": [{
            "offsetIntoBinaryTextSegment": 2960,
            "address": 8171625360,
            "sampleCount": 1,
            "binaryName": "libsystem_pthread.dylib",
            "binaryUUID": "1DAB93C7-8A37-326C-A3A7-FB5215F52B64"
        }]
    }, {
        "threadAttributed": false,
        "callStackRootFrames": [{
            "offsetIntoBinaryTextSegment": 19112,
            "address": 7895763624,
            "sampleCount": 1,
            "subFrames": [{
                "offsetIntoBinaryTextSegment": 94148,
                "address": 7895838660,
                "sampleCount": 1,
                "subFrames": [{
                    "offsetIntoBinaryTextSegment": 94724,
                    "address": 7895839236,
                    "sampleCount": 1,
                    "subFrames": [{
                        "offsetIntoBinaryTextSegment": 20460,
                        "address": 7895764972,
                        "sampleCount": 1,
                        "subFrames": [{
                            "offsetIntoBinaryTextSegment": 502484,
                            "address": 6863137492,
                            "sampleCount": 1,
                            "subFrames": [{
                                "offsetIntoBinaryTextSegment": 507160,
                                "address": 6863142168,
                                "sampleCount": 1,
                                "subFrames": [{
                                    "offsetIntoBinaryTextSegment": 528064,
                                    "address": 6863163072,
                                    "sampleCount": 1,
                                    "subFrames": [{
                                        "offsetIntoBinaryTextSegment": 270548,
                                        "address": 6765957332,
                                        "sampleCount": 1,
                                        "subFrames": [{
                                            "offsetIntoBinaryTextSegment": 270268,
                                            "address": 6765957052,
                                            "sampleCount": 1,
                                            "subFrames": [{
                                                "offsetIntoBinaryTextSegment": 5072684,
                                                "address": 6903232300,
                                                "sampleCount": 1,
                                                "subFrames": [{
                                                    "offsetIntoBinaryTextSegment": 374184,
                                                    "address": 6766060968,
                                                    "sampleCount": 1,
                                                    "subFrames": [{
                                                        "offsetIntoBinaryTextSegment": 5836,
                                                        "address": 8171628236,
                                                        "sampleCount": 1,
                                                        "subFrames": [{
                                                            "offsetIntoBinaryTextSegment": 2980,
                                                            "address": 8171625380,
                                                            "sampleCount": 1,
                                                            "binaryName": "libsystem_pthread.dylib",
                                                            "binaryUUID": "1DAB93C7-8A37-326C-A3A7-FB5215F52B64"
                                                        }],
                                                        "binaryName": "libsystem_pthread.dylib",
                                                        "binaryUUID": "1DAB93C7-8A37-326C-A3A7-FB5215F52B64"
                                                    }],
                                                    "binaryName": "Foundation",
                                                    "binaryUUID": "02446407-7BE3-392C-9B07-503C8B8D85CD"
                                                }],
                                                "binaryName": "UIKitCore",
                                                "binaryUUID": "654FF2F0-015F-369C-84B2-27608D64E637"
                                            }],
                                            "binaryName": "Foundation",
                                            "binaryUUID": "02446407-7BE3-392C-9B07-503C8B8D85CD"
                                        }],
                                        "binaryName": "Foundation",
                                        "binaryUUID": "02446407-7BE3-392C-9B07-503C8B8D85CD"
                                    }],
                                    "binaryName": "CoreFoundation",
                                    "binaryUUID": "159AFDDD-C8E6-3C80-88DF-9D7BD2D9F0DA"
                                }],
                                "binaryName": "CoreFoundation",
                                "binaryUUID": "159AFDDD-C8E6-3C80-88DF-9D7BD2D9F0DA"
                            }],
                            "binaryName": "CoreFoundation",
                            "binaryUUID": "159AFDDD-C8E6-3C80-88DF-9D7BD2D9F0DA"
                        }],
                        "binaryName": "libsystem_kernel.dylib",
                        "binaryUUID": "56153678-AA45-3B39-AA8A-A213974B505A"
                    }],
                    "binaryName": "libsystem_kernel.dylib",
                    "binaryUUID": "56153678-AA45-3B39-AA8A-A213974B505A"
                }],
                "binaryName": "libsystem_kernel.dylib",
                "binaryUUID": "56153678-AA45-3B39-AA8A-A213974B505A"
            }],
            "binaryName": "libsystem_kernel.dylib",
            "binaryUUID": "56153678-AA45-3B39-AA8A-A213974B505A"
        }]
    }, {
        "threadAttributed": false,
        "callStackRootFrames": [{
            "offsetIntoBinaryTextSegment": 2960,
            "address": 8171625360,
            "sampleCount": 1,
            "binaryName": "libsystem_pthread.dylib",
            "binaryUUID": "1DAB93C7-8A37-326C-A3A7-FB5215F52B64"
        }]
    }, {
        "threadAttributed": false,
        "callStackRootFrames": [{
            "offsetIntoBinaryTextSegment": 329252,
            "address": 6766016036,
            "sampleCount": 1,
            "subFrames": [{
                "offsetIntoBinaryTextSegment": 4379364,
                "address": 6770066148,
                "sampleCount": 1,
                "subFrames": [{
                    "offsetIntoBinaryTextSegment": 114020,
                    "address": 4378918244,
                    "sampleCount": 1,
                    "subFrames": [{
                        "offsetIntoBinaryTextSegment": 114928,
                        "address": 4378919152,
                        "sampleCount": 1,
                        "subFrames": [{
                            "offsetIntoBinaryTextSegment": 5542400,
                            "address": 6771229184,
                            "sampleCount": 1,
                            "subFrames": [{
                                "offsetIntoBinaryTextSegment": 16348,
                                "address": 6986534876,
                                "sampleCount": 1,
                                "subFrames": [{
                                    "offsetIntoBinaryTextSegment": 29804,
                                    "address": 6986548332,
                                    "sampleCount": 1,
                                    "subFrames": [{
                                        "offsetIntoBinaryTextSegment": 109144,
                                        "address": 6986627672,
                                        "sampleCount": 1,
                                        "subFrames": [{
                                            "offsetIntoBinaryTextSegment": 46444,
                                            "address": 6986564972,
                                            "sampleCount": 1,
                                            "subFrames": [{
                                                "offsetIntoBinaryTextSegment": 49632,
                                                "address": 6986568160,
                                                "sampleCount": 1,
                                                "subFrames": [{
                                                    "offsetIntoBinaryTextSegment": 93712,
                                                    "address": 6986612240,
                                                    "sampleCount": 1,
                                                    "subFrames": [{
                                                        "offsetIntoBinaryTextSegment": 3576,
                                                        "address": 8171625976,
                                                        "sampleCount": 1,
                                                        "subFrames": [{
                                                            "offsetIntoBinaryTextSegment": 2968,
                                                            "address": 8171625368,
                                                            "sampleCount": 1,
                                                            "binaryName": "libsystem_pthread.dylib",
                                                            "binaryUUID": "1DAB93C7-8A37-326C-A3A7-FB5215F52B64"
                                                        }],
                                                        "binaryName": "libsystem_pthread.dylib",
                                                        "binaryUUID": "1DAB93C7-8A37-326C-A3A7-FB5215F52B64"
                                                    }],
                                                    "binaryName": "libdispatch.dylib",
                                                    "binaryUUID": "7F5305B9-A9D6-393E-9D4F-CEFD318D0F85"
                                                }],
                                                "binaryName": "libdispatch.dylib",
                                                "binaryUUID": "7F5305B9-A9D6-393E-9D4F-CEFD318D0F85"
                                            }],
                                            "binaryName": "libdispatch.dylib",
                                            "binaryUUID": "7F5305B9-A9D6-393E-9D4F-CEFD318D0F85"
                                        }],
                                        "binaryName": "libdispatch.dylib",
                                        "binaryUUID": "7F5305B9-A9D6-393E-9D4F-CEFD318D0F85"
                                    }],
                                    "binaryName": "libdispatch.dylib",
                                    "binaryUUID": "7F5305B9-A9D6-393E-9D4F-CEFD318D0F85"
                                }],
                                "binaryName": "libdispatch.dylib",
                                "binaryUUID": "7F5305B9-A9D6-393E-9D4F-CEFD318D0F85"
                            }],
                            "binaryName": "Foundation",
                            "binaryUUID": "02446407-7BE3-392C-9B07-503C8B8D85CD"
                        }],
                        "binaryName": "Diagnostics-Example",
                        "binaryUUID": "F1BBBC67-4D48-35CE-86D5-1D8D8E0DFF89"
                    }],
                    "binaryName": "Diagnostics-Example",
                    "binaryUUID": "F1BBBC67-4D48-35CE-86D5-1D8D8E0DFF89"
                }],
                "binaryName": "Foundation",
                "binaryUUID": "02446407-7BE3-392C-9B07-503C8B8D85CD"
            }],
            "binaryName": "Foundation",
            "binaryUUID": "02446407-7BE3-392C-9B07-503C8B8D85CD"
        }]
    }, {
        "threadAttributed": false,
        "callStackRootFrames": [{
            "offsetIntoBinaryTextSegment": 18980,
            "address": 7895763492,
            "sampleCount": 1,
            "subFrames": [{
                "offsetIntoBinaryTextSegment": 17784,
                "address": 6986536312,
                "sampleCount": 1,
                "subFrames": [{
                    "offsetIntoBinaryTextSegment": 19500,
                    "address": 6986538028,
                    "sampleCount": 1,
                    "subFrames": [{
                        "offsetIntoBinaryTextSegment": 584588,
                        "address": 6766271372,
                        "sampleCount": 1,
                        "subFrames": [{
                            "offsetIntoBinaryTextSegment": 580892,
                            "address": 6766267676,
                            "sampleCount": 1,
                            "subFrames": [{
                                "offsetIntoBinaryTextSegment": 580228,
                                "address": 6766267012,
                                "sampleCount": 1,
                                "subFrames": [{
                                    "offsetIntoBinaryTextSegment": 105220,
                                    "address": 4378909444,
                                    "sampleCount": 1,
                                    "subFrames": [{
                                        "offsetIntoBinaryTextSegment": 111692,
                                        "address": 4378915916,
                                        "sampleCount": 1,
                                        "subFrames": [{
                                            "offsetIntoBinaryTextSegment": 9396,
                                            "address": 6986527924,
                                            "sampleCount": 1,
                                            "subFrames": [{
                                                "offsetIntoBinaryTextSegment": 16348,
                                                "address": 6986534876,
                                                "sampleCount": 1,
                                                "subFrames": [{
                                                    "offsetIntoBinaryTextSegment": 46740,
                                                    "address": 6986565268,
                                                    "sampleCount": 1,
                                                    "subFrames": [{
                                                        "offsetIntoBinaryTextSegment": 49684,
                                                        "address": 6986568212,
                                                        "sampleCount": 1,
                                                        "subFrames": [{
                                                            "offsetIntoBinaryTextSegment": 93712,
                                                            "address": 6986612240,
                                                            "sampleCount": 1,
                                                            "subFrames": [{
                                                                "offsetIntoBinaryTextSegment": 3576,
                                                                "address": 8171625976,
                                                                "sampleCount": 1,
                                                                "subFrames": [{
                                                                    "offsetIntoBinaryTextSegment": 2968,
                                                                    "address": 8171625368,
                                                                    "sampleCount": 1,
                                                                    "binaryName": "libsystem_pthread.dylib",
                                                                    "binaryUUID": "1DAB93C7-8A37-326C-A3A7-FB5215F52B64"
                                                                }],
                                                                "binaryName": "libsystem_pthread.dylib",
                                                                "binaryUUID": "1DAB93C7-8A37-326C-A3A7-FB5215F52B64"
                                                            }],
                                                            "binaryName": "libdispatch.dylib",
                                                            "binaryUUID": "7F5305B9-A9D6-393E-9D4F-CEFD318D0F85"
                                                        }],
                                                        "binaryName": "libdispatch.dylib",
                                                        "binaryUUID": "7F5305B9-A9D6-393E-9D4F-CEFD318D0F85"
                                                    }],
                                                    "binaryName": "libdispatch.dylib",
                                                    "binaryUUID": "7F5305B9-A9D6-393E-9D4F-CEFD318D0F85"
                                                }],
                                                "binaryName": "libdispatch.dylib",
                                                "binaryUUID": "7F5305B9-A9D6-393E-9D4F-CEFD318D0F85"
                                            }],
                                            "binaryName": "libdispatch.dylib",
                                            "binaryUUID": "7F5305B9-A9D6-393E-9D4F-CEFD318D0F85"
                                        }],
                                        "binaryName": "Diagnostics-Example",
                                        "binaryUUID": "F1BBBC67-4D48-35CE-86D5-1D8D8E0DFF89"
                                    }],
                                    "binaryName": "Diagnostics-Example",
                                    "binaryUUID": "F1BBBC67-4D48-35CE-86D5-1D8D8E0DFF89"
                                }],
                                "binaryName": "Foundation",
                                "binaryUUID": "02446407-7BE3-392C-9B07-503C8B8D85CD"
                            }],
                            "binaryName": "Foundation",
                            "binaryUUID": "02446407-7BE3-392C-9B07-503C8B8D85CD"
                        }],
                        "binaryName": "Foundation",
                        "binaryUUID": "02446407-7BE3-392C-9B07-503C8B8D85CD"
                    }],
                    "binaryName": "libdispatch.dylib",
                    "binaryUUID": "7F5305B9-A9D6-393E-9D4F-CEFD318D0F85"
                }],
                "binaryName": "libdispatch.dylib",
                "binaryUUID": "7F5305B9-A9D6-393E-9D4F-CEFD318D0F85"
            }],
            "binaryName": "libsystem_kernel.dylib",
            "binaryUUID": "56153678-AA45-3B39-AA8A-A213974B505A"
        }]
    }],
    "callStackPerThread": true
}
AvdLee commented 1 year ago

Merging in since tests succeeded, but Danger only failed. (working on that separately)

[12:17:07]: ▸ Tests Passed: 0 failed, 0 skipped, 33 total (10.576 seconds)

wetransferplatform commented 1 year ago

Congratulations! :tada: This was released as part of Release 4.4.0 :rocket:

Generated by GitBuddy