Giter VIP home page Giter VIP logo

Comments (4)

marter001 avatar marter001 commented on June 9, 2024

i don't know if it will be helpful:
very seldom i also recognize crashes of RT during export, where i suspect the noise reduction causing the crash. In these cases the values for 'luminance' are very low (under1) and 'luminance details' (down to 0). Iirc it mostly happens in Lab-mode and conservative.
btw: win 10 and RawTherapee_dev_5.9-472-g31bf942d9_win64_release

from rawtherapee.

Lawrence37 avatar Lawrence37 commented on June 9, 2024

@NagornyV Could you please provide more details about the crashes? See How to write useful bug reports. In particular, what were you doing in RawTherapee when the crashes occurred?

from rawtherapee.

NagornyV avatar NagornyV commented on June 9, 2024

@Lawrence37 There are not many details... the application crashes when moving the noise reduction level control. It seems that sometimes a failure occurs when you enlarge the picture to see the result of noise reduction.
All details are available in crash logs. In MacOS system logs all events. Please see archive - https://github.com/Beep6581/RawTherapee/files/14150068/crashlogs.zip

from rawtherapee.

Lawrence37 avatar Lawrence37 commented on June 9, 2024

The crash report does not contain all the information we ask for, such as pp3s. However, the fact that it crashes while viewing the results of noise reduction is helpful. This is an issue we've seen before in #6230. The thread dumps match too. For everyone's convenience, I converted one of the .ips to a human-friendly format:

Crash report
Metadata
--------
app_name: rawtherapee
timestamp: 2024-02-03 09:32:08.00 +0400
app_version: 5.9.0
slice_uuid: e83d6888-c1b5-3cce-9fe7-a1449afcbfc9
build_version: 5.9.0
platform: 1
bundleID: com.rawtherapee.RawTherapee
share_with_app_devs: 0
is_first_party: 0
bug_type: 309
os_version: macOS 14.3 (23D56)
roots_installed: 0
name: rawtherapee
incident_id: 83F2173A-87F0-4F29-BF68-778C8006E15D

Crash Data
----------
uptime: 5100
procRole: Foreground
version: 2
userID: 501
deployVersion: 210
modelCode: Macmini9,1
coalitionID: 1602
captureTime: 2024-02-03 09:32:06.2844 +0400
codeSigningMonitor: 1
incident: 83F2173A-87F0-4F29-BF68-778C8006E15D
pid: 1449
translated: False
cpuType: ARM-64
roots_installed: 0
bug_type: 309
procLaunch: 2024-02-03 09:31:50.1989 +0400
procStartAbsTime: 124178067496
procExitAbsTime: 124564029233
procName: rawtherapee
procPath: /Applications/RawTherapee.app/Contents/MacOS/rawtherapee
parentProc: launchd
parentPid: 1
coalitionName: com.rawtherapee.RawTherapee
crashReporterKey: 34FA35DD-F5EF-C5CD-479A-F0D92581C2E6
codeSigningID: com.rawtherapee.RawTherapee
codeSigningTeamID: 5SJ86G6Q2R
codeSigningFlags: 570503953
codeSigningValidationCategory: 6
codeSigningTrustLevel: 4294967295
sip: enabled
vmRegionInfo: 
        0x28 is not in any region.  Bytes before following region: 4340432856
              REGION TYPE                    START - END         [ VSIZE] PRT/MAX SHRMOD  REGION DETAIL
              UNUSED SPACE AT START
        --->  
              __TEXT                      102b5c000-1034cc000    [ 9664K] r-x/r-x SM=COW  ...S/rawtherapee
vmregioninfo: 
        0x28 is not in any region.  Bytes before following region: 4340432856
              REGION TYPE                    START - END         [ VSIZE] PRT/MAX SHRMOD  REGION DETAIL
              UNUSED SPACE AT START
        --->  
              __TEXT                      102b5c000-1034cc000    [ 9664K] r-x/r-x SM=COW  ...S/rawtherapee
faultingThread: 13
vmSummary: 
        ReadOnly portion of Libraries: Total=1.5G resident=0K(0%) swapped_out_or_unallocated=1.5G(100%)
        Writable regions: Total=3.3G written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=3.3G(100%)

                                        VIRTUAL   REGION 
        REGION TYPE                        SIZE    COUNT (non-coalesced) 
        ===========                     =======  ======= 
        Accelerate framework               128K        1 
        Activity Tracing                   256K        1 
        CG image                           368K        8 
        ColorSync                          560K       26 
        CoreAnimation                      336K       14 
        CoreGraphics                        32K        2 
        CoreUI image data                  928K        6 
        Foundation                          16K        1 
        Kernel Alloc Once                   32K        1 
        MALLOC                             2.8G      125 
        MALLOC guard page                  192K       12 
        MALLOC_LARGE (reserved)           14.1M        1         reserved VM address space (unallocated)
        STACK GUARD                       57.2M       74 
        Stack                            518.4M       78 
        VM_ALLOCATE                        160K       10 
        __AUTH                            1667K      328 
        __AUTH_CONST                      27.1M      530 
        __CTF                               824        1 
        __DATA                            13.3M      573 
        __DATA_CONST                      30.1M      589 
        __DATA_DIRTY                      1703K      192 
        __FONT_DATA                          4K        1 
        __LINKEDIT                       909.5M       57 
        __OBJC_RO                         71.2M        1 
        __OBJC_RW                         2171K        1 
        __TEXT                           622.1M      609 
        dyld private memory                272K        2 
        mapped file                      181.0M       27 
        shared memory                      848K       13 
        ===========                     =======  ======= 
        TOTAL                              5.2G     3284 
        TOTAL, minus reserved VM space     5.2G     3284 

logWritingSignature: 6ba14d15037349b628a0b1415effc5de09048f92

Threads
-------
Thread 47398:
        0: bits_image_fetch_bilinear_no_repeat_8888 (+976)
        1: general_composite_rect (+692)
        2: pixman_image_composite32 (+880)
        3: composite_boxes (+312)
        4: clip_and_composite_boxes (+1396)
        5: _cairo_spans_compositor_fill (+188)
        6: _cairo_compositor_fill (+116)
        7: _cairo_surface_fill (+180)
        8: _cairo_gstate_fill (+324)
        9: _cairo_default_context_fill (+32)
        10: cairo_fill (+36)
        11: Cairo::Context::fill() (+24)
        12: CropWindow::expose(Cairo::RefPtr<Cairo::Context>) (+3204)
        13: ImageArea::on_draw(Cairo::RefPtr<Cairo::Context> const&) (+80)
        14: Gtk::Widget_Class::draw_callback(_GtkWidget*, _cairo*) (+160)
        15: gtk_widget_draw_internal (+360)
        16: gtk_container_propagate_draw (+428)
        17: gtk_container_draw (+132)
        18: gtk_frame_render (+304)
        19: gtk_css_gadget_draw (+548)
        20: gtk_frame_draw (+20)
        21: Gtk::Widget_Class::draw_callback(_GtkWidget*, _cairo*) (+352)
        22: gtk_widget_draw_internal (+360)
        23: gtk_container_propagate_draw (+428)
        24: gtk_container_draw (+132)
        25: gtk_box_draw_contents (+40)
        26: gtk_css_gadget_draw (+548)
        27: gtk_box_draw (+20)
        28: Gtk::Widget_Class::draw_callback(_GtkWidget*, _cairo*) (+352)
        29: gtk_widget_draw_internal (+360)
        30: gtk_container_propagate_draw (+428)
        31: gtk_container_draw (+132)
        32: gtk_box_draw_contents (+40)
        33: gtk_css_gadget_draw (+548)
        34: gtk_box_draw (+20)
        35: Gtk::Widget::on_draw(Cairo::RefPtr<Cairo::Context> const&) (+84)
        36: Gtk::Widget_Class::draw_callback(_GtkWidget*, _cairo*) (+160)
        37: gtk_widget_draw_internal (+360)
        38: gtk_container_propagate_draw (+428)
        39: gtk_container_draw (+132)
        40: gtk_box_draw_contents (+40)
        41: gtk_css_gadget_draw (+548)
        42: gtk_box_draw (+20)
        43: Gtk::Widget_Class::draw_callback(_GtkWidget*, _cairo*) (+352)
        44: gtk_widget_draw_internal (+360)
        45: gtk_container_propagate_draw (+428)
        46: gtk_container_draw (+132)
        47: gtk_box_draw_contents (+40)
        48: gtk_css_gadget_draw (+548)
        49: gtk_box_draw (+20)
        50: Gtk::Widget_Class::draw_callback(_GtkWidget*, _cairo*) (+352)
        51: gtk_widget_draw_internal (+360)
        52: gtk_container_propagate_draw (+428)
        53: gtk_container_draw (+132)
        54: gtk_box_draw_contents (+40)
        55: gtk_css_gadget_draw (+548)
        56: gtk_box_draw (+20)
        57: Gtk::Widget_Class::draw_callback(_GtkWidget*, _cairo*) (+352)
        58: gtk_widget_draw_internal (+360)
        59: gtk_container_propagate_draw (+428)
        60: gtk_paned_render (+400)
        61: gtk_css_gadget_draw (+548)
        62: gtk_paned_draw (+20)
        63: Gtk::Widget_Class::draw_callback(_GtkWidget*, _cairo*) (+352)
        64: gtk_widget_draw_internal (+360)
        65: gtk_container_propagate_draw (+428)
        66: gtk_paned_render (+400)
        67: gtk_css_gadget_draw (+548)
        68: gtk_paned_draw (+20)
        69: Gtk::Widget_Class::draw_callback(_GtkWidget*, _cairo*) (+352)
        70: gtk_widget_draw_internal (+360)
        71: gtk_container_propagate_draw (+428)
        72: gtk_paned_render (+256)
        73: gtk_css_gadget_draw (+548)
        74: gtk_paned_draw (+20)
        75: Gtk::Widget_Class::draw_callback(_GtkWidget*, _cairo*) (+352)
        76: gtk_widget_draw_internal (+360)
        77: gtk_container_propagate_draw (+428)
        78: gtk_container_draw (+132)
        79: gtk_box_draw_contents (+40)
        80: gtk_css_gadget_draw (+548)
        81: gtk_box_draw (+20)
        82: Gtk::Widget::on_draw(Cairo::RefPtr<Cairo::Context> const&) (+84)
        83: Gtk::Widget_Class::draw_callback(_GtkWidget*, _cairo*) (+160)
        84: gtk_widget_draw_internal (+360)
        85: gtk_container_propagate_draw (+428)
        86: gtk_notebook_draw_stack (+72)
        87: gtk_css_gadget_draw (+548)
        88: gtk_box_gadget_draw (+176)
        89: gtk_css_gadget_draw (+548)
        90: gtk_notebook_draw (+52)
        91: Gtk::Widget_Class::draw_callback(_GtkWidget*, _cairo*) (+352)
        92: gtk_widget_draw_internal (+360)
        93: gtk_container_propagate_draw (+428)
        94: gtk_container_draw (+132)
        95: gtk_window_draw (+648)
        96: Gtk::Widget::on_draw(Cairo::RefPtr<Cairo::Context> const&) (+84)
        97: Gtk::Widget_Class::draw_callback(_GtkWidget*, _cairo*) (+160)
        98: gtk_widget_draw_internal (+360)
        99: gtk_widget_render (+176)
        100: gtk_main_do_event (+1600)
        101: _gdk_event_emit (+64)
        102: _gdk_window_process_updates_recurse_helper (+296)
        103: -[GdkQuartzView updateLayer] (+208)
        104: _NSViewUpdateLayer (+84)
        105: +[NSAppearance _performWithCurrentAppearance:usingBlock:] (+72)
        106: __29-[NSViewBackingLayer display]_block_invoke (+148)
        107: -[NSFocusStack performWithFocusView:inWindow:usingBlock:] (+96)
        108: -[NSViewBackingLayer display] (+280)
        109: CA::Layer::display_if_needed(CA::Transaction*) (+736)
        110: CA::Context::commit_transaction(CA::Transaction*, double, double*) (+512)
        111: CA::Transaction::commit() (+648)
        112: __62+[CATransaction(NSCATransaction) NS_setFlushesWithDisplayLink]_block_invoke (+272)
        113: ___NSRunLoopObserverCreateWithHandler_block_invoke (+64)
        114: __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ (+36)
        115: __CFRunLoopDoObservers (+532)
        116: __CFRunLoopRun (+776)
        117: CFRunLoopRunSpecific (+608)
        118: RunCurrentEventLoopInMode (+292)
        119: ReceiveNextEventCommon (+648)
        120: _BlockUntilNextEventMatchingListInModeWithFilter (+76)
        121: _DPSNextEvent (+660)
        122: -[NSApplication(NSEventRouting) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] (+716)
        123: poll_func (+212)
        124: g_main_context_iterate (+340)
        125: g_main_loop_run (+268)
        126: gtk_main (+92)
        127: Gtk::Main::run(Gtk::Window&) (+148)
        128: main (+3484)
        129: start (+2360)
Thread 47428:
        0: start_wqthread (+0)
Thread 47433:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47434:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47435:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47436:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47437:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47438:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47439:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47444:
        0: start_wqthread (+0)
Thread 47456:
        0: __select (+8)
        1: g_poll (+424)
        2: g_main_context_iterate (+340)
        3: g_main_context_iteration (+60)
        4: glib_worker_main (+48)
        5: g_thread_proxy (+68)
        6: _pthread_start (+136)
        7: thread_start (+8)
Thread 47457:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: g_cond_wait (+44)
        3: g_async_queue_pop_intern_unlocked (+116)
        4: g_thread_pool_spawn_thread (+124)
        5: g_thread_proxy (+68)
        6: _pthread_start (+136)
        7: thread_start (+8)
Thread 47469:
        0: mach_msg2_trap (+8)
        1: mach_msg2_internal (+80)
        2: mach_msg_overwrite (+476)
        3: mach_msg (+24)
        4: __CFRunLoopServiceMachPort (+160)
        5: __CFRunLoopRun (+1208)
        6: CFRunLoopRunSpecific (+608)
        7: _NSEventThread (+144)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47477 (TRIGGERD):
        0: int __kmp_dispatch_next_algorithm<long long>(int, dispatch_private_info_template<long long>*, dispatch_shared_info_template<long long> volatile*, int*, long long*, long long*, traits_t<long long>::signed_t*, long long, long long) (+1184)
        1: __kmpc_dispatch_next_8 (+252)
        2: .omp_outlined..4.15849 (+296)
        3: __kmp_invoke_microtask (+156)
        4: ? (+?)
        5: ? (+?)
        6: ? (+?)
        7: ? (+?)
Thread 47478:
        0: rtengine::ImProcFunctions::ShrinkAllAB(rtengine::wavelet_decomposition&, rtengine::wavelet_decomposition&, float**, int, int, float*, float, bool, bool, bool, float*, float*, int, float*, bool) (+2268)
        1: .omp_outlined..4.15849 (+428)
        2: __kmp_invoke_microtask (+156)
        3: ? (+?)
        4: ? (+?)
        5: ? (+?)
        6: ? (+?)
Thread 47479:
        0: swtch_pri (+8)
        1: cthread_yield (+32)
        2: kmp_flag_64::wait(kmp_info*, int, void*) (+1532)
        3: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        4: __kmp_fork_barrier(int, int) (+484)
        5: __kmp_launch_thread (+212)
        6: __kmp_launch_worker(void*) (+252)
        7: _pthread_start (+136)
        8: thread_start (+8)
Thread 47480:
        0: rtengine::ImProcFunctions::ShrinkAllAB(rtengine::wavelet_decomposition&, rtengine::wavelet_decomposition&, float**, int, int, float*, float, bool, bool, bool, float*, float*, int, float*, bool) (+2260)
        1: .omp_outlined..4.15849 (+428)
        2: __kmp_invoke_microtask (+156)
        3: ? (+?)
        4: ? (+?)
        5: ? (+?)
        6: ? (+?)
Thread 47481:
        0: .omp_outlined..1.14820 (+2792)
        1: rtengine::boxblur(float**, float**, int, int, int, bool) (+292)
        2: rtengine::boxblur(float*, float*, int, int, int, bool) (+308)
        3: rtengine::ImProcFunctions::ShrinkAllAB(rtengine::wavelet_decomposition&, rtengine::wavelet_decomposition&, float**, int, int, float*, float, bool, bool, bool, float*, float*, int, float*, bool) (+2060)
        4: .omp_outlined..4.15849 (+428)
        5: __kmp_invoke_microtask (+156)
        6: ? (+?)
        7: ? (+?)
        8: ? (+?)
        9: ? (+?)
Thread 47482:
        0: .omp_outlined..1.14820 (+2828)
        1: rtengine::boxblur(float**, float**, int, int, int, bool) (+292)
        2: rtengine::boxblur(float*, float*, int, int, int, bool) (+308)
        3: rtengine::ImProcFunctions::ShrinkAllAB(rtengine::wavelet_decomposition&, rtengine::wavelet_decomposition&, float**, int, int, float*, float, bool, bool, bool, float*, float*, int, float*, bool) (+2060)
        4: .omp_outlined..4.15849 (+428)
        5: __kmp_invoke_microtask (+156)
        6: ? (+?)
        7: ? (+?)
        8: ? (+?)
        9: ? (+?)
Thread 47483:
        0: swtch_pri (+8)
        1: cthread_yield (+32)
        2: kmp_flag_64::wait(kmp_info*, int, void*) (+1532)
        3: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        4: __kmp_fork_barrier(int, int) (+484)
        5: __kmp_launch_thread (+212)
        6: __kmp_launch_worker(void*) (+252)
        7: _pthread_start (+136)
        8: thread_start (+8)
Thread 47487:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47488:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47489:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47490:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47491:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47492:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47493:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47496:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47497:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47498:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47499:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47500:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47501:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47502:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47503:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47504:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47505:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47506:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47507:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47508:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47509:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47512:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47513:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47514:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47515:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47516:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47517:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47518:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47520:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1272)
        2: g_cond_wait_until (+128)
        3: g_async_queue_pop_intern_unlocked (+104)
        4: g_async_queue_timeout_pop (+56)
        5: g_thread_pool_thread_proxy (+388)
        6: g_thread_proxy (+68)
        7: _pthread_start (+136)
        8: thread_start (+8)
Thread 47526:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47527:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47528:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47529:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47530:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47531:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47532:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47533:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47534:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47535:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47536:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47537:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47538:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47539:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47540:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47541:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47542:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47543:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47544:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47545:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47546:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: __kmp_suspend_64 (+288)
        3: kmp_flag_64::wait(kmp_info*, int, void*) (+1732)
        4: __kmp_hyper_barrier_release(barrier_type, kmp_info*, int, int, int, void*) (+144)
        5: __kmp_fork_barrier(int, int) (+484)
        6: __kmp_launch_thread (+212)
        7: __kmp_launch_worker(void*) (+252)
        8: _pthread_start (+136)
        9: thread_start (+8)
Thread 47552:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1228)
        2: select_thread_func (+132)
        3: _pthread_start (+136)
        4: thread_start (+8)
Thread 47579:
        0: start_wqthread (+0)
Thread 47638:
        0: __psynch_cvwait (+8)
        1: _pthread_cond_wait (+1272)
        2: CVDisplayLink::waitUntil(unsigned long long) (+328)
        3: CVDisplayLink::runIOThread() (+504)
        4: _pthread_start (+136)
        5: thread_start (+8)
Thread 47640:
        0: swtch_pri (+8)
        1: cthread_yield (+32)
        2: kmp_flag_64::wait(kmp_info*, int, void*) (+712)
        3: __kmp_hyper_barrier_gather(barrier_type, kmp_info*, int, int, void (*)(void*, void*), void*) (+412)
        4: __kmp_join_barrier(int) (+596)
        5: __kmp_internal_join (+92)
        6: __kmp_join_call (+236)
        7: __kmpc_fork_call (+216)
        8: rtengine::ImProcFunctions::WaveletDenoiseAllAB(rtengine::wavelet_decomposition&, rtengine::wavelet_decomposition&, float*, float (*) [3], float*, int, float, bool, bool, bool, int) (+412)
        9: .omp_outlined..23 (+5628)
        10: rtengine::ImProcFunctions::RGB_denoise(int, rtengine::Imagefloat*, rtengine::Imagefloat*, rtengine::Imagefloat*, float*, float*, float*, bool, rtengine::procparams::DirPyrDenoiseParams const&, double, rtengine::NoiseCurve const&, rtengine::NoiseCurve const&, float&, float&) (+5504)
        11: rtengine::Crop::update(int) (+6756)
        12: rtengine::Crop::fullUpdate() (+116)
        13: (anonymous namespace)::call_thread_entry_slot(void*) (+44)
        14: g_thread_proxy (+68)
        15: _pthread_start (+136)
        16: thread_start (+8)

I wrote this little Python program to do the translation based on details from https://developer.apple.com/documentation/xcode/interpreting-the-json-format-of-a-crash-report:

translate_macos_ips.py
from argparse import ArgumentParser
import json
from pathlib import Path


def parse_args():
    parser = ArgumentParser(
        prog='macOS IPS crash report translator',
        description='Translates .ips crash reports into a human-friendly format.',
    )
    parser.add_argument('filename')
    return parser.parse_args()

def format_key_value(key_value):
    key, value = key_value
    value = str(value)
    if '\n' in value:
        value = '\n\t' + str(value).replace('\n', '\n\t')
    return f'{key}: {value}'

def translate_metadata(metadata, translated):
    translated.append('Metadata')
    translated.append('--------')
    for item in metadata.items():
        translated.append(format_key_value(item))

def is_json_container(json_object):
    return isinstance(json_object, list) or isinstance(json_object, dict)

def format_frame(frame):
    symbol = frame.get('symbol', '?')
    symbol_location = frame.get('symbolLocation', '?')
    return f'{symbol} (+{symbol_location})'

def translate_thread(thread, translated):
    thread_id: int = thread['id']
    frames: list = thread['frames']
    triggered: bool = thread.get('triggered', False)
    translated.append(
        f'Thread {thread_id}{" (TRIGGERD)" if triggered else ""}:')
    translated.extend([
        f'\t{i}: {format_frame(frame)}' for i, frame in enumerate(frames)])

def translate_threads(data, translated):
    translated.append('Threads')
    translated.append('-------')
    for thread in data:
        translate_thread(thread, translated)

def translate_crash_data(data, translated):
    translated.append('Crash Data')
    translated.append('----------')
    translated.extend(
        [format_key_value(item) for item in data.items()
         if not is_json_container(item[1])]
    )
    translated.append('')
    translate_threads(data['threads'], translated)

def translate(content):
    translated = []
    lines = content.splitlines()
    metadata = json.loads(lines[0].encode())
    translate_metadata(metadata, translated)
    if metadata['bug_type'] == '309':
        translated.append('')
        crash_data = json.loads('\n'.join(lines[1:]).encode())
        translate_crash_data(crash_data, translated)
    return '\n'.join(translated)

def main():
    args = parse_args()
    filename = args.filename
    file = Path(filename).read_text()
    translated = translate(file)
    print(translated)

if __name__ == '__main__':
    main()

Closing as a duplicate.

from rawtherapee.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.