Jump to content

Dizaka

Balancing Advisors
  • Posts

    482
  • Joined

  • Last visited

  • Days Won

    5

Posts posted by Dizaka

  1. @RangerK I think SaidRdz is much better than me, sniper, rauls or chrgster.  Once he gets going on Maury he is unstoppable with those sword.  VERY few, if any, players can contain that army.  Because it is slash you can't even contain him with mass siege towers.

    You'll notice in both games he was singled out in early phases otherwise you don't really stand a chance.  Check Rauls attacking him in 2nd game and in first Geriatrix.   In the first game it was a matter of keeping Rauls/SaidRdz contained with just 2 players for some time.  In the second game it was a matter of keeping SaidRdz / spartan contained.  Geriatrix did a great job setting that up and placing a CC defensively so that eco of pocket wasn't impacted.  In the second game Rauls did a great job attacking SaidRdz allowing the han cav to pop in the south at an important fork in the road.  It was just a matter of time before they'd push through, though.  Goal was always for other side to push through first and to buy time on whatever side SaidRdz is.

    Palalaigos is awesome.

    • Like 2
  2. 5 hours ago, wowgetoffyourcellphone said:

    It would be really helpful if Wall snapping was extended to include shorelines and cliffs, and Gaia objects such as mines and trees. Snapping new walls/hubs to the ends of a segment so that you can repair the end of a wall would be helpful too. Also, walls snappable to Fortresses and also the ability to upgrade wall hubs to ballista towers, etc. to make them more interesting and defensive.

    The issue with ballista tower wall hubs is the concentration of arrows.  I believe in one of the alphas arrows from wall hubs were removed as players started placing wall hub towers and deleting walls for the purpose of free arrows.

     

    (Note:  I love the idea of ballista towers)

  3. 9 minutes ago, Grautvornix said:

    Oops, maybe I have chosen the wrong words - I tried to say that walls are meant to protect those hiding inside from attacking units, including ranged units to some extent. Walls might thus have an effect to the damage range that a ranged unit can achieve from either side (and protect from sword or spear units).

    OH.  Meaning that if a wall is "owned" by Player A then Player A units behind the wall would received dampened damage from Player B, who is attacking Player A units through Player A walls.

    That's an extremely interesting mechanic!  @real_tabasco_sauce @BreakfastBurrito_007  @wowgetoffyourcellphone

  4. 2 minutes ago, Grautvornix said:

    @Dizaka I do agree with your statements - the only thing I am however missing is a "protection factor" that walls have for those hiding behind them, i.e. effect of ranged attacks should be reduced (except for catapults etc.). Hence I believe units should attack a wall first before attacking those hiding behind. 

    Not sure this is easy to implement.

     

    I would be interested to know how often walls are actually manned in your games. Is it worth the effort? Just curious...

    Agree and disagree at the same time.  If defenders should be damaging their own walls I think walls should have more HP.  I understand the simulation aspect of it towards realism but there's also KISS, to keep the simulation simple.  With ranged units hitting own buildings it may be impossible to shoot with archers from behind a CC and archers/ranged units may need more dmg upgrades.  Currently, we are at the stage of "it takes 10-20 arrows to kill a unit" not "1-2 arrows" which would be more realistic. 

  5. 7 minutes ago, Grautvornix said:

    Of course, there are bugs and inconsistencies, and the game is not "finished" (but which one is ever? Can you name one that is perfect?). AFAIK, it was never intended to compete with commercial platforms anyway.

    I don't know whether that is true (never itnended to compete with commercial platforms).  However, the game competes extremely well with commercial platforms thanks to volunteers like @Stan`, @vladislavbelov, @wowgetoffyourcellphone and others who have been contributing to this project for any length of time.

    • Like 1
  6. I actually have a different viewpoint.  I think walls are under-rated, especially for multiplayer games.

    What I have figured out, especially with palisades, that if are an archer civ going vs Sparta (or some other sword-heavy civ or cav-heavy civ) you use walls not in a blocking-way.  Instead, the purpose of walls is to make it possible to reach your army (so that you're engaged) but making a retreat difficult (so that the enemy is forced to commit on mistakes).  The goal of palisades (and walls) seems to be more about making targets hard to reach without making them impossible to reach (e.g., iberian wall circle around CC).

    With archers, xbows, archer cav (maybe skrim, but not really.  You want range as defender.), and elephant archers walls work the best.  Even more so with persians and mauryans who have a range bonus.  Walls allow you to wait for the attack and then do a counter attack.  Best walls seem to be 5-8 unit segments with houses inbetween.  Units can travel through these (the holes) but it breaks formations, makes your units hard to reach, and makes it extremely difficult for the enemy to retreat.  

    TLDR:  For me, walls are about creating obstacles that slow down the advance and the retreat so that I can get as many arrows as possible into enemy units.  I've learned there's no reason to block troop movements.  If you block troop movements players attack other positions that aren't as fortified.  I use walls to basically "set a trap."

     

      

    47 minutes ago, gui456wSERTDYF said:

    I come to suggest that walls should only be attackable by siege, and maybe elephants, but not by soldiers. There are two reasons motivating this proposal:

    1. Walls are rarely used in the game, the reason is that the cost/benefit is very low. I just played a game in which I decided to surround my city with walls, to avoid it being simply taken by horses, to discover that my enemy brought (roman) swordsmen, destroyed the wall in less than a minute with the swordsmen and took my city. Not only this is completely unrealistic, but also makes the wall even more useless than I thought...

    Again, I use walls a lot.  Especially if rushed in the 8-12 minute timeframe.  By the time the enemy gets to my base, especially if I believe they are competent, I will have a defensive perimiter established.  More then likely it will be disconnected and irregular walls to let the enemy through but increase travel distance and force 1by1 lines of units rather than allowing for large formations from the enemy.

     

      

    47 minutes ago, gui456wSERTDYF said:

    I come to suggest that walls should only be attackable by siege, and maybe elephants, but not by soldiers. There are two reasons motivating this proposal:

    1. When attacking the iberians, sometimes my own soldiers end up attacking the walls instead of soldiers, which is completely useless.

    Double check your shortcuts and clicks.  Walls need to be attackable by units, imo.

     

  7. 14 hours ago, real_tabasco_sauce said:

    Well, it should exist, it just shouldn't be the only worthwhile micro. Instead, it should be a tool in one's skillset that depends on the conditions of a given fight. Balance is the way to fix this.

    To an extent.  However, having too much of a micro creates a huge barrier of entry for new players to be competitive.   Do we want to discourage or encourage new players?  I think if something can be automated for an unfair advantage it should be considered for a feature included in the game - especially if it can be "silent" and not take away from the experience.  Clicking like a madman, imho, takes away from the experience.

  8. On 13/10/2023 at 6:14 AM, LienRag said:

    The problem in 0ad is that these attacks have either no stakes or too high stakes (destroy the player, or at least the player's economy).

    Sort of agreed here.  A bad "all in" (and even a rush) can have massive consequences in the end game.  It's actually hard to rush and eco boost at the same time (especially with wrong civ selection for the phase you attack in).  Many times it is easier to ignore a rush and counter near base as long as you don't go all women.

    I've found the best way, when selecting civs, to address this is to pick civs that have advantages in the phase you want to attack in.

    • Early p1/p2? 
      • Pick Maury because of worker elephants ability to access hunt for your cav.
      • Hans, if you get lucky with hunt RNG, can be deadly with sword cav.  If you are going vs Rome/Iber you likely won if you have a lot of hunt.
      • Know that Romans/Iberians have no counter to melee cav in P1 (no spearmen).  Rome/Mace/Hans can really wipe them out in p1 with mass cav.
      • Any civs (e.g., Mace/Seleucids) with pikemen (and only skrimishers - no access to archers/slingers) are vulnerable to skrimisher cav who can outmaneuver them
      • Any civs (e.g., Mace/Seleucids/Gauls/Romans/) without archers/slingers are vulnerable to Ptol Camels in P1
    • Mid/Late p2? 
      • Civs with no archers/slingers/melee spear cav are vulnerable to Kush Camels.  Very vulnerable.
      • Pick Gauls as the sword cav have an innate damage bonus.  P2 sword cav can dominate nicely.
      • Pick Maury/Pers/Hans as you get extra pop so that means its an innate damage bonus with mass cav.
    • Late p2/early p3?  
      • Pick Maury, p2 ele stables make it possible to trample through players if support is a good player immediately upon hitting p3
      • Pick Kush/Athens/Cartha/Maury if you want instant p3 champs like with maury p2 ele stables (Athens can build champ building in p2 and count towards p3.  Same with Kush and Carth temples.)
      • Pick Mace/Sele for Skrim/Pikeman combo
      • Pick Mace for amazing siege dmg (siege hero, will to fight, siege damage, omfg) 
      • Pick Ptol if you want to do quick phasing and get a siege tower up in 11 min (possible/doable, almost instantly kills a player)
    • Late p3?
      • Pick Carth/Persia/Gauls/Maury/Han/Romans/Sele if you are in the long cav game.
      • Don't pick a ram civ.  Go with a ranged siege civ.  Rams in late game are hard.
      • Maury/Iberian sword bonus in late phase is amazing.  Iberian champ sword are great.
      • Kush R3 instant priests are great too.  Only valuable priest is a R3 priest.  Anything else sucks.

      

    On 13/10/2023 at 6:14 AM, LienRag said:

    There is very little occasions to have a battle for a clear but secondary stake (like controlling a strategic point).

    Agreed.  Interestingly, I've seen few players take advantage of the environment.  Very FEW players, for example, will build on the side of mountains using mountains to create choke points and funnel enemy armies.  Some players do it.  Some good players fall for it.  Some good players actually wont' fall for it and walk around it.

     

    On 13/10/2023 at 6:14 AM, LienRag said:

    Also, when they're strong enough to be a threat but not to kill you, what make them unfun is that the resource they actually deplete is the player's attention/concentration, much more than the Civ's army or economy.

    This is a big one that bothers me.  Which is why I hate the *micro* in the game (alt+attack for ranged units).  It is tiring and shouldn't exist IMO.

    • Like 2
  9. @Mentula This is awesome. 

    Just a question (without looking through your code which would probably provide me with an answer to this question and if so sorry for time-wasting) how do you obtain the stat data?  Do you do a headless replay and collect the stats?  Do you just do a replay and use the stats collected?

    Curious and it would help me if you'd share this information, if possible.

  10. 8 minutes ago, BreakfastBurrito_007 said:

    my bad yea I was assuming community mod.

    @Emacz see the funny thing is that plenty of players would have kush in their top 5, and I tend to have the most success with seleucids. If there is one civ that I would say isn't great for most players right now its Carthaginians, however borg has played them really well recently anyway. 

    Them merc cav felt the end of the balance stick!

  11. 2 hours ago, BreakfastBurrito_007 said:

    The need for sniping to win an engagement in 0ad a26 doesn't come from overkill. There are numerous ways to reduce and induce overkill that aren't sniping. Sniping originates from the lack of combat value of melee units (some champions can be valuable, but not very). Hopefully @real_tabasco_sauce's melee rebalance can deprecate sniping when compared to traditional micro exampes like @Atrik mentioned. 

    While everyone loves to hate sniping, just everyone loved to hate the meat-shield meta before it, automating it will not fix the underlying balance issues that are the root cause. 

    Anyone remember the formation spam micro from a23? I for one really appreciate how far we've come from those days.

    Overkill is definitely a thing with crossbows.  More so with champion crossbow from mace.

    It's not really automating sniping.  It's modifying the current targeting/attack mechanic to the one being most utilized/favored by players.  It's similar to changing game stats.  

    Additionally, I do not believe melee are useless.  Watch how fast regular sword mow through the current tank/archer meta.  A good maury player (and iberian) can cause a lot of havock.  Additionally, a good Gaul player can silence the ranged meta by flanking.

     

    Edit:  On another note, sniping became more popular/useful with introduction of Han, a crosssbow ranged civ.

    • Like 1
  12. 1 hour ago, BreakfastBurrito_007 said:

    What's RL?

    Real life.  That’s the argument generally given about the 0ad - it’s not a fantasy simulation but as close to real life as plausible.  Realism and historical accuracy is an important element of 0AD.

    Sniping is a fantasy feature and a fantasy “micro” skill.  There never exists one person who controls everyone to target 1 person to give an overkill problem.  That’s unrealistic and something out of a fantasy.
     

    Sniping and hero strafing are end user solutions to the same problem - the “intricacies” of the targeting system.  Basically, the limitation of dev resources.  Targeting needs rework in a way @Atrik suggests to allow for better balancing of melee vs ranged.

    • Like 2
  13. 31 minutes ago, real_tabasco_sauce said:

    Throwing aside the effort to develop this, the potential performance costs, the UI clutter, and the difficulty for new players to learn something like this, I think this would be actually harder than using the mouse and hot keys to select and attack. (Aka micro).

     

    I mean, there's a way to implement this without it being an issue.  It can be default behavior situation.  It could also be taken even further to prioritize ranged over melee units.  I don't even believe it needs to be something like the 'h' key.  Rather, the 'h' key could reset the behavior as it resets the current default behavior.  There's ways to implement it to make it opaque to the regular user.  More advanced users could do their own sniping behavior with keys/shortcuts however they want.  @Atrik

     

    31 minutes ago, real_tabasco_sauce said:

    There is simply no way it turns new players away. New players don’t experience micro unless they go against a player far better than themselves.

    new players get turned away by difficulties in finding matches, performance issues, and boredom.

    the learning curve for micro is actually part of a “skill gap” and it is essential for games to be fun and learnable.

    people who have played for years should be able to beat new players because they are better. There is nothing wrong with this.

    now overkill can be addressed partially by modifying unitAI. I think there was a motion for ranged units to target the next closest unit of the closest is already being attacked by x units. Personally I am 50/50 on this idea, but in the grand scheme of things, it should be the player’s responsibility to manage overkill.

    I'm sorry, but there is no "skill" in mashing keys nor a "skill gap" in mashing keys.  It's like saying to make mashed potatoes you need skill.  No, you just need half a brain to mash a potato well.  There is no "skill" by randomly selecting individual units to target.  Additionally, it is unrealistic for a "top commander" to be telling individual units who they should be targeting.  Extremely unrealistic and I believe 0ad wants to be more of a RL simulation - I believe that's why catapults no longer do the massive AOE damage.

     

     

     

     

    • Like 2
  14. 10 hours ago, real_tabasco_sauce said:

    Right, but the 'curve' or the 'playing field' for most players shouldn't be all about micro, sniping, hero baiting, quick walling, and other techniques. This should only be how the top 10% can get to the top 1%. For the majority of players, especially new players, the learning curve should be all about economy, technologies, and army composition.

    Once sniping becomes a more nuanced approach, like how I expect things will turn out after my melee rebalance patch, it will seem silly to implement an auto-sniping feature with so little interest in sniping.

    Honestly, I think "damage balancing" / autosniping should be a game feature.  Overkill creates problems in the big balance scheme of things.

    Currently, in RL you have small groups of soldiers with their own leadership who coordinate so that same targets on the same battlefield aren't chosen.  It wasn't and isn't the responsibility of the supreme commander to choose your targets.   Even in early Rome armies were split into smaller more manageable groups.  Look at modern battlefield stuff you see coming out of Ukraine.  Russia does extreme overkill - not really a good strategy.  

    Why can't there be a formation or a hotkey to manage attacked targets?  Why can't 5 units only attack 1 target from each side? (e.g., make it similar to the "production" setting?)  Why do we have the unrealistic expectation that the "supreme commander" (player) somehow has some kind of magical micro that makes one better than the other on the battlefield.  The current "micro" is a poor emulation of IRL and turns new players away.  Also, it's a big enough issue that impacts balance.  As long as units don't target others as efficiently as possible then the learning curve for this game will be extreme and result in turning new players away.  @BreakfastBurrito_007 @real_tabasco_sauce @Atrik @roscany  @alre

     

     

    image.thumb.png.a0751aab299f931107748bfb26a194c0.png

    • Like 1
  15. There will always be players who are ahead on the automation curve.

    There is no reason why 0AD vanilla shouldn't include automation.  I think @Atrik is onto something.  The playing field should be evened out.

     

    The game should be about getting more people interested in it.  People aren't going to be interested in this game if the curve is too high and current players have a huge advantage - by knowing which plugins to use.  Why not make sniping a multiplayer option on game start?  If the game has it on, great.  If not, not bad.  @BreakfastBurrito_007 @real_tabasco_sauce @roscany @alre

     

    This game has already things that can't be automated.  For example, you can't automate the way you build out your "village" based on natural barriers.  Placement of buildings is extremely important in this game, especially if you can waste the time and resources of non-ranged siege civs.

    To me, sniping is the same as using a hero to lure all the damage of ranged units and get hit for de minimis sums.  Except in the opposite direction.  Hero strafing, sniping, carthage merc cav, etc., are all in the same boat from my point of view.

  16. On 22/05/2023 at 3:45 PM, Stan` said:

    @Dizaka Can you test this version?  https://releases.wildfiregames.com/rc/0ad-0.0.27.1-alpha-arm64-debug.dmg It's a special debug version, it will run really slow. You need to reenable tls, and upload the log if it still occurs.

    It still crashes with TLS for multiplayer selected.  TLS disabled has no crash.  See below:

     

    Quote

    -------------------------------------
    Translated Report (Full Report Below)
    -------------------------------------

    Process:               pyrogenesis_dbg [10046]
    Path:                  /Applications/0 A.D..app/Contents/MacOS/pyrogenesis_dbg
    Identifier:            com.wfg.com
    Version:               0.0.27-rc1-27645 (0.0.27-rc1-27645)
    Code Type:             ARM-64 (Native)
    Parent Process:        launchd [1]
    User ID:               502

    Date/Time:             2023-05-24 19:13:50.7320 -0500
    OS Version:            macOS 13.3.1 (22E772610a)
    Report Version:        12
    Anonymous UUID:        EF933ABC-7C19-BB2D-5057-3F4B05C44CBA


    Time Awake Since Boot: 60000 seconds

    System Integrity Protection: enabled

    Crashed Thread:        0  main  Dispatch queue: com.apple.main-thread

    Exception Type:        EXC_BAD_ACCESS (SIGBUS)
    Exception Codes:       KERN_PROTECTION_FAILURE at 0x0000000144c00000
    Exception Codes:       0x0000000000000002, 0x0000000144c00000

    Termination Reason:    Namespace SIGNAL, Code 10 Bus error: 10
    Terminating Process:   exc handler [10046]

    VM Region Info: 0x144c00000 is in 0x144c00000-0x144c38000;  bytes after start: 0  bytes before end: 229375
          REGION TYPE                    START - END         [ VSIZE] PRT/MAX SHRMOD  REGION DETAIL
          MALLOC_TINY                 144b00000-144c00000    [ 1024K] rw-/rwx SM=PRV  
    --->  CoreUI image data           144c00000-144c38000    [  224K] r--/r-- SM=PRV  
          GAP OF 0x1cc000 BYTES
          CG image                    144e04000-144e48000    [  272K] rw-/rwx SM=COW  

    Thread 0 Crashed:: main Dispatch queue: com.apple.main-thread
    0   pyrogenesis_dbg                          0x107bc4dc4 __gmpn_cnd_add_n + 180
    1   pyrogenesis_dbg                          0x107ba8c34 _nettle_ecc_mod_add + 96
    2   pyrogenesis_dbg                          0x107bad71c _nettle_ecc_dup_th + 84
    3   pyrogenesis_dbg                          0x107bae3c0 _nettle_ecc_mul_g_eh + 224
    4   pyrogenesis_dbg                          0x107bb25e4 nettle_curve25519_mul_g + 276
    5   pyrogenesis_dbg                          0x107b9d0ac edwards_curve_mul_g + 72
    6   pyrogenesis_dbg                          0x107b992f0 wrap_nettle_pk_generate_keys + 6788
    7   pyrogenesis_dbg                          0x107b5f220 _gnutls_gen_ecdh_common_client_kx_int + 412
    8   pyrogenesis_dbg                          0x107b5e4b0 _gnutls_gen_ecdh_common_client_kx + 36
    9   pyrogenesis_dbg                          0x107a43c14 _gnutls_send_client_kx_message + 280
    10  pyrogenesis_dbg                          0x107a38740 handshake_client + 7084
    11  pyrogenesis_dbg                          0x107a369e8 gnutls_handshake + 896
    12  pyrogenesis_dbg                          0x1079d1f60 gloox::GnuTLSBase::handshake() + 72
    13  pyrogenesis_dbg                          0x1079d1cb0 gloox::GnuTLSBase::decrypt(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) + 72
    14  pyrogenesis_dbg                          0x1079d40a0 gloox::TLSDefault::decrypt(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) + 64
    15  pyrogenesis_dbg                          0x107925bec gloox::ClientBase::handleReceivedData(gloox::ConnectionBase const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) + 84
    16  pyrogenesis_dbg                          0x10791e4c0 gloox::ConnectionTCPClient::recv(int) + 728
    17  pyrogenesis_dbg                          0x107922328 gloox::ClientBase::recv(int) + 96
    18  pyrogenesis_dbg                          0x1043277e8 glooxwrapper::Client::recv(int) + 60
    19  pyrogenesis_dbg                          0x1042dba2c XmppClient::recv() + 48
    20  pyrogenesis_dbg                          0x10413074c Frame() + 1012
    21  pyrogenesis_dbg                          0x10412de44 RunGameOrAtlas(PS::span<char const* const>) + 7516
    22  pyrogenesis_dbg                          0x10412c01c main + 188
    23  dyld                                     0x19add3f28 start + 2236

    Thread 1:: Task Mgr #1
    0   libsystem_kernel.dylib                   0x19b0ef710 __psynch_cvwait + 8
    1   libsystem_pthread.dylib                  0x19b12c574 _pthread_cond_wait + 1232
    2   libc++.1.dylib                           0x19b054ef0 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28
    3   pyrogenesis_dbg                          0x104c33e3c void std::__1::condition_variable::wait<Threading::WorkerThread::RunUntilDeath()::$_0>(std::__1::unique_lock<std::__1::mutex>&, Threading::WorkerThread::RunUntilDeath()::$_0) + 80
    4   pyrogenesis_dbg                          0x104c339a4 Threading::WorkerThread::RunUntilDeath() + 224
    5   pyrogenesis_dbg                          0x104c41184 decltype(*static_cast<Threading::WorkerThread*&>(fp0).*fp()) std::__1::__invoke<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&, void>(void (Threading::WorkerThread::*&&)(), Threading::WorkerThread*&) + 124
    6   pyrogenesis_dbg                          0x104c410dc std::__1::invoke_result<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&>::type std::__1::invoke<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&>(void (Threading::WorkerThread::*&&)(), Threading::WorkerThread*&) + 68
    7   pyrogenesis_dbg                          0x104c4106c void Threading::Thread::DoStart<Threading::WorkerThread, &Threading::WorkerThread::RunUntilDeath()>(Threading::WorkerThread*) + 60
    8   pyrogenesis_dbg                          0x104c40f04 Threading::HandleExceptionsBase<&void Threading::Thread::DoStart<Threading::WorkerThread, &Threading::WorkerThread::RunUntilDeath()>(Threading::WorkerThread*), void (*)(Threading::WorkerThread*)>::Wrapper(Threading::WorkerThread*) + 40
    9   pyrogenesis_dbg                          0x104c4297c decltype(static_cast<void (*>(fp)(static_cast<Threading::WorkerThread*>(fp0))) std::__1::__invoke<void (*)(Threading::WorkerThread*), Threading::WorkerThread*>(void (*&&)(Threading::WorkerThread*), Threading::WorkerThread*&&) + 56
    10  pyrogenesis_dbg                          0x104c4285c void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*>&, std::__1::__tuple_indices<2ul>) + 72
    11  pyrogenesis_dbg                          0x104c4175c void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*>>(void*) + 100
    12  libsystem_pthread.dylib                  0x19b12bfa8 _pthread_start + 148
    13  libsystem_pthread.dylib                  0x19b126da0 thread_start + 8

    Thread 2:: Task Mgr #0
    0   libsystem_kernel.dylib                   0x19b0ef710 __psynch_cvwait + 8
    1   libsystem_pthread.dylib                  0x19b12c574 _pthread_cond_wait + 1232
    2   libc++.1.dylib                           0x19b054ef0 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28
    3   pyrogenesis_dbg                          0x104c33e3c void std::__1::condition_variable::wait<Threading::WorkerThread::RunUntilDeath()::$_0>(std::__1::unique_lock<std::__1::mutex>&, Threading::WorkerThread::RunUntilDeath()::$_0) + 80
    4   pyrogenesis_dbg                          0x104c339a4 Threading::WorkerThread::RunUntilDeath() + 224
    5   pyrogenesis_dbg                          0x104c41184 decltype(*static_cast<Threading::WorkerThread*&>(fp0).*fp()) std::__1::__invoke<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&, void>(void (Threading::WorkerThread::*&&)(), Threading::WorkerThread*&) + 124
    6   pyrogenesis_dbg                          0x104c410dc std::__1::invoke_result<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&>::type std::__1::invoke<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&>(void (Threading::WorkerThread::*&&)(), Threading::WorkerThread*&) + 68
    7   pyrogenesis_dbg                          0x104c4106c void Threading::Thread::DoStart<Threading::WorkerThread, &Threading::WorkerThread::RunUntilDeath()>(Threading::WorkerThread*) + 60
    8   pyrogenesis_dbg                          0x104c40f04 Threading::HandleExceptionsBase<&void Threading::Thread::DoStart<Threading::WorkerThread, &Threading::WorkerThread::RunUntilDeath()>(Threading::WorkerThread*), void (*)(Threading::WorkerThread*)>::Wrapper(Threading::WorkerThread*) + 40
    9   pyrogenesis_dbg                          0x104c4297c decltype(static_cast<void (*>(fp)(static_cast<Threading::WorkerThread*>(fp0))) std::__1::__invoke<void (*)(Threading::WorkerThread*), Threading::WorkerThread*>(void (*&&)(Threading::WorkerThread*), Threading::WorkerThread*&&) + 56
    10  pyrogenesis_dbg                          0x104c4285c void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*>&, std::__1::__tuple_indices<2ul>) + 72
    11  pyrogenesis_dbg                          0x104c4175c void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*>>(void*) + 100
    12  libsystem_pthread.dylib                  0x19b12bfa8 _pthread_start + 148
    13  libsystem_pthread.dylib                  0x19b126da0 thread_start + 8

    Thread 3:: Task Mgr #5
    0   libsystem_kernel.dylib                   0x19b0ef710 __psynch_cvwait + 8
    1   libsystem_pthread.dylib                  0x19b12c574 _pthread_cond_wait + 1232
    2   libc++.1.dylib                           0x19b054ef0 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28
    3   pyrogenesis_dbg                          0x104c33e3c void std::__1::condition_variable::wait<Threading::WorkerThread::RunUntilDeath()::$_0>(std::__1::unique_lock<std::__1::mutex>&, Threading::WorkerThread::RunUntilDeath()::$_0) + 80
    4   pyrogenesis_dbg                          0x104c339a4 Threading::WorkerThread::RunUntilDeath() + 224
    5   pyrogenesis_dbg                          0x104c41184 decltype(*static_cast<Threading::WorkerThread*&>(fp0).*fp()) std::__1::__invoke<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&, void>(void (Threading::WorkerThread::*&&)(), Threading::WorkerThread*&) + 124
    6   pyrogenesis_dbg                          0x104c410dc std::__1::invoke_result<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&>::type std::__1::invoke<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&>(void (Threading::WorkerThread::*&&)(), Threading::WorkerThread*&) + 68
    7   pyrogenesis_dbg                          0x104c4106c void Threading::Thread::DoStart<Threading::WorkerThread, &Threading::WorkerThread::RunUntilDeath()>(Threading::WorkerThread*) + 60
    8   pyrogenesis_dbg                          0x104c40f04 Threading::HandleExceptionsBase<&void Threading::Thread::DoStart<Threading::WorkerThread, &Threading::WorkerThread::RunUntilDeath()>(Threading::WorkerThread*), void (*)(Threading::WorkerThread*)>::Wrapper(Threading::WorkerThread*) + 40
    9   pyrogenesis_dbg                          0x104c4297c decltype(static_cast<void (*>(fp)(static_cast<Threading::WorkerThread*>(fp0))) std::__1::__invoke<void (*)(Threading::WorkerThread*), Threading::WorkerThread*>(void (*&&)(Threading::WorkerThread*), Threading::WorkerThread*&&) + 56
    10  pyrogenesis_dbg                          0x104c4285c void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*>&, std::__1::__tuple_indices<2ul>) + 72
    11  pyrogenesis_dbg                          0x104c4175c void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*>>(void*) + 100
    12  libsystem_pthread.dylib                  0x19b12bfa8 _pthread_start + 148
    13  libsystem_pthread.dylib                  0x19b126da0 thread_start + 8

    Thread 4:: Task Mgr #3
    0   libsystem_kernel.dylib                   0x19b0ef710 __psynch_cvwait + 8
    1   libsystem_pthread.dylib                  0x19b12c574 _pthread_cond_wait + 1232
    2   libc++.1.dylib                           0x19b054ef0 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28
    3   pyrogenesis_dbg                          0x104c33e3c void std::__1::condition_variable::wait<Threading::WorkerThread::RunUntilDeath()::$_0>(std::__1::unique_lock<std::__1::mutex>&, Threading::WorkerThread::RunUntilDeath()::$_0) + 80
    4   pyrogenesis_dbg                          0x104c339a4 Threading::WorkerThread::RunUntilDeath() + 224
    5   pyrogenesis_dbg                          0x104c41184 decltype(*static_cast<Threading::WorkerThread*&>(fp0).*fp()) std::__1::__invoke<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&, void>(void (Threading::WorkerThread::*&&)(), Threading::WorkerThread*&) + 124
    6   pyrogenesis_dbg                          0x104c410dc std::__1::invoke_result<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&>::type std::__1::invoke<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&>(void (Threading::WorkerThread::*&&)(), Threading::WorkerThread*&) + 68
    7   pyrogenesis_dbg                          0x104c4106c void Threading::Thread::DoStart<Threading::WorkerThread, &Threading::WorkerThread::RunUntilDeath()>(Threading::WorkerThread*) + 60
    8   pyrogenesis_dbg                          0x104c40f04 Threading::HandleExceptionsBase<&void Threading::Thread::DoStart<Threading::WorkerThread, &Threading::WorkerThread::RunUntilDeath()>(Threading::WorkerThread*), void (*)(Threading::WorkerThread*)>::Wrapper(Threading::WorkerThread*) + 40
    9   pyrogenesis_dbg                          0x104c4297c decltype(static_cast<void (*>(fp)(static_cast<Threading::WorkerThread*>(fp0))) std::__1::__invoke<void (*)(Threading::WorkerThread*), Threading::WorkerThread*>(void (*&&)(Threading::WorkerThread*), Threading::WorkerThread*&&) + 56
    10  pyrogenesis_dbg                          0x104c4285c void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*>&, std::__1::__tuple_indices<2ul>) + 72
    11  pyrogenesis_dbg                          0x104c4175c void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*>>(void*) + 100
    12  libsystem_pthread.dylib                  0x19b12bfa8 _pthread_start + 148
    13  libsystem_pthread.dylib                  0x19b126da0 thread_start + 8

    Thread 5:: Task Mgr #2
    0   libsystem_kernel.dylib                   0x19b0ef710 __psynch_cvwait + 8
    1   libsystem_pthread.dylib                  0x19b12c574 _pthread_cond_wait + 1232
    2   libc++.1.dylib                           0x19b054ef0 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28
    3   pyrogenesis_dbg                          0x104c33e3c void std::__1::condition_variable::wait<Threading::WorkerThread::RunUntilDeath()::$_0>(std::__1::unique_lock<std::__1::mutex>&, Threading::WorkerThread::RunUntilDeath()::$_0) + 80
    4   pyrogenesis_dbg                          0x104c339a4 Threading::WorkerThread::RunUntilDeath() + 224
    5   pyrogenesis_dbg                          0x104c41184 decltype(*static_cast<Threading::WorkerThread*&>(fp0).*fp()) std::__1::__invoke<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&, void>(void (Threading::WorkerThread::*&&)(), Threading::WorkerThread*&) + 124
    6   pyrogenesis_dbg                          0x104c410dc std::__1::invoke_result<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&>::type std::__1::invoke<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&>(void (Threading::WorkerThread::*&&)(), Threading::WorkerThread*&) + 68
    7   pyrogenesis_dbg                          0x104c4106c void Threading::Thread::DoStart<Threading::WorkerThread, &Threading::WorkerThread::RunUntilDeath()>(Threading::WorkerThread*) + 60
    8   pyrogenesis_dbg                          0x104c40f04 Threading::HandleExceptionsBase<&void Threading::Thread::DoStart<Threading::WorkerThread, &Threading::WorkerThread::RunUntilDeath()>(Threading::WorkerThread*), void (*)(Threading::WorkerThread*)>::Wrapper(Threading::WorkerThread*) + 40
    9   pyrogenesis_dbg                          0x104c4297c decltype(static_cast<void (*>(fp)(static_cast<Threading::WorkerThread*>(fp0))) std::__1::__invoke<void (*)(Threading::WorkerThread*), Threading::WorkerThread*>(void (*&&)(Threading::WorkerThread*), Threading::WorkerThread*&&) + 56
    10  pyrogenesis_dbg                          0x104c4285c void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*>&, std::__1::__tuple_indices<2ul>) + 72
    11  pyrogenesis_dbg                          0x104c4175c void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*>>(void*) + 100
    12  libsystem_pthread.dylib                  0x19b12bfa8 _pthread_start + 148
    13  libsystem_pthread.dylib                  0x19b126da0 thread_start + 8

    Thread 6:: Task Mgr #4
    0   libsystem_kernel.dylib                   0x19b0ef710 __psynch_cvwait + 8
    1   libsystem_pthread.dylib                  0x19b12c574 _pthread_cond_wait + 1232
    2   libc++.1.dylib                           0x19b054ef0 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28
    3   pyrogenesis_dbg                          0x104c33e3c void std::__1::condition_variable::wait<Threading::WorkerThread::RunUntilDeath()::$_0>(std::__1::unique_lock<std::__1::mutex>&, Threading::WorkerThread::RunUntilDeath()::$_0) + 80
    4   pyrogenesis_dbg                          0x104c339a4 Threading::WorkerThread::RunUntilDeath() + 224
    5   pyrogenesis_dbg                          0x104c41184 decltype(*static_cast<Threading::WorkerThread*&>(fp0).*fp()) std::__1::__invoke<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&, void>(void (Threading::WorkerThread::*&&)(), Threading::WorkerThread*&) + 124
    6   pyrogenesis_dbg                          0x104c410dc std::__1::invoke_result<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&>::type std::__1::invoke<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&>(void (Threading::WorkerThread::*&&)(), Threading::WorkerThread*&) + 68
    7   pyrogenesis_dbg                          0x104c4106c void Threading::Thread::DoStart<Threading::WorkerThread, &Threading::WorkerThread::RunUntilDeath()>(Threading::WorkerThread*) + 60
    8   pyrogenesis_dbg                          0x104c40f04 Threading::HandleExceptionsBase<&void Threading::Thread::DoStart<Threading::WorkerThread, &Threading::WorkerThread::RunUntilDeath()>(Threading::WorkerThread*), void (*)(Threading::WorkerThread*)>::Wrapper(Threading::WorkerThread*) + 40
    9   pyrogenesis_dbg                          0x104c4297c decltype(static_cast<void (*>(fp)(static_cast<Threading::WorkerThread*>(fp0))) std::__1::__invoke<void (*)(Threading::WorkerThread*), Threading::WorkerThread*>(void (*&&)(Threading::WorkerThread*), Threading::WorkerThread*&&) + 56
    10  pyrogenesis_dbg                          0x104c4285c void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*>&, std::__1::__tuple_indices<2ul>) + 72
    11  pyrogenesis_dbg                          0x104c4175c void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*>>(void*) + 100
    12  libsystem_pthread.dylib                  0x19b12bfa8 _pthread_start + 148
    13  libsystem_pthread.dylib                  0x19b126da0 thread_start + 8

    Thread 7:: Task Mgr #6
    0   libsystem_kernel.dylib                   0x19b0ef710 __psynch_cvwait + 8
    1   libsystem_pthread.dylib                  0x19b12c574 _pthread_cond_wait + 1232
    2   libc++.1.dylib                           0x19b054ef0 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28
    3   pyrogenesis_dbg                          0x104c33e3c void std::__1::condition_variable::wait<Threading::WorkerThread::RunUntilDeath()::$_0>(std::__1::unique_lock<std::__1::mutex>&, Threading::WorkerThread::RunUntilDeath()::$_0) + 80
    4   pyrogenesis_dbg                          0x104c339a4 Threading::WorkerThread::RunUntilDeath() + 224
    5   pyrogenesis_dbg                          0x104c41184 decltype(*static_cast<Threading::WorkerThread*&>(fp0).*fp()) std::__1::__invoke<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&, void>(void (Threading::WorkerThread::*&&)(), Threading::WorkerThread*&) + 124
    6   pyrogenesis_dbg                          0x104c410dc std::__1::invoke_result<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&>::type std::__1::invoke<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&>(void (Threading::WorkerThread::*&&)(), Threading::WorkerThread*&) + 68
    7   pyrogenesis_dbg                          0x104c4106c void Threading::Thread::DoStart<Threading::WorkerThread, &Threading::WorkerThread::RunUntilDeath()>(Threading::WorkerThread*) + 60
    8   pyrogenesis_dbg                          0x104c40f04 Threading::HandleExceptionsBase<&void Threading::Thread::DoStart<Threading::WorkerThread, &Threading::WorkerThread::RunUntilDeath()>(Threading::WorkerThread*), void (*)(Threading::WorkerThread*)>::Wrapper(Threading::WorkerThread*) + 40
    9   pyrogenesis_dbg                          0x104c4297c decltype(static_cast<void (*>(fp)(static_cast<Threading::WorkerThread*>(fp0))) std::__1::__invoke<void (*)(Threading::WorkerThread*), Threading::WorkerThread*>(void (*&&)(Threading::WorkerThread*), Threading::WorkerThread*&&) + 56
    10  pyrogenesis_dbg                          0x104c4285c void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*>&, std::__1::__tuple_indices<2ul>) + 72
    11  pyrogenesis_dbg                          0x104c4175c void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*>>(void*) + 100
    12  libsystem_pthread.dylib                  0x19b12bfa8 _pthread_start + 148
    13  libsystem_pthread.dylib                  0x19b126da0 thread_start + 8

    Thread 8:: Task Mgr #7
    0   libsystem_kernel.dylib                   0x19b0ef710 __psynch_cvwait + 8
    1   libsystem_pthread.dylib                  0x19b12c574 _pthread_cond_wait + 1232
    2   libc++.1.dylib                           0x19b054ef0 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28
    3   pyrogenesis_dbg                          0x104c33e3c void std::__1::condition_variable::wait<Threading::WorkerThread::RunUntilDeath()::$_0>(std::__1::unique_lock<std::__1::mutex>&, Threading::WorkerThread::RunUntilDeath()::$_0) + 80
    4   pyrogenesis_dbg                          0x104c339a4 Threading::WorkerThread::RunUntilDeath() + 224
    5   pyrogenesis_dbg                          0x104c41184 decltype(*static_cast<Threading::WorkerThread*&>(fp0).*fp()) std::__1::__invoke<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&, void>(void (Threading::WorkerThread::*&&)(), Threading::WorkerThread*&) + 124
    6   pyrogenesis_dbg                          0x104c410dc std::__1::invoke_result<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&>::type std::__1::invoke<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&>(void (Threading::WorkerThread::*&&)(), Threading::WorkerThread*&) + 68
    7   pyrogenesis_dbg                          0x104c4106c void Threading::Thread::DoStart<Threading::WorkerThread, &Threading::WorkerThread::RunUntilDeath()>(Threading::WorkerThread*) + 60
    8   pyrogenesis_dbg                          0x104c40f04 Threading::HandleExceptionsBase<&void Threading::Thread::DoStart<Threading::WorkerThread, &Threading::WorkerThread::RunUntilDeath()>(Threading::WorkerThread*), void (*)(Threading::WorkerThread*)>::Wrapper(Threading::WorkerThread*) + 40
    9   pyrogenesis_dbg                          0x104c4297c decltype(static_cast<void (*>(fp)(static_cast<Threading::WorkerThread*>(fp0))) std::__1::__invoke<void (*)(Threading::WorkerThread*), Threading::WorkerThread*>(void (*&&)(Threading::WorkerThread*), Threading::WorkerThread*&&) + 56
    10  pyrogenesis_dbg                          0x104c4285c void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*>&, std::__1::__tuple_indices<2ul>) + 72
    11  pyrogenesis_dbg                          0x104c4175c void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*>>(void*) + 100
    12  libsystem_pthread.dylib                  0x19b12bfa8 _pthread_start + 148
    13  libsystem_pthread.dylib                  0x19b126da0 thread_start + 8

    Thread 9:: Task Mgr #8
    0   libsystem_kernel.dylib                   0x19b0ef710 __psynch_cvwait + 8
    1   libsystem_pthread.dylib                  0x19b12c574 _pthread_cond_wait + 1232
    2   libc++.1.dylib                           0x19b054ef0 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28
    3   pyrogenesis_dbg                          0x104c33e3c void std::__1::condition_variable::wait<Threading::WorkerThread::RunUntilDeath()::$_0>(std::__1::unique_lock<std::__1::mutex>&, Threading::WorkerThread::RunUntilDeath()::$_0) + 80
    4   pyrogenesis_dbg                          0x104c339a4 Threading::WorkerThread::RunUntilDeath() + 224
    5   pyrogenesis_dbg                          0x104c41184 decltype(*static_cast<Threading::WorkerThread*&>(fp0).*fp()) std::__1::__invoke<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&, void>(void (Threading::WorkerThread::*&&)(), Threading::WorkerThread*&) + 124
    6   pyrogenesis_dbg                          0x104c410dc std::__1::invoke_result<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&>::type std::__1::invoke<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&>(void (Threading::WorkerThread::*&&)(), Threading::WorkerThread*&) + 68
    7   pyrogenesis_dbg                          0x104c4106c void Threading::Thread::DoStart<Threading::WorkerThread, &Threading::WorkerThread::RunUntilDeath()>(Threading::WorkerThread*) + 60
    8   pyrogenesis_dbg                          0x104c40f04 Threading::HandleExceptionsBase<&void Threading::Thread::DoStart<Threading::WorkerThread, &Threading::WorkerThread::RunUntilDeath()>(Threading::WorkerThread*), void (*)(Threading::WorkerThread*)>::Wrapper(Threading::WorkerThread*) + 40
    9   pyrogenesis_dbg                          0x104c4297c decltype(static_cast<void (*>(fp)(static_cast<Threading::WorkerThread*>(fp0))) std::__1::__invoke<void (*)(Threading::WorkerThread*), Threading::WorkerThread*>(void (*&&)(Threading::WorkerThread*), Threading::WorkerThread*&&) + 56
    10  pyrogenesis_dbg                          0x104c4285c void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*>&, std::__1::__tuple_indices<2ul>) + 72
    11  pyrogenesis_dbg                          0x104c4175c void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*>>(void*) + 100
    12  libsystem_pthread.dylib                  0x19b12bfa8 _pthread_start + 148
    13  libsystem_pthread.dylib                  0x19b126da0 thread_start + 8

    Thread 10:: JS Helper
    0   libsystem_kernel.dylib                   0x19b0ef710 __psynch_cvwait + 8
    1   libsystem_pthread.dylib                  0x19b12c574 _pthread_cond_wait + 1232
    2   pyrogenesis_dbg                          0x10726a88c mozilla::detail::ConditionVariableImpl::wait(mozilla::detail::MutexImpl&) + 84
    3   pyrogenesis_dbg                          0x10726a94c mozilla::detail::ConditionVariableImpl::wait_for(mozilla::detail::MutexImpl&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&) + 100
    4   pyrogenesis_dbg                          0x105dea744 js::ConditionVariable::wait_for(js::LockGuard<js::Mutex>&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&) + 72
    5   pyrogenesis_dbg                          0x105e03730 js::InternalThreadPool::wait(js::AutoLockHelperThreadState&) + 80
    6   pyrogenesis_dbg                          0x105e03bf0 js::HelperThread::threadLoop(js::InternalThreadPool*) + 280
    7   pyrogenesis_dbg                          0x105e03a3c js::HelperThread::ThreadMain(js::InternalThreadPool*, js::HelperThread*) + 52
    8   pyrogenesis_dbg                          0x105e72344 void js::detail::ThreadTrampoline<void (&)(js::InternalThreadPool*, js::HelperThread*), js::InternalThreadPool*&, js::HelperThread*>::callMain<0ul, 1ul>(std::__1::integer_sequence<unsigned long, 0ul, 1ul>) + 104
    9   pyrogenesis_dbg                          0x105e720ac js::detail::ThreadTrampoline<void (&)(js::InternalThreadPool*, js::HelperThread*), js::InternalThreadPool*&, js::HelperThread*>::Start(void*) + 40
    10  libsystem_pthread.dylib                  0x19b12bfa8 _pthread_start + 148
    11  libsystem_pthread.dylib                  0x19b126da0 thread_start + 8

    Thread 11:: JS Helper
    0   libsystem_kernel.dylib                   0x19b0ef710 __psynch_cvwait + 8
    1   libsystem_pthread.dylib                  0x19b12c574 _pthread_cond_wait + 1232
    2   pyrogenesis_dbg                          0x10726a88c mozilla::detail::ConditionVariableImpl::wait(mozilla::detail::MutexImpl&) + 84
    3   pyrogenesis_dbg                          0x10726a94c mozilla::detail::ConditionVariableImpl::wait_for(mozilla::detail::MutexImpl&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&) + 100
    4   pyrogenesis_dbg                          0x105dea744 js::ConditionVariable::wait_for(js::LockGuard<js::Mutex>&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&) + 72
    5   pyrogenesis_dbg                          0x105e03730 js::InternalThreadPool::wait(js::AutoLockHelperThreadState&) + 80
    6   pyrogenesis_dbg                          0x105e03bf0 js::HelperThread::threadLoop(js::InternalThreadPool*) + 280
    7   pyrogenesis_dbg                          0x105e03a3c js::HelperThread::ThreadMain(js::InternalThreadPool*, js::HelperThread*) + 52
    8   pyrogenesis_dbg                          0x105e72344 void js::detail::ThreadTrampoline<void (&)(js::InternalThreadPool*, js::HelperThread*), js::InternalThreadPool*&, js::HelperThread*>::callMain<0ul, 1ul>(std::__1::integer_sequence<unsigned long, 0ul, 1ul>) + 104
    9   pyrogenesis_dbg                          0x105e720ac js::detail::ThreadTrampoline<void (&)(js::InternalThreadPool*, js::HelperThread*), js::InternalThreadPool*&, js::HelperThread*>::Start(void*) + 40
    10  libsystem_pthread.dylib                  0x19b12bfa8 _pthread_start + 148
    11  libsystem_pthread.dylib                  0x19b126da0 thread_start + 8

    Thread 12:: JS Helper
    0   libsystem_kernel.dylib                   0x19b0ef710 __psynch_cvwait + 8
    1   libsystem_pthread.dylib                  0x19b12c574 _pthread_cond_wait + 1232
    2   pyrogenesis_dbg                          0x10726a88c mozilla::detail::ConditionVariableImpl::wait(mozilla::detail::MutexImpl&) + 84
    3   pyrogenesis_dbg                          0x10726a94c mozilla::detail::ConditionVariableImpl::wait_for(mozilla::detail::MutexImpl&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&) + 100
    4   pyrogenesis_dbg                          0x105dea744 js::ConditionVariable::wait_for(js::LockGuard<js::Mutex>&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&) + 72
    5   pyrogenesis_dbg                          0x105e03730 js::InternalThreadPool::wait(js::AutoLockHelperThreadState&) + 80
    6   pyrogenesis_dbg                          0x105e03bf0 js::HelperThread::threadLoop(js::InternalThreadPool*) + 280
    7   pyrogenesis_dbg                          0x105e03a3c js::HelperThread::ThreadMain(js::InternalThreadPool*, js::HelperThread*) + 52
    8   pyrogenesis_dbg                          0x105e72344 void js::detail::ThreadTrampoline<void (&)(js::InternalThreadPool*, js::HelperThread*), js::InternalThreadPool*&, js::HelperThread*>::callMain<0ul, 1ul>(std::__1::integer_sequence<unsigned long, 0ul, 1ul>) + 104
    9   pyrogenesis_dbg                          0x105e720ac js::detail::ThreadTrampoline<void (&)(js::InternalThreadPool*, js::HelperThread*), js::InternalThreadPool*&, js::HelperThread*>::Start(void*) + 40
    10  libsystem_pthread.dylib                  0x19b12bfa8 _pthread_start + 148
    11  libsystem_pthread.dylib                  0x19b126da0 thread_start + 8

    Thread 13:: JS Helper
    0   libsystem_kernel.dylib                   0x19b0ef710 __psynch_cvwait + 8
    1   libsystem_pthread.dylib                  0x19b12c574 _pthread_cond_wait + 1232
    2   pyrogenesis_dbg                          0x10726a88c mozilla::detail::ConditionVariableImpl::wait(mozilla::detail::MutexImpl&) + 84
    3   pyrogenesis_dbg                          0x10726a94c mozilla::detail::ConditionVariableImpl::wait_for(mozilla::detail::MutexImpl&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&) + 100
    4   pyrogenesis_dbg                          0x105dea744 js::ConditionVariable::wait_for(js::LockGuard<js::Mutex>&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&) + 72
    5   pyrogenesis_dbg                          0x105e03730 js::InternalThreadPool::wait(js::AutoLockHelperThreadState&) + 80
    6   pyrogenesis_dbg                          0x105e03bf0 js::HelperThread::threadLoop(js::InternalThreadPool*) + 280
    7   pyrogenesis_dbg                          0x105e03a3c js::HelperThread::ThreadMain(js::InternalThreadPool*, js::HelperThread*) + 52
    8   pyrogenesis_dbg                          0x105e72344 void js::detail::ThreadTrampoline<void (&)(js::InternalThreadPool*, js::HelperThread*), js::InternalThreadPool*&, js::HelperThread*>::callMain<0ul, 1ul>(std::__1::integer_sequence<unsigned long, 0ul, 1ul>) + 104
    9   pyrogenesis_dbg                          0x105e720ac js::detail::ThreadTrampoline<void (&)(js::InternalThreadPool*, js::HelperThread*), js::InternalThreadPool*&, js::HelperThread*>::Start(void*) + 40
    10  libsystem_pthread.dylib                  0x19b12bfa8 _pthread_start + 148
    11  libsystem_pthread.dylib                  0x19b126da0 thread_start + 8

    Thread 14:: JS Helper
    0   libsystem_kernel.dylib                   0x19b0ef710 __psynch_cvwait + 8
    1   libsystem_pthread.dylib                  0x19b12c574 _pthread_cond_wait + 1232
    2   pyrogenesis_dbg                          0x10726a88c mozilla::detail::ConditionVariableImpl::wait(mozilla::detail::MutexImpl&) + 84
    3   pyrogenesis_dbg                          0x10726a94c mozilla::detail::ConditionVariableImpl::wait_for(mozilla::detail::MutexImpl&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&) + 100
    4   pyrogenesis_dbg                          0x105dea744 js::ConditionVariable::wait_for(js::LockGuard<js::Mutex>&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&) + 72
    5   pyrogenesis_dbg                          0x105e03730 js::InternalThreadPool::wait(js::AutoLockHelperThreadState&) + 80
    6   pyrogenesis_dbg                          0x105e03bf0 js::HelperThread::threadLoop(js::InternalThreadPool*) + 280
    7   pyrogenesis_dbg                          0x105e03a3c js::HelperThread::ThreadMain(js::InternalThreadPool*, js::HelperThread*) + 52
    8   pyrogenesis_dbg                          0x105e72344 void js::detail::ThreadTrampoline<void (&)(js::InternalThreadPool*, js::HelperThread*), js::InternalThreadPool*&, js::HelperThread*>::callMain<0ul, 1ul>(std::__1::integer_sequence<unsigned long, 0ul, 1ul>) + 104
    9   pyrogenesis_dbg                          0x105e720ac js::detail::ThreadTrampoline<void (&)(js::InternalThreadPool*, js::HelperThread*), js::InternalThreadPool*&, js::HelperThread*>::Start(void*) + 40
    10  libsystem_pthread.dylib                  0x19b12bfa8 _pthread_start + 148
    11  libsystem_pthread.dylib                  0x19b126da0 thread_start + 8

    Thread 15:: JS Helper
    0   libsystem_kernel.dylib                   0x19b0ef710 __psynch_cvwait + 8
    1   libsystem_pthread.dylib                  0x19b12c574 _pthread_cond_wait + 1232
    2   pyrogenesis_dbg                          0x10726a88c mozilla::detail::ConditionVariableImpl::wait(mozilla::detail::MutexImpl&) + 84
    3   pyrogenesis_dbg                          0x10726a94c mozilla::detail::ConditionVariableImpl::wait_for(mozilla::detail::MutexImpl&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&) + 100
    4   pyrogenesis_dbg                          0x105dea744 js::ConditionVariable::wait_for(js::LockGuard<js::Mutex>&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&) + 72
    5   pyrogenesis_dbg                          0x105e03730 js::InternalThreadPool::wait(js::AutoLockHelperThreadState&) + 80
    6   pyrogenesis_dbg                          0x105e03bf0 js::HelperThread::threadLoop(js::InternalThreadPool*) + 280
    7   pyrogenesis_dbg                          0x105e03a3c js::HelperThread::ThreadMain(js::InternalThreadPool*, js::HelperThread*) + 52
    8   pyrogenesis_dbg                          0x105e72344 void js::detail::ThreadTrampoline<void (&)(js::InternalThreadPool*, js::HelperThread*), js::InternalThreadPool*&, js::HelperThread*>::callMain<0ul, 1ul>(std::__1::integer_sequence<unsigned long, 0ul, 1ul>) + 104
    9   pyrogenesis_dbg                          0x105e720ac js::detail::ThreadTrampoline<void (&)(js::InternalThreadPool*, js::HelperThread*), js::InternalThreadPool*&, js::HelperThread*>::Start(void*) + 40
    10  libsystem_pthread.dylib                  0x19b12bfa8 _pthread_start + 148
    11  libsystem_pthread.dylib                  0x19b126da0 thread_start + 8

    Thread 16:: JS Helper
    0   libsystem_kernel.dylib                   0x19b0ef710 __psynch_cvwait + 8
    1   libsystem_pthread.dylib                  0x19b12c574 _pthread_cond_wait + 1232
    2   pyrogenesis_dbg                          0x10726a88c mozilla::detail::ConditionVariableImpl::wait(mozilla::detail::MutexImpl&) + 84
    3   pyrogenesis_dbg                          0x10726a94c mozilla::detail::ConditionVariableImpl::wait_for(mozilla::detail::MutexImpl&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&) + 100
    4   pyrogenesis_dbg                          0x105dea744 js::ConditionVariable::wait_for(js::LockGuard<js::Mutex>&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&) + 72
    5   pyrogenesis_dbg                          0x105e03730 js::InternalThreadPool::wait(js::AutoLockHelperThreadState&) + 80
    6   pyrogenesis_dbg                          0x105e03bf0 js::HelperThread::threadLoop(js::InternalThreadPool*) + 280
    7   pyrogenesis_dbg                          0x105e03a3c js::HelperThread::ThreadMain(js::InternalThreadPool*, js::HelperThread*) + 52
    8   pyrogenesis_dbg                          0x105e72344 void js::detail::ThreadTrampoline<void (&)(js::InternalThreadPool*, js::HelperThread*), js::InternalThreadPool*&, js::HelperThread*>::callMain<0ul, 1ul>(std::__1::integer_sequence<unsigned long, 0ul, 1ul>) + 104
    9   pyrogenesis_dbg                          0x105e720ac js::detail::ThreadTrampoline<void (&)(js::InternalThreadPool*, js::HelperThread*), js::InternalThreadPool*&, js::HelperThread*>::Start(void*) + 40
    10  libsystem_pthread.dylib                  0x19b12bfa8 _pthread_start + 148
    11  libsystem_pthread.dylib                  0x19b126da0 thread_start + 8

    Thread 17:: JS Helper
    0   libsystem_kernel.dylib                   0x19b0ef710 __psynch_cvwait + 8
    1   libsystem_pthread.dylib                  0x19b12c574 _pthread_cond_wait + 1232
    2   pyrogenesis_dbg                          0x10726a88c mozilla::detail::ConditionVariableImpl::wait(mozilla::detail::MutexImpl&) + 84
    3   pyrogenesis_dbg                          0x10726a94c mozilla::detail::ConditionVariableImpl::wait_for(mozilla::detail::MutexImpl&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&) + 100
    4   pyrogenesis_dbg                          0x105dea744 js::ConditionVariable::wait_for(js::LockGuard<js::Mutex>&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&) + 72
    5   pyrogenesis_dbg                          0x105e03730 js::InternalThreadPool::wait(js::AutoLockHelperThreadState&) + 80
    6   pyrogenesis_dbg                          0x105e03bf0 js::HelperThread::threadLoop(js::InternalThreadPool*) + 280
    7   pyrogenesis_dbg                          0x105e03a3c js::HelperThread::ThreadMain(js::InternalThreadPool*, js::HelperThread*) + 52
    8   pyrogenesis_dbg                          0x105e72344 void js::detail::ThreadTrampoline<void (&)(js::InternalThreadPool*, js::HelperThread*), js::InternalThreadPool*&, js::HelperThread*>::callMain<0ul, 1ul>(std::__1::integer_sequence<unsigned long, 0ul, 1ul>) + 104
    9   pyrogenesis_dbg                          0x105e720ac js::detail::ThreadTrampoline<void (&)(js::InternalThreadPool*, js::HelperThread*), js::InternalThreadPool*&, js::HelperThread*>::Start(void*) + 40
    10  libsystem_pthread.dylib                  0x19b12bfa8 _pthread_start + 148
    11  libsystem_pthread.dylib                  0x19b126da0 thread_start + 8

    Thread 18:: JS Wasm MachExceptionHandler
    0   libsystem_kernel.dylib                   0x19b0ebf14 mach_msg2_trap + 8
    1   libsystem_kernel.dylib                   0x19b0fe240 mach_msg2_internal + 80
    2   libsystem_kernel.dylib                   0x19b0f4b78 mach_msg_overwrite + 604
    3   libsystem_kernel.dylib                   0x19b0ec290 mach_msg + 24
    4   pyrogenesis_dbg                          0x10721a26c MachExceptionHandlerThread() + 92
    5   pyrogenesis_dbg                          0x1063402bc void js::detail::ThreadTrampoline<void (&)()>::callMain<>(std::__1::integer_sequence<unsigned long>) + 56
    6   pyrogenesis_dbg                          0x1063401ec js::detail::ThreadTrampoline<void (&)()>::Start(void*) + 40
    7   libsystem_pthread.dylib                  0x19b12bfa8 _pthread_start + 148
    8   libsystem_pthread.dylib                  0x19b126da0 thread_start + 8

    Thread 19:
    0   libsystem_pthread.dylib                  0x19b126d8c start_wqthread + 0

    Thread 20:
    0   libsystem_pthread.dylib                  0x19b126d8c start_wqthread + 0

    Thread 21:: caulk.messenger.shared:17
    0   libsystem_kernel.dylib                   0x19b0ebe90 semaphore_wait_trap + 8
    1   caulk                                    0x1a474a024 caulk::semaphore::timed_wait(double) + 212
    2   caulk                                    0x1a4749ed8 caulk::concurrent::details::worker_thread::run() + 36
    3   caulk                                    0x1a4749bc8 void* caulk::thread_proxy<std::__1::tuple<caulk::thread::attributes, void (caulk::concurrent::details::worker_thread::*)(), std::__1::tuple<caulk::concurrent::details::worker_thread*>>>(void*) + 96
    4   libsystem_pthread.dylib                  0x19b12bfa8 _pthread_start + 148
    5   libsystem_pthread.dylib                  0x19b126da0 thread_start + 8

    Thread 22:
    0   libsystem_pthread.dylib                  0x19b126d8c start_wqthread + 0

    Thread 23:
    0   libsystem_pthread.dylib                  0x19b126d8c start_wqthread + 0

    Thread 24:: com.apple.NSEventThread
    0   CoreFoundation                           0x19b1cf440 CFSetGetValue + 208
    1   CoreFoundation                           0x19b2dcc90 __CFRunLoopCopyMode + 148
    2   CoreFoundation                           0x19b24b64c CFRunLoopTimerSetNextFireDate + 412
    3   HIToolbox                                0x1a4a494f0 PullEventsFromWindowServerOnConnection(unsigned int, unsigned char, __CFMachPortBoost*) + 452
    4   HIToolbox                                0x1a4a492f0 MessageHandler(__CFMachPort*, void*, long, void*) + 60
    5   CoreFoundation                           0x19b23a2d0 __CFMachPortPerform + 248
    6   CoreFoundation                           0x19b20aca0 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 60
    7   CoreFoundation                           0x19b20abc0 __CFRunLoopDoSource1 + 520
    8   CoreFoundation                           0x19b2095a0 __CFRunLoopRun + 2240
    9   CoreFoundation                           0x19b20858c CFRunLoopRunSpecific + 612
    10  AppKit                                   0x19e552508 _NSEventThread + 172
    11  libsystem_pthread.dylib                  0x19b12bfa8 _pthread_start + 148
    12  libsystem_pthread.dylib                  0x19b126da0 thread_start + 8

    Thread 25:
    0   libsystem_pthread.dylib                  0x19b126d8c start_wqthread + 0

    Thread 26:
    0   libsystem_pthread.dylib                  0x19b126d8c start_wqthread + 0

    Thread 27:: com.apple.audio.IOThread.client
    0   libsystem_kernel.dylib                   0x19b0ebf14 mach_msg2_trap + 8
    1   libsystem_kernel.dylib                   0x19b0fe240 mach_msg2_internal + 80
    2   libsystem_kernel.dylib                   0x19b0f4b78 mach_msg_overwrite + 604
    3   libsystem_kernel.dylib                   0x19b0ec290 mach_msg + 24
    4   CoreAudio                                0x19d515624 HALB_MachPort::SendSimpleMessageWithSimpleReply(unsigned int, unsigned int, int, int&, bool, unsigned int) + 104
    5   CoreAudio                                0x19d402d14 HALC_ProxyIOContext::IOWorkLoop() + 3516
    6   CoreAudio                                0x19d40187c invocation function for block in HALC_ProxyIOContext::HALC_ProxyIOContext(unsigned int, unsigned int) + 116
    7   CoreAudio                                0x19d564564 HALB_IOThread::Entry(void*) + 88
    8   libsystem_pthread.dylib                  0x19b12bfa8 _pthread_start + 148
    9   libsystem_pthread.dylib                  0x19b126da0 thread_start + 8

    Thread 28:: CSoundManagerWorker
    0   libsystem_kernel.dylib                   0x19b0ef50c __semwait_signal + 8
    1   libsystem_c.dylib                        0x19afd02d0 nanosleep + 220
    2   pyrogenesis_dbg                          0x105b509f8 SDL_Delay_REAL + 104
    3   pyrogenesis_dbg                          0x1059fabfc SDL_Delay + 36
    4   pyrogenesis_dbg                          0x104da6e30 CSoundManagerWorker::Run() + 656
    5   pyrogenesis_dbg                          0x104da6b54 CSoundManagerWorker::RunThread(CSoundManagerWorker*) + 100
    6   pyrogenesis_dbg                          0x104da6568 Threading::HandleExceptionsBase<&CSoundManagerWorker::RunThread(CSoundManagerWorker*), void (*)(CSoundManagerWorker*)>::Wrapper(CSoundManagerWorker*) + 40
    7   pyrogenesis_dbg                          0x104daa070 decltype(static_cast<void (*>(fp)(static_cast<CSoundManagerWorker*>(fp0))) std::__1::__invoke<void (*)(CSoundManagerWorker*), CSoundManagerWorker*>(void (*&&)(CSoundManagerWorker*), CSoundManagerWorker*&&) + 56
    8   pyrogenesis_dbg                          0x104da9f50 void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(CSoundManagerWorker*), CSoundManagerWorker*, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(CSoundManagerWorker*), CSoundManagerWorker*>&, std::__1::__tuple_indices<2ul>) + 72
    9   pyrogenesis_dbg                          0x104da8e50 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(CSoundManagerWorker*), CSoundManagerWorker*>>(void*) + 100
    10  libsystem_pthread.dylib                  0x19b12bfa8 _pthread_start + 148
    11  libsystem_pthread.dylib                  0x19b126da0 thread_start + 8

    Thread 29:: CUserReportWorker
    0   libsystem_kernel.dylib                   0x19b0ef710 __psynch_cvwait + 8
    1   libsystem_pthread.dylib                  0x19b12c574 _pthread_cond_wait + 1232
    2   libc++.1.dylib                           0x19b054ef0 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28
    3   pyrogenesis_dbg                          0x104c612c4 CUserReporterWorker::Run() + 488
    4   pyrogenesis_dbg                          0x104c61090 CUserReporterWorker::RunThread(CUserReporterWorker*) + 100
    5   pyrogenesis_dbg                          0x104c5e4e8 Threading::HandleExceptionsBase<&CUserReporterWorker::RunThread(CUserReporterWorker*), void (*)(CUserReporterWorker*)>::Wrapper(CUserReporterWorker*) + 40
    6   pyrogenesis_dbg                          0x104c69018 decltype(static_cast<void (*>(fp)(static_cast<CUserReporterWorker*>(fp0))) std::__1::__invoke<void (*)(CUserReporterWorker*), CUserReporterWorker*>(void (*&&)(CUserReporterWorker*), CUserReporterWorker*&&) + 56
    7   pyrogenesis_dbg                          0x104c68ef8 void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(CUserReporterWorker*), CUserReporterWorker*, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(CUserReporterWorker*), CUserReporterWorker*>&, std::__1::__tuple_indices<2ul>) + 72
    8   pyrogenesis_dbg                          0x104c67df8 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(CUserReporterWorker*), CUserReporterWorker*>>(void*) + 100
    9   libsystem_pthread.dylib                  0x19b12bfa8 _pthread_start + 148
    10  libsystem_pthread.dylib                  0x19b126da0 thread_start + 8

    Thread 30:: SDLTimer
    0   libsystem_kernel.dylib                   0x19b0ef710 __psynch_cvwait + 8
    1   libsystem_pthread.dylib                  0x19b12c574 _pthread_cond_wait + 1232
    2   pyrogenesis_dbg                          0x105b301d0 SDL_CondWaitTimeout_REAL + 208
    3   pyrogenesis_dbg                          0x105b2fb88 SDL_SemWaitTimeout_REAL + 196
    4   pyrogenesis_dbg                          0x105a8e238 SDL_TimerThread + 624
    5   pyrogenesis_dbg                          0x105a8d9e8 SDL_RunThread + 88
    6   pyrogenesis_dbg                          0x105b2f404 RunThread + 24
    7   libsystem_pthread.dylib                  0x19b12bfa8 _pthread_start + 148
    8   libsystem_pthread.dylib                  0x19b126da0 thread_start + 8

    Thread 31:: TextureConverter
    0   libsystem_kernel.dylib                   0x19b0ef710 __psynch_cvwait + 8
    1   libsystem_pthread.dylib                  0x19b12c574 _pthread_cond_wait + 1232
    2   libc++.1.dylib                           0x19b054ef0 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28
    3   pyrogenesis_dbg                          0x1050ea3b4 CTextureConverter::RunThread(CTextureConverter*) + 160
    4   pyrogenesis_dbg                          0x1050e82ac Threading::HandleExceptionsBase<&CTextureConverter::RunThread(CTextureConverter*), void (*)(CTextureConverter*)>::Wrapper(CTextureConverter*) + 40
    5   pyrogenesis_dbg                          0x1050f9284 decltype(static_cast<void (*>(fp)(static_cast<CTextureConverter*>(fp0))) std::__1::__invoke<void (*)(CTextureConverter*), CTextureConverter*>(void (*&&)(CTextureConverter*), CTextureConverter*&&) + 56
    6   pyrogenesis_dbg                          0x1050f9164 void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(CTextureConverter*), CTextureConverter*, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(CTextureConverter*), CTextureConverter*>&, std::__1::__tuple_indices<2ul>) + 72
    7   pyrogenesis_dbg                          0x1050f8064 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(CTextureConverter*), CTextureConverter*>>(void*) + 100
    8   libsystem_pthread.dylib                  0x19b12bfa8 _pthread_start + 148
    9   libsystem_pthread.dylib                  0x19b126da0 thread_start + 8


    Thread 0 crashed with ARM Thread State (64-bit):
        x0: 0xffffffffffffffff   x1: 0x0000000144bfffe0   x2: 0x0000000144c00010   x3: 0x0000000109cbd708
        x4: 0x0000000000000004   x5: 0x0000000000000000   x6: 0x0000000000000000   x7: 0x0000000000000000
        x8: 0x0000000000000000   x9: 0x0000000000000000  x10: 0x0000000000000000  x11: 0x0000000000000000
       x12: 0x7473610068636e69  x13: 0x6163696d6f6e6f72  x14: 0x00000000ffffffff  x15: 0x00000000d0efb0b8
       x16: 0xd79600010f774080  x17: 0x0000000000000000  x18: 0x0000000000000000  x19: 0x000000010412bf60
       x20: 0x000000010f720000  x21: 0x000000010f721910  x22: 0x000000016bcd79b0  x23: 0x000000019ae4e366
       x24: 0x000000016bcd7930  x25: 0x0000000000000001  x26: 0x0000000000000000  x27: 0x0000000000000000
       x28: 0x0000000000000000   fp: 0x000000016bcd5bb0   lr: 0x0000000107ba8c34
        sp: 0x000000016bcd5b80   pc: 0x0000000107bc4dc4 cpsr: 0x40001000
       far: 0x0000000144c00000  esr: 0x9200004f (Data Abort) byte write Permission fault

    Binary Images:
           0x104128000 -        0x109d73fff com.wfg.com (0.0.27-rc1-27645) <eecfa934-d78f-33c8-8cf9-c20935cfb63d> /Applications/0 A.D..app/Contents/MacOS/pyrogenesis_dbg
           0x10fb88000 -        0x10fcbbfff com.apple.audio.units.Components (1.14) <3318bd64-e64f-3e69-991d-605d1bc10d7d> /System/Library/Components/CoreAudio.component/Contents/MacOS/CoreAudio
           0x132200000 -        0x132b0ffff com.apple.audio.AudioDSPComponents (1.0) <8bb98236-6907-3ad1-8a3a-54552b32953b> /System/Library/Components/AudioDSP.component/Contents/MacOS/AudioDSP
           0x132dd8000 -        0x132de3fff libobjc-trampolines.dylib (*) <80f14f3d-d099-3693-a8e0-eb9a526b1790> /usr/lib/libobjc-trampolines.dylib
           0x141724000 -        0x14178ffff com.apple.AppleMetalOpenGLRenderer (1.0) <7651840d-f268-3dea-ab6e-979cd46d3b2b> /System/Library/Extensions/AppleMetalOpenGLRenderer.bundle/Contents/MacOS/AppleMetalOpenGLRenderer
           0x19adce000 -        0x19ae5c53b dyld (*) <ac277a36-1808-327a-8761-cca585421212> /usr/lib/dyld
           0x19b0eb000 -        0x19b124fe7 libsystem_kernel.dylib (*) <7acbd9bc-d056-310e-858d-81b116cf6d28> /usr/lib/system/libsystem_kernel.dylib
           0x19b125000 -        0x19b131fff libsystem_pthread.dylib (*) <b401cfb3-8dfe-32db-92b3-ba8af0f8ca6e> /usr/lib/system/libsystem_pthread.dylib
           0x19b042000 -        0x19b0ceff7 libc++.1.dylib (*) <79cab92f-5e03-31e7-b2bd-feafdfd2bbde> /usr/lib/libc++.1.dylib
           0x1a4748000 -        0x1a4770fff com.apple.audio.caulk (1.0) <06456788-36d4-3e9d-ab9a-eab934756fe4> /System/Library/PrivateFrameworks/caulk.framework/Versions/A/caulk
           0x19b18b000 -        0x19b664fff com.apple.CoreFoundation (6.9) <b4fdaece-9727-3969-b014-27f7f24c8e01> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
           0x1a4a0d000 -        0x1a4d40fff com.apple.HIToolbox (2.1.1) <5f34bbf5-653a-31a5-b4b3-0a02c91ab488> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox
           0x19e3ef000 -        0x19f2fdfff com.apple.AppKit (6.9) <cc3e5215-4cd7-364c-8750-6eb7002720ce> /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
           0x19d226000 -        0x19d8b9fff com.apple.audio.CoreAudio (5.0) <41fa6c48-7a9f-3181-a122-953cfaa18117> /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio
           0x19afc3000 -        0x19b041ff7 libsystem_c.dylib (*) <9277aff7-3cc3-30d0-99b7-c62680da95cf> /usr/lib/system/libsystem_c.dylib
                   0x0 - 0xffffffffffffffff ??? (*) <00000000-0000-0000-0000-000000000000> ???

    External Modification Summary:
      Calls made by other processes targeting this process:
        task_for_pid: 0
        thread_create: 0
        thread_set_state: 0
      Calls made by this process:
        task_for_pid: 0
        thread_create: 0
        thread_set_state: 0
      Calls made by all processes on this machine:
        task_for_pid: 0
        thread_create: 0
        thread_set_state: 0

    VM Region Summary:
    ReadOnly portion of Libraries: Total=1.4G resident=0K(0%) swapped_out_or_unallocated=1.4G(100%)
    Writable regions: Total=1.9G written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=1.9G(100%)

                                    VIRTUAL   REGION 
    REGION TYPE                        SIZE    COUNT (non-coalesced) 
    ===========                     =======  ======= 
    Accelerate framework               384K        3 
    Activity Tracing                   256K        1 
    CG backing stores                 5760K        8 
    CG image                          2576K       15 
    ColorSync                          576K       26 
    CoreAnimation                      304K       18 
    CoreGraphics                        48K        3 
    CoreUI image data                 1408K       15 
    Foundation                          48K        2 
    Foundation (reserved)               16K        1         reserved VM address space (unallocated)
    Kernel Alloc Once                   32K        1 
    MALLOC                           671.5M       77 
    MALLOC guard page                  192K       10 
    MALLOC_MEDIUM (reserved)           1.1G       10         reserved VM address space (unallocated)
    MALLOC_NANO (reserved)           128.0M        1         reserved VM address space (unallocated)
    OpenGL GLSL                        256K        3 
    STACK GUARD                       56.5M       32 
    Stack                             36.5M       33 
    VM_ALLOCATE                        2.0G       85 
    VM_ALLOCATE (reserved)             112K        4         reserved VM address space (unallocated)
    __AUTH                            1385K      297 
    __AUTH_CONST                      21.1M      500 
    __CTF                               824        1 
    __DATA                            5620K      490 
    __DATA_CONST                      25.3M      508 
    __DATA_DIRTY                      1502K      176 
    __FONT_DATA                        2352        1 
    __GLSLBUILTINS                    5174K        1 
    __INFO_FILTER                         8        1 
    __LINKEDIT                       889.3M        6 
    __OBJC_RO                         66.2M        1 
    __OBJC_RW                         2011K        1 
    __TEXT                           533.4M      524 
    dyld private memory                272K        2 
    mapped file                      189.6M       30 
    shared memory                      976K       21 
    ===========                     =======  ======= 
    TOTAL                              5.7G     2908 
    TOTAL, minus reserved VM space     4.5G     2908 

    -----------
    Full Report
    -----------

    {"app_name":"pyrogenesis_dbg","timestamp":"2023-05-24 19:13:55.00 -0500","app_version":"0.0.27-rc1-27645","slice_uuid":"eecfa934-d78f-33c8-8cf9-c20935cfb63d","build_version":"0.0.27-rc1-27645","platform":1,"bundleID":"com.wfg.com","share_with_app_devs":1,"is_first_party":0,"bug_type":"309","os_version":"macOS 13.3.1 (22E772610a)","roots_installed":0,"name":"pyrogenesis_dbg","incident_id":"BDFEDFF3-B808-4194-AA40-D25F4E73C947"}
    {
      "uptime" : 60000,
      "procRole" : "Foreground",
      "version" : 2,
      "userID" : 502,
      "deployVersion" : 210,
      "modelCode" : "MacBookPro18,2",
      "coalitionID" : 5917,
      "osVersion" : {
        "train" : "macOS 13.3.1",
        "build" : "22E772610a",
        "releaseType" : "User"
      },
      "captureTime" : "2023-05-24 19:13:50.7320 -0500",
      "incident" : "BDFEDFF3-B808-4194-AA40-D25F4E73C947",
      "pid" : 10046,
      "translated" : false,
      "cpuType" : "ARM-64",
      "roots_installed" : 0,
      "bug_type" : "309",
      "procLaunch" : "2023-05-24 19:13:23.8134 -0500",
      "procStartAbsTime" : 1456756575305,
      "procExitAbsTime" : 1457402062133,
      "procName" : "pyrogenesis_dbg",
      "procPath" : "\/Applications\/0 A.D..app\/Contents\/MacOS\/pyrogenesis_dbg",
      "bundleInfo" : {"CFBundleShortVersionString":"0.0.27-rc1-27645","CFBundleVersion":"0.0.27-rc1-27645","CFBundleIdentifier":"com.wfg.com"},
      "storeInfo" : {"deviceIdentifierForVendor":"191EA99C-CBC7-5963-8E1E-03806486FE99","thirdParty":true},
      "parentProc" : "launchd",
      "parentPid" : 1,
      "coalitionName" : "com.wfg.com",
      "crashReporterKey" : "EF933ABC-7C19-BB2D-5057-3F4B05C44CBA",
      "throttleTimeout" : 2147483647,
      "codeSigningID" : "com.wfg.com",
      "codeSigningTeamID" : "7F574G3D4R",
      "codeSigningFlags" : 570499857,
      "codeSigningValidationCategory" : 6,
      "codeSigningTrustLevel" : 0,
      "sip" : "enabled",
      "vmRegionInfo" : "0x144c00000 is in 0x144c00000-0x144c38000;  bytes after start: 0  bytes before end: 229375\n      REGION TYPE                    START - END         [ VSIZE] PRT\/MAX SHRMOD  REGION DETAIL\n      MALLOC_TINY                 144b00000-144c00000    [ 1024K] rw-\/rwx SM=PRV  \n--->  CoreUI image data           144c00000-144c38000    [  224K] r--\/r-- SM=PRV  \n      GAP OF 0x1cc000 BYTES\n      CG image                    144e04000-144e48000    [  272K] rw-\/rwx SM=COW  ",
      "exception" : {"codes":"0x0000000000000002, 0x0000000144c00000","rawCodes":[2,5448400896],"type":"EXC_BAD_ACCESS","signal":"SIGBUS","subtype":"KERN_PROTECTION_FAILURE at 0x0000000144c00000"},
      "termination" : {"flags":0,"code":10,"namespace":"SIGNAL","indicator":"Bus error: 10","byProc":"exc handler","byPid":10046},
      "vmregioninfo" : "0x144c00000 is in 0x144c00000-0x144c38000;  bytes after start: 0  bytes before end: 229375\n      REGION TYPE                    START - END         [ VSIZE] PRT\/MAX SHRMOD  REGION DETAIL\n      MALLOC_TINY                 144b00000-144c00000    [ 1024K] rw-\/rwx SM=PRV  \n--->  CoreUI image data           144c00000-144c38000    [  224K] r--\/r-- SM=PRV  \n      GAP OF 0x1cc000 BYTES\n      CG image                    144e04000-144e48000    [  272K] rw-\/rwx SM=COW  ",
      "extMods" : {"caller":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"system":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"targeted":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"warnings":0},
      "faultingThread" : 0,
      "threads" : [{"triggered":true,"id":429043,"threadState":{"x":[{"value":18446744073709551615},{"value":5448400864},{"value":5448400912},{"value":4459321096,"symbolLocation":31392,"symbol":"dprintf_formatf.strnil"},{"value":4},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":8391157185100607081},{"value":7017568563115224946},{"value":4294967295},{"value":3505369272},{"value":15534603969215545472},{"value":0},{"value":0},{"value":4363304800,"symbolLocation":0,"symbol":"main"},{"value":4554096640},{"value":4554103056},{"value":6103595440},{"value":6893658982},{"value":6103595312},{"value":1},{"value":0},{"value":0},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":4424633396},"cpsr":{"value":1073745920},"fp":{"value":6103587760},"sp":{"value":6103587712},"esr":{"value":2449473615,"description":"(Data Abort) byte write Permission fault"},"pc":{"value":4424748484,"matchesCrashFrame":1},"far":{"value":5448400896}},"name":"main","queue":"com.apple.main-thread","frames":[{"imageOffset":61459908,"symbol":"__gmpn_cnd_add_n","symbolLocation":180,"imageIndex":0},{"imageOffset":61344820,"symbol":"_nettle_ecc_mod_add","symbolLocation":96,"imageIndex":0},{"imageOffset":61363996,"symbol":"_nettle_ecc_dup_th","symbolLocation":84,"imageIndex":0},{"imageOffset":61367232,"symbol":"_nettle_ecc_mul_g_eh","symbolLocation":224,"imageIndex":0},{"imageOffset":61384164,"symbol":"nettle_curve25519_mul_g","symbolLocation":276,"imageIndex":0},{"imageOffset":61296812,"symbol":"edwards_curve_mul_g","symbolLocation":72,"imageIndex":0},{"imageOffset":61281008,"symbol":"wrap_nettle_pk_generate_keys","symbolLocation":6788,"imageIndex":0},{"imageOffset":61043232,"symbol":"_gnutls_gen_ecdh_common_client_kx_int","symbolLocation":412,"imageIndex":0},{"imageOffset":61039792,"symbol":"_gnutls_gen_ecdh_common_client_kx","symbolLocation":36,"imageIndex":0},{"imageOffset":59882516,"symbol":"_gnutls_send_client_kx_message","symbolLocation":280,"imageIndex":0},{"imageOffset":59836224,"symbol":"handshake_client","symbolLocation":7084,"imageIndex":0},{"imageOffset":59828712,"symbol":"gnutls_handshake","symbolLocation":896,"imageIndex":0},{"imageOffset":59416416,"symbol":"gloox::GnuTLSBase::handshake()","symbolLocation":72,"imageIndex":0},{"imageOffset":59415728,"symbol":"gloox::GnuTLSBase::decrypt(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&)","symbolLocation":72,"imageIndex":0},{"imageOffset":59424928,"symbol":"gloox::TLSDefault::decrypt(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&)","symbolLocation":64,"imageIndex":0},{"imageOffset":58711020,"symbol":"gloox::ClientBase::handleReceivedData(gloox::ConnectionBase const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&)","symbolLocation":84,"imageIndex":0},{"imageOffset":58680512,"symbol":"gloox::ConnectionTCPClient::recv(int)","symbolLocation":728,"imageIndex":0},{"imageOffset":58696488,"symbol":"gloox::ClientBase::recv(int)","symbolLocation":96,"imageIndex":0},{"imageOffset":2095080,"symbol":"glooxwrapper::Client::recv(int)","symbolLocation":60,"imageIndex":0},{"imageOffset":1784364,"symbol":"XmppClient::recv()","symbolLocation":48,"imageIndex":0},{"imageOffset":34636,"symbol":"Frame()","symbolLocation":1012,"imageIndex":0},{"imageOffset":24132,"symbol":"RunGameOrAtlas(PS::span<char const* const>)","symbolLocation":7516,"imageIndex":0},{"imageOffset":16412,"symbol":"main","symbolLocation":188,"imageIndex":0},{"imageOffset":24360,"symbol":"start","symbolLocation":2236,"imageIndex":5}]},{"id":429050,"name":"Task Mgr #1","frames":[{"imageOffset":18192,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":6},{"imageOffset":30068,"symbol":"_pthread_cond_wait","symbolLocation":1232,"imageIndex":7},{"imageOffset":77552,"symbol":"std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&)","symbolLocation":28,"imageIndex":8},{"imageOffset":11583036,"symbol":"void std::__1::condition_variable::wait<Threading::WorkerThread::RunUntilDeath()::$_0>(std::__1::unique_lock<std::__1::mutex>&, Threading::WorkerThread::RunUntilDeath()::$_0)","symbolLocation":80,"imageIndex":0},{"imageOffset":11581860,"symbol":"Threading::WorkerThread::RunUntilDeath()","symbolLocation":224,"imageIndex":0},{"imageOffset":11637124,"symbol":"decltype(*static_cast<Threading::WorkerThread*&>(fp0).*fp()) std::__1::__invoke<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&, void>(void (Threading::WorkerThread::*&&)(), Threading::WorkerThread*&)","symbolLocation":124,"imageIndex":0},{"imageOffset":11636956,"symbol":"std::__1::invoke_result<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&>::type std::__1::invoke<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&>(void (Threading::WorkerThread::*&&)(), Threading::WorkerThread*&)","symbolLocation":68,"imageIndex":0},{"imageOffset":11636844,"symbol":"void Threading::Thread::DoStart<Threading::WorkerThread, &Threading::WorkerThread::RunUntilDeath()>(Threading::WorkerThread*)","symbolLocation":60,"imageIndex":0},{"imageOffset":11636484,"symbol":"Threading::HandleExceptionsBase<&void Threading::Thread::DoStart<Threading::WorkerThread, &Threading::WorkerThread::RunUntilDeath()>(Threading::WorkerThread*), void (*)(Threading::WorkerThread*)>::Wrapper(Threading::WorkerThread*)","symbolLocation":40,"imageIndex":0},{"imageOffset":11643260,"symbol":"decltype(static_cast<void (*>(fp)(static_cast<Threading::WorkerThread*>(fp0))) std::__1::__invoke<void (*)(Threading::WorkerThread*), Threading::WorkerThread*>(void (*&&)(Threading::WorkerThread*), Threading::WorkerThread*&&)","symbolLocation":56,"imageIndex":0},{"imageOffset":11642972,"symbol":"void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*>&, std::__1::__tuple_indices<2ul>)","symbolLocation":72,"imageIndex":0},{"imageOffset":11638620,"symbol":"void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*>>(void*)","symbolLocation":100,"imageIndex":0},{"imageOffset":28584,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":7},{"imageOffset":7584,"symbol":"thread_start","symbolLocation":8,"imageIndex":7}]},{"id":429051,"name":"Task Mgr #0","frames":[{"imageOffset":18192,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":6},{"imageOffset":30068,"symbol":"_pthread_cond_wait","symbolLocation":1232,"imageIndex":7},{"imageOffset":77552,"symbol":"std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&)","symbolLocation":28,"imageIndex":8},{"imageOffset":11583036,"symbol":"void std::__1::condition_variable::wait<Threading::WorkerThread::RunUntilDeath()::$_0>(std::__1::unique_lock<std::__1::mutex>&, Threading::WorkerThread::RunUntilDeath()::$_0)","symbolLocation":80,"imageIndex":0},{"imageOffset":11581860,"symbol":"Threading::WorkerThread::RunUntilDeath()","symbolLocation":224,"imageIndex":0},{"imageOffset":11637124,"symbol":"decltype(*static_cast<Threading::WorkerThread*&>(fp0).*fp()) std::__1::__invoke<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&, void>(void (Threading::WorkerThread::*&&)(), Threading::WorkerThread*&)","symbolLocation":124,"imageIndex":0},{"imageOffset":11636956,"symbol":"std::__1::invoke_result<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&>::type std::__1::invoke<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&>(void (Threading::WorkerThread::*&&)(), Threading::WorkerThread*&)","symbolLocation":68,"imageIndex":0},{"imageOffset":11636844,"symbol":"void Threading::Thread::DoStart<Threading::WorkerThread, &Threading::WorkerThread::RunUntilDeath()>(Threading::WorkerThread*)","symbolLocation":60,"imageIndex":0},{"imageOffset":11636484,"symbol":"Threading::HandleExceptionsBase<&void Threading::Thread::DoStart<Threading::WorkerThread, &Threading::WorkerThread::RunUntilDeath()>(Threading::WorkerThread*), void (*)(Threading::WorkerThread*)>::Wrapper(Threading::WorkerThread*)","symbolLocation":40,"imageIndex":0},{"imageOffset":11643260,"symbol":"decltype(static_cast<void (*>(fp)(static_cast<Threading::WorkerThread*>(fp0))) std::__1::__invoke<void (*)(Threading::WorkerThread*), Threading::WorkerThread*>(void (*&&)(Threading::WorkerThread*), Threading::WorkerThread*&&)","symbolLocation":56,"imageIndex":0},{"imageOffset":11642972,"symbol":"void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*>&, std::__1::__tuple_indices<2ul>)","symbolLocation":72,"imageIndex":0},{"imageOffset":11638620,"symbol":"void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*>>(void*)","symbolLocation":100,"imageIndex":0},{"imageOffset":28584,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":7},{"imageOffset":7584,"symbol":"thread_start","symbolLocation":8,"imageIndex":7}]},{"id":429052,"name":"Task Mgr #5","frames":[{"imageOffset":18192,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":6},{"imageOffset":30068,"symbol":"_pthread_cond_wait","symbolLocation":1232,"imageIndex":7},{"imageOffset":77552,"symbol":"std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&)","symbolLocation":28,"imageIndex":8},{"imageOffset":11583036,"symbol":"void std::__1::condition_variable::wait<Threading::WorkerThread::RunUntilDeath()::$_0>(std::__1::unique_lock<std::__1::mutex>&, Threading::WorkerThread::RunUntilDeath()::$_0)","symbolLocation":80,"imageIndex":0},{"imageOffset":11581860,"symbol":"Threading::WorkerThread::RunUntilDeath()","symbolLocation":224,"imageIndex":0},{"imageOffset":11637124,"symbol":"decltype(*static_cast<Threading::WorkerThread*&>(fp0).*fp()) std::__1::__invoke<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&, void>(void (Threading::WorkerThread::*&&)(), Threading::WorkerThread*&)","symbolLocation":124,"imageIndex":0},{"imageOffset":11636956,"symbol":"std::__1::invoke_result<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&>::type std::__1::invoke<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&>(void (Threading::WorkerThread::*&&)(), Threading::WorkerThread*&)","symbolLocation":68,"imageIndex":0},{"imageOffset":11636844,"symbol":"void Threading::Thread::DoStart<Threading::WorkerThread, &Threading::WorkerThread::RunUntilDeath()>(Threading::WorkerThread*)","symbolLocation":60,"imageIndex":0},{"imageOffset":11636484,"symbol":"Threading::HandleExceptionsBase<&void Threading::Thread::DoStart<Threading::WorkerThread, &Threading::WorkerThread::RunUntilDeath()>(Threading::WorkerThread*), void (*)(Threading::WorkerThread*)>::Wrapper(Threading::WorkerThread*)","symbolLocation":40,"imageIndex":0},{"imageOffset":11643260,"symbol":"decltype(static_cast<void (*>(fp)(static_cast<Threading::WorkerThread*>(fp0))) std::__1::__invoke<void (*)(Threading::WorkerThread*), Threading::WorkerThread*>(void (*&&)(Threading::WorkerThread*), Threading::WorkerThread*&&)","symbolLocation":56,"imageIndex":0},{"imageOffset":11642972,"symbol":"void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*>&, std::__1::__tuple_indices<2ul>)","symbolLocation":72,"imageIndex":0},{"imageOffset":11638620,"symbol":"void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*>>(void*)","symbolLocation":100,"imageIndex":0},{"imageOffset":28584,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":7},{"imageOffset":7584,"symbol":"thread_start","symbolLocation":8,"imageIndex":7}]},{"id":429053,"name":"Task Mgr #3","frames":[{"imageOffset":18192,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":6},{"imageOffset":30068,"symbol":"_pthread_cond_wait","symbolLocation":1232,"imageIndex":7},{"imageOffset":77552,"symbol":"std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&)","symbolLocation":28,"imageIndex":8},{"imageOffset":11583036,"symbol":"void std::__1::condition_variable::wait<Threading::WorkerThread::RunUntilDeath()::$_0>(std::__1::unique_lock<std::__1::mutex>&, Threading::WorkerThread::RunUntilDeath()::$_0)","symbolLocation":80,"imageIndex":0},{"imageOffset":11581860,"symbol":"Threading::WorkerThread::RunUntilDeath()","symbolLocation":224,"imageIndex":0},{"imageOffset":11637124,"symbol":"decltype(*static_cast<Threading::WorkerThread*&>(fp0).*fp()) std::__1::__invoke<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&, void>(void (Threading::WorkerThread::*&&)(), Threading::WorkerThread*&)","symbolLocation":124,"imageIndex":0},{"imageOffset":11636956,"symbol":"std::__1::invoke_result<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&>::type std::__1::invoke<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&>(void (Threading::WorkerThread::*&&)(), Threading::WorkerThread*&)","symbolLocation":68,"imageIndex":0},{"imageOffset":11636844,"symbol":"void Threading::Thread::DoStart<Threading::WorkerThread, &Threading::WorkerThread::RunUntilDeath()>(Threading::WorkerThread*)","symbolLocation":60,"imageIndex":0},{"imageOffset":11636484,"symbol":"Threading::HandleExceptionsBase<&void Threading::Thread::DoStart<Threading::WorkerThread, &Threading::WorkerThread::RunUntilDeath()>(Threading::WorkerThread*), void (*)(Threading::WorkerThread*)>::Wrapper(Threading::WorkerThread*)","symbolLocation":40,"imageIndex":0},{"imageOffset":11643260,"symbol":"decltype(static_cast<void (*>(fp)(static_cast<Threading::WorkerThread*>(fp0))) std::__1::__invoke<void (*)(Threading::WorkerThread*), Threading::WorkerThread*>(void (*&&)(Threading::WorkerThread*), Threading::WorkerThread*&&)","symbolLocation":56,"imageIndex":0},{"imageOffset":11642972,"symbol":"void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*>&, std::__1::__tuple_indices<2ul>)","symbolLocation":72,"imageIndex":0},{"imageOffset":11638620,"symbol":"void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*>>(void*)","symbolLocation":100,"imageIndex":0},{"imageOffset":28584,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":7},{"imageOffset":7584,"symbol":"thread_start","symbolLocation":8,"imageIndex":7}]},{"id":429054,"name":"Task Mgr #2","frames":[{"imageOffset":18192,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":6},{"imageOffset":30068,"symbol":"_pthread_cond_wait","symbolLocation":1232,"imageIndex":7},{"imageOffset":77552,"symbol":"std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&)","symbolLocation":28,"imageIndex":8},{"imageOffset":11583036,"symbol":"void std::__1::condition_variable::wait<Threading::WorkerThread::RunUntilDeath()::$_0>(std::__1::unique_lock<std::__1::mutex>&, Threading::WorkerThread::RunUntilDeath()::$_0)","symbolLocation":80,"imageIndex":0},{"imageOffset":11581860,"symbol":"Threading::WorkerThread::RunUntilDeath()","symbolLocation":224,"imageIndex":0},{"imageOffset":11637124,"symbol":"decltype(*static_cast<Threading::WorkerThread*&>(fp0).*fp()) std::__1::__invoke<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&, void>(void (Threading::WorkerThread::*&&)(), Threading::WorkerThread*&)","symbolLocation":124,"imageIndex":0},{"imageOffset":11636956,"symbol":"std::__1::invoke_result<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&>::type std::__1::invoke<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&>(void (Threading::WorkerThread::*&&)(), Threading::WorkerThread*&)","symbolLocation":68,"imageIndex":0},{"imageOffset":11636844,"symbol":"void Threading::Thread::DoStart<Threading::WorkerThread, &Threading::WorkerThread::RunUntilDeath()>(Threading::WorkerThread*)","symbolLocation":60,"imageIndex":0},{"imageOffset":11636484,"symbol":"Threading::HandleExceptionsBase<&void Threading::Thread::DoStart<Threading::WorkerThread, &Threading::WorkerThread::RunUntilDeath()>(Threading::WorkerThread*), void (*)(Threading::WorkerThread*)>::Wrapper(Threading::WorkerThread*)","symbolLocation":40,"imageIndex":0},{"imageOffset":11643260,"symbol":"decltype(static_cast<void (*>(fp)(static_cast<Threading::WorkerThread*>(fp0))) std::__1::__invoke<void (*)(Threading::WorkerThread*), Threading::WorkerThread*>(void (*&&)(Threading::WorkerThread*), Threading::WorkerThread*&&)","symbolLocation":56,"imageIndex":0},{"imageOffset":11642972,"symbol":"void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*>&, std::__1::__tuple_indices<2ul>)","symbolLocation":72,"imageIndex":0},{"imageOffset":11638620,"symbol":"void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*>>(void*)","symbolLocation":100,"imageIndex":0},{"imageOffset":28584,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":7},{"imageOffset":7584,"symbol":"thread_start","symbolLocation":8,"imageIndex":7}]},{"id":429055,"name":"Task Mgr #4","frames":[{"imageOffset":18192,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":6},{"imageOffset":30068,"symbol":"_pthread_cond_wait","symbolLocation":1232,"imageIndex":7},{"imageOffset":77552,"symbol":"std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&)","symbolLocation":28,"imageIndex":8},{"imageOffset":11583036,"symbol":"void std::__1::condition_variable::wait<Threading::WorkerThread::RunUntilDeath()::$_0>(std::__1::unique_lock<std::__1::mutex>&, Threading::WorkerThread::RunUntilDeath()::$_0)","symbolLocation":80,"imageIndex":0},{"imageOffset":11581860,"symbol":"Threading::WorkerThread::RunUntilDeath()","symbolLocation":224,"imageIndex":0},{"imageOffset":11637124,"symbol":"decltype(*static_cast<Threading::WorkerThread*&>(fp0).*fp()) std::__1::__invoke<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&, void>(void (Threading::WorkerThread::*&&)(), Threading::WorkerThread*&)","symbolLocation":124,"imageIndex":0},{"imageOffset":11636956,"symbol":"std::__1::invoke_result<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&>::type std::__1::invoke<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&>(void (Threading::WorkerThread::*&&)(), Threading::WorkerThread*&)","symbolLocation":68,"imageIndex":0},{"imageOffset":11636844,"symbol":"void Threading::Thread::DoStart<Threading::WorkerThread, &Threading::WorkerThread::RunUntilDeath()>(Threading::WorkerThread*)","symbolLocation":60,"imageIndex":0},{"imageOffset":11636484,"symbol":"Threading::HandleExceptionsBase<&void Threading::Thread::DoStart<Threading::WorkerThread, &Threading::WorkerThread::RunUntilDeath()>(Threading::WorkerThread*), void (*)(Threading::WorkerThread*)>::Wrapper(Threading::WorkerThread*)","symbolLocation":40,"imageIndex":0},{"imageOffset":11643260,"symbol":"decltype(static_cast<void (*>(fp)(static_cast<Threading::WorkerThread*>(fp0))) std::__1::__invoke<void (*)(Threading::WorkerThread*), Threading::WorkerThread*>(void (*&&)(Threading::WorkerThread*), Threading::WorkerThread*&&)","symbolLocation":56,"imageIndex":0},{"imageOffset":11642972,"symbol":"void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*>&, std::__1::__tuple_indices<2ul>)","symbolLocation":72,"imageIndex":0},{"imageOffset":11638620,"symbol":"void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*>>(void*)","symbolLocation":100,"imageIndex":0},{"imageOffset":28584,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":7},{"imageOffset":7584,"symbol":"thread_start","symbolLocation":8,"imageIndex":7}]},{"id":429056,"name":"Task Mgr #6","frames":[{"imageOffset":18192,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":6},{"imageOffset":30068,"symbol":"_pthread_cond_wait","symbolLocation":1232,"imageIndex":7},{"imageOffset":77552,"symbol":"std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&)","symbolLocation":28,"imageIndex":8},{"imageOffset":11583036,"symbol":"void std::__1::condition_variable::wait<Threading::WorkerThread::RunUntilDeath()::$_0>(std::__1::unique_lock<std::__1::mutex>&, Threading::WorkerThread::RunUntilDeath()::$_0)","symbolLocation":80,"imageIndex":0},{"imageOffset":11581860,"symbol":"Threading::WorkerThread::RunUntilDeath()","symbolLocation":224,"imageIndex":0},{"imageOffset":11637124,"symbol":"decltype(*static_cast<Threading::WorkerThread*&>(fp0).*fp()) std::__1::__invoke<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&, void>(void (Threading::WorkerThread::*&&)(), Threading::WorkerThread*&)","symbolLocation":124,"imageIndex":0},{"imageOffset":11636956,"symbol":"std::__1::invoke_result<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&>::type std::__1::invoke<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&>(void (Threading::WorkerThread::*&&)(), Threading::WorkerThread*&)","symbolLocation":68,"imageIndex":0},{"imageOffset":11636844,"symbol":"void Threading::Thread::DoStart<Threading::WorkerThread, &Threading::WorkerThread::RunUntilDeath()>(Threading::WorkerThread*)","symbolLocation":60,"imageIndex":0},{"imageOffset":11636484,"symbol":"Threading::HandleExceptionsBase<&void Threading::Thread::DoStart<Threading::WorkerThread, &Threading::WorkerThread::RunUntilDeath()>(Threading::WorkerThread*), void (*)(Threading::WorkerThread*)>::Wrapper(Threading::WorkerThread*)","symbolLocation":40,"imageIndex":0},{"imageOffset":11643260,"symbol":"decltype(static_cast<void (*>(fp)(static_cast<Threading::WorkerThread*>(fp0))) std::__1::__invoke<void (*)(Threading::WorkerThread*), Threading::WorkerThread*>(void (*&&)(Threading::WorkerThread*), Threading::WorkerThread*&&)","symbolLocation":56,"imageIndex":0},{"imageOffset":11642972,"symbol":"void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*>&, std::__1::__tuple_indices<2ul>)","symbolLocation":72,"imageIndex":0},{"imageOffset":11638620,"symbol":"void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*>>(void*)","symbolLocation":100,"imageIndex":0},{"imageOffset":28584,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":7},{"imageOffset":7584,"symbol":"thread_start","symbolLocation":8,"imageIndex":7}]},{"id":429057,"name":"Task Mgr #7","frames":[{"imageOffset":18192,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":6},{"imageOffset":30068,"symbol":"_pthread_cond_wait","symbolLocation":1232,"imageIndex":7},{"imageOffset":77552,"symbol":"std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&)","symbolLocation":28,"imageIndex":8},{"imageOffset":11583036,"symbol":"void std::__1::condition_variable::wait<Threading::WorkerThread::RunUntilDeath()::$_0>(std::__1::unique_lock<std::__1::mutex>&, Threading::WorkerThread::RunUntilDeath()::$_0)","symbolLocation":80,"imageIndex":0},{"imageOffset":11581860,"symbol":"Threading::WorkerThread::RunUntilDeath()","symbolLocation":224,"imageIndex":0},{"imageOffset":11637124,"symbol":"decltype(*static_cast<Threading::WorkerThread*&>(fp0).*fp()) std::__1::__invoke<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&, void>(void (Threading::WorkerThread::*&&)(), Threading::WorkerThread*&)","symbolLocation":124,"imageIndex":0},{"imageOffset":11636956,"symbol":"std::__1::invoke_result<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&>::type std::__1::invoke<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&>(void (Threading::WorkerThread::*&&)(), Threading::WorkerThread*&)","symbolLocation":68,"imageIndex":0},{"imageOffset":11636844,"symbol":"void Threading::Thread::DoStart<Threading::WorkerThread, &Threading::WorkerThread::RunUntilDeath()>(Threading::WorkerThread*)","symbolLocation":60,"imageIndex":0},{"imageOffset":11636484,"symbol":"Threading::HandleExceptionsBase<&void Threading::Thread::DoStart<Threading::WorkerThread, &Threading::WorkerThread::RunUntilDeath()>(Threading::WorkerThread*), void (*)(Threading::WorkerThread*)>::Wrapper(Threading::WorkerThread*)","symbolLocation":40,"imageIndex":0},{"imageOffset":11643260,"symbol":"decltype(static_cast<void (*>(fp)(static_cast<Threading::WorkerThread*>(fp0))) std::__1::__invoke<void (*)(Threading::WorkerThread*), Threading::WorkerThread*>(void (*&&)(Threading::WorkerThread*), Threading::WorkerThread*&&)","symbolLocation":56,"imageIndex":0},{"imageOffset":11642972,"symbol":"void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*>&, std::__1::__tuple_indices<2ul>)","symbolLocation":72,"imageIndex":0},{"imageOffset":11638620,"symbol":"void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*>>(void*)","symbolLocation":100,"imageIndex":0},{"imageOffset":28584,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":7},{"imageOffset":7584,"symbol":"thread_start","symbolLocation":8,"imageIndex":7}]},{"id":429058,"name":"Task Mgr #8","frames":[{"imageOffset":18192,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":6},{"imageOffset":30068,"symbol":"_pthread_cond_wait","symbolLocation":1232,"imageIndex":7},{"imageOffset":77552,"symbol":"std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&)","symbolLocation":28,"imageIndex":8},{"imageOffset":11583036,"symbol":"void std::__1::condition_variable::wait<Threading::WorkerThread::RunUntilDeath()::$_0>(std::__1::unique_lock<std::__1::mutex>&, Threading::WorkerThread::RunUntilDeath()::$_0)","symbolLocation":80,"imageIndex":0},{"imageOffset":11581860,"symbol":"Threading::WorkerThread::RunUntilDeath()","symbolLocation":224,"imageIndex":0},{"imageOffset":11637124,"symbol":"decltype(*static_cast<Threading::WorkerThread*&>(fp0).*fp()) std::__1::__invoke<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&, void>(void (Threading::WorkerThread::*&&)(), Threading::WorkerThread*&)","symbolLocation":124,"imageIndex":0},{"imageOffset":11636956,"symbol":"std::__1::invoke_result<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&>::type std::__1::invoke<void (Threading::WorkerThread::*)(), Threading::WorkerThread*&>(void (Threading::WorkerThread::*&&)(), Threading::WorkerThread*&)","symbolLocation":68,"imageIndex":0},{"imageOffset":11636844,"symbol":"void Threading::Thread::DoStart<Threading::WorkerThread, &Threading::WorkerThread::RunUntilDeath()>(Threading::WorkerThread*)","symbolLocation":60,"imageIndex":0},{"imageOffset":11636484,"symbol":"Threading::HandleExceptionsBase<&void Threading::Thread::DoStart<Threading::WorkerThread, &Threading::WorkerThread::RunUntilDeath()>(Threading::WorkerThread*), void (*)(Threading::WorkerThread*)>::Wrapper(Threading::WorkerThread*)","symbolLocation":40,"imageIndex":0},{"imageOffset":11643260,"symbol":"decltype(static_cast<void (*>(fp)(static_cast<Threading::WorkerThread*>(fp0))) std::__1::__invoke<void (*)(Threading::WorkerThread*), Threading::WorkerThread*>(void (*&&)(Threading::WorkerThread*), Threading::WorkerThread*&&)","symbolLocation":56,"imageIndex":0},{"imageOffset":11642972,"symbol":"void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*>&, std::__1::__tuple_indices<2ul>)","symbolLocation":72,"imageIndex":0},{"imageOffset":11638620,"symbol":"void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(Threading::WorkerThread*), Threading::WorkerThread*>>(void*)","symbolLocation":100,"imageIndex":0},{"imageOffset":28584,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":7},{"imageOffset":7584,"symbol":"thread_start","symbolLocation":8,"imageIndex":7}]},{"id":429059,"name":"JS Helper","frames":[{"imageOffset":18192,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":6},{"imageOffset":30068,"symbol":"_pthread_cond_wait","symbolLocation":1232,"imageIndex":7},{"imageOffset":51652748,"symbol":"mozilla::detail::ConditionVariableImpl::wait(mozilla::detail::MutexImpl&)","symbolLocation":84,"imageIndex":0},{"imageOffset":51652940,"symbol":"mozilla::detail::ConditionVariableImpl::wait_for(mozilla::detail::MutexImpl&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&)","symbolLocation":100,"imageIndex":0},{"imageOffset":30156612,"symbol":"js::ConditionVariable::wait_for(js::LockGuard<js::Mutex>&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&)","symbolLocation":72,"imageIndex":0},{"imageOffset":30258992,"symbol":"js::InternalThreadPool::wait(js::AutoLockHelperThreadState&)","symbolLocation":80,"imageIndex":0},{"imageOffset":30260208,"symbol":"js::HelperThread::threadLoop(js::InternalThreadPool*)","symbolLocation":280,"imageIndex":0},{"imageOffset":30259772,"symbol":"js::HelperThread::ThreadMain(js::InternalThreadPool*, js::HelperThread*)","symbolLocation":52,"imageIndex":0},{"imageOffset":30712644,"symbol":"void js::detail::ThreadTrampoline<void (&)(js::InternalThreadPool*, js::HelperThread*), js::InternalThreadPool*&, js::HelperThread*>::callMain<0ul, 1ul>(std::__1::integer_sequence<unsigned long, 0ul, 1ul>)","symbolLocation":104,"imageIndex":0},{"imageOffset":30711980,"symbol":"js::detail::ThreadTrampoline<void (&)(js::InternalThreadPool*, js::HelperThread*), js::InternalThreadPool*&, js::HelperThread*>::Start(void*)","symbolLocation":40,"imageIndex":0},{"imageOffset":28584,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":7},{"imageOffset":7584,"symbol":"thread_start","symbolLocation":8,"imageIndex":7}]},{"id":429060,"name":"JS Helper","frames":[{"imageOffset":18192,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":6},{"imageOffset":30068,"symbol":"_pthread_cond_wait","symbolLocation":1232,"imageIndex":7},{"imageOffset":51652748,"symbol":"mozilla::detail::ConditionVariableImpl::wait(mozilla::detail::MutexImpl&)","symbolLocation":84,"imageIndex":0},{"imageOffset":51652940,"symbol":"mozilla::detail::ConditionVariableImpl::wait_for(mozilla::detail::MutexImpl&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&)","symbolLocation":100,"imageIndex":0},{"imageOffset":30156612,"symbol":"js::ConditionVariable::wait_for(js::LockGuard<js::Mutex>&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&)","symbolLocation":72,"imageIndex":0},{"imageOffset":30258992,"symbol":"js::InternalThreadPool::wait(js::AutoLockHelperThreadState&)","symbolLocation":80,"imageIndex":0},{"imageOffset":30260208,"symbol":"js::HelperThread::threadLoop(js::InternalThreadPool*)","symbolLocation":280,"imageIndex":0},{"imageOffset":30259772,"symbol":"js::HelperThread::ThreadMain(js::InternalThreadPool*, js::HelperThread*)","symbolLocation":52,"imageIndex":0},{"imageOffset":30712644,"symbol":"void js::detail::ThreadTrampoline<void (&)(js::InternalThreadPool*, js::HelperThread*), js::InternalThreadPool*&, js::HelperThread*>::callMain<0ul, 1ul>(std::__1::integer_sequence<unsigned long, 0ul, 1ul>)","symbolLocation":104,"imageIndex":0},{"imageOffset":30711980,"symbol":"js::detail::ThreadTrampoline<void (&)(js::InternalThreadPool*, js::HelperThread*), js::InternalThreadPool*&, js::HelperThread*>::Start(void*)","symbolLocation":40,"imageIndex":0},{"imageOffset":28584,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":7},{"imageOffset":7584,"symbol":"thread_start","symbolLocation":8,"imageIndex":7}]},{"id":429061,"name":"JS Helper","frames":[{"imageOffset":18192,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":6},{"imageOffset":30068,"symbol":"_pthread_cond_wait","symbolLocation":1232,"imageIndex":7},{"imageOffset":51652748,"symbol":"mozilla::detail::ConditionVariableImpl::wait(mozilla::detail::MutexImpl&)","symbolLocation":84,"imageIndex":0},{"imageOffset":51652940,"symbol":"mozilla::detail::ConditionVariableImpl::wait_for(mozilla::detail::MutexImpl&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&)","symbolLocation":100,"imageIndex":0},{"imageOffset":30156612,"symbol":"js::ConditionVariable::wait_for(js::LockGuard<js::Mutex>&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&)","symbolLocation":72,"imageIndex":0},{"imageOffset":30258992,"symbol":"js::InternalThreadPool::wait(js::AutoLockHelperThreadState&)","symbolLocation":80,"imageIndex":0},{"imageOffset":30260208,"symbol":"js::HelperThread::threadLoop(js::InternalThreadPool*)","symbolLocation":280,"imageIndex":0},{"imageOffset":30259772,"symbol":"js::HelperThread::ThreadMain(js::InternalThreadPool*, js::HelperThread*)","symbolLocation":52,"imageIndex":0},{"imageOffset":30712644,"symbol":"void js::detail::ThreadTrampoline<void (&)(js::InternalThreadPool*, js::HelperThread*), js::InternalThreadPool*&, js::HelperThread*>::callMain<0ul, 1ul>(std::__1::integer_sequence<unsigned long, 0ul, 1ul>)","symbolLocation":104,"imageIndex":0},{"imageOffset":30711980,"symbol":"js::detail::ThreadTrampoline<void (&)(js::InternalThreadPool*, js::HelperThread*), js::InternalThreadPool*&, js::HelperThread*>::Start(void*)","symbolLocation":40,"imageIndex":0},{"imageOffset":28584,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":7},{"imageOffset":7584,"symbol":"thread_start","symbolLocation":8,"imageIndex":7}]},{"id":429062,"name":"JS Helper","frames":[{"imageOffset":18192,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":6},{"imageOffset":30068,"symbol":"_pthread_cond_wait","symbolLocation":1232,"imageIndex":7},{"imageOffset":51652748,"symbol":"mozilla::detail::ConditionVariableImpl::wait(mozilla::detail::MutexImpl&)","symbolLocation":84,"imageIndex":0},{"imageOffset":51652940,"symbol":"mozilla::detail::ConditionVariableImpl::wait_for(mozilla::detail::MutexImpl&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&)","symbolLocation":100,"imageIndex":0},{"imageOffset":30156612,"symbol":"js::ConditionVariable::wait_for(js::LockGuard<js::Mutex>&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&)","symbolLocation":72,"imageIndex":0},{"imageOffset":30258992,"symbol":"js::InternalThreadPool::wait(js::AutoLockHelperThreadState&)","symbolLocation":80,"imageIndex":0},{"imageOffset":30260208,"symbol":"js::HelperThread::threadLoop(js::InternalThreadPool*)","symbolLocation":280,"imageIndex":0},{"imageOffset":30259772,"symbol":"js::HelperThread::ThreadMain(js::InternalThreadPool*, js::HelperThread*)","symbolLocation":52,"imageIndex":0},{"imageOffset":30712644,"symbol":"void js::detail::ThreadTrampoline<void (&)(js::InternalThreadPool*, js::HelperThread*), js::InternalThreadPool*&, js::HelperThread*>::callMain<0ul, 1ul>(std::__1::integer_sequence<unsigned long, 0ul, 1ul>)","symbolLocation":104,"imageIndex":0},{"imageOffset":30711980,"symbol":"js::detail::ThreadTrampoline<void (&)(js::InternalThreadPool*, js::HelperThread*), js::InternalThreadPool*&, js::HelperThread*>::Start(void*)","symbolLocation":40,"imageIndex":0},{"imageOffset":28584,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":7},{"imageOffset":7584,"symbol":"thread_start","symbolLocation":8,"imageIndex":7}]},{"id":429063,"name":"JS Helper","frames":[{"imageOffset":18192,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":6},{"imageOffset":30068,"symbol":"_pthread_cond_wait","symbolLocation":1232,"imageIndex":7},{"imageOffset":51652748,"symbol":"mozilla::detail::ConditionVariableImpl::wait(mozilla::detail::MutexImpl&)","symbolLocation":84,"imageIndex":0},{"imageOffset":51652940,"symbol":"mozilla::detail::ConditionVariableImpl::wait_for(mozilla::detail::MutexImpl&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&)","symbolLocation":100,"imageIndex":0},{"imageOffset":30156612,"symbol":"js::ConditionVariable::wait_for(js::LockGuard<js::Mutex>&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&)","symbolLocation":72,"imageIndex":0},{"imageOffset":30258992,"symbol":"js::InternalThreadPool::wait(js::AutoLockHelperThreadState&)","symbolLocation":80,"imageIndex":0},{"imageOffset":30260208,"symbol":"js::HelperThread::threadLoop(js::InternalThreadPool*)","symbolLocation":280,"imageIndex":0},{"imageOffset":30259772,"symbol":"js::HelperThread::ThreadMain(js::InternalThreadPool*, js::HelperThread*)","symbolLocation":52,"imageIndex":0},{"imageOffset":30712644,"symbol":"void js::detail::ThreadTrampoline<void (&)(js::InternalThreadPool*, js::HelperThread*), js::InternalThreadPool*&, js::HelperThread*>::callMain<0ul, 1ul>(std::__1::integer_sequence<unsigned long, 0ul, 1ul>)","symbolLocation":104,"imageIndex":0},{"imageOffset":30711980,"symbol":"js::detail::ThreadTrampoline<void (&)(js::InternalThreadPool*, js::HelperThread*), js::InternalThreadPool*&, js::HelperThread*>::Start(void*)","symbolLocation":40,"imageIndex":0},{"imageOffset":28584,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":7},{"imageOffset":7584,"symbol":"thread_start","symbolLocation":8,"imageIndex":7}]},{"id":429064,"name":"JS Helper","frames":[{"imageOffset":18192,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":6},{"imageOffset":30068,"symbol":"_pthread_cond_wait","symbolLocation":1232,"imageIndex":7},{"imageOffset":51652748,"symbol":"mozilla::detail::ConditionVariableImpl::wait(mozilla::detail::MutexImpl&)","symbolLocation":84,"imageIndex":0},{"imageOffset":51652940,"symbol":"mozilla::detail::ConditionVariableImpl::wait_for(mozilla::detail::MutexImpl&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&)","symbolLocation":100,"imageIndex":0},{"imageOffset":30156612,"symbol":"js::ConditionVariable::wait_for(js::LockGuard<js::Mutex>&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&)","symbolLocation":72,"imageIndex":0},{"imageOffset":30258992,"symbol":"js::InternalThreadPool::wait(js::AutoLockHelperThreadState&)","symbolLocation":80,"imageIndex":0},{"imageOffset":30260208,"symbol":"js::HelperThread::threadLoop(js::InternalThreadPool*)","symbolLocation":280,"imageIndex":0},{"imageOffset":30259772,"symbol":"js::HelperThread::ThreadMain(js::InternalThreadPool*, js::HelperThread*)","symbolLocation":52,"imageIndex":0},{"imageOffset":30712644,"symbol":"void js::detail::ThreadTrampoline<void (&)(js::InternalThreadPool*, js::HelperThread*), js::InternalThreadPool*&, js::HelperThread*>::callMain<0ul, 1ul>(std::__1::integer_sequence<unsigned long, 0ul, 1ul>)","symbolLocation":104,"imageIndex":0},{"imageOffset":30711980,"symbol":"js::detail::ThreadTrampoline<void (&)(js::InternalThreadPool*, js::HelperThread*), js::InternalThreadPool*&, js::HelperThread*>::Start(void*)","symbolLocation":40,"imageIndex":0},{"imageOffset":28584,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":7},{"imageOffset":7584,"symbol":"thread_start","symbolLocation":8,"imageIndex":7}]},{"id":429065,"name":"JS Helper","frames":[{"imageOffset":18192,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":6},{"imageOffset":30068,"symbol":"_pthread_cond_wait","symbolLocation":1232,"imageIndex":7},{"imageOffset":51652748,"symbol":"mozilla::detail::ConditionVariableImpl::wait(mozilla::detail::MutexImpl&)","symbolLocation":84,"imageIndex":0},{"imageOffset":51652940,"symbol":"mozilla::detail::ConditionVariableImpl::wait_for(mozilla::detail::MutexImpl&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&)","symbolLocation":100,"imageIndex":0},{"imageOffset":30156612,"symbol":"js::ConditionVariable::wait_for(js::LockGuard<js::Mutex>&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&)","symbolLocation":72,"imageIndex":0},{"imageOffset":30258992,"symbol":"js::InternalThreadPool::wait(js::AutoLockHelperThreadState&)","symbolLocation":80,"imageIndex":0},{"imageOffset":30260208,"symbol":"js::HelperThread::threadLoop(js::InternalThreadPool*)","symbolLocation":280,"imageIndex":0},{"imageOffset":30259772,"symbol":"js::HelperThread::ThreadMain(js::InternalThreadPool*, js::HelperThread*)","symbolLocation":52,"imageIndex":0},{"imageOffset":30712644,"symbol":"void js::detail::ThreadTrampoline<void (&)(js::InternalThreadPool*, js::HelperThread*), js::InternalThreadPool*&, js::HelperThread*>::callMain<0ul, 1ul>(std::__1::integer_sequence<unsigned long, 0ul, 1ul>)","symbolLocation":104,"imageIndex":0},{"imageOffset":30711980,"symbol":"js::detail::ThreadTrampoline<void (&)(js::InternalThreadPool*, js::HelperThread*), js::InternalThreadPool*&, js::HelperThread*>::Start(void*)","symbolLocation":40,"imageIndex":0},{"imageOffset":28584,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":7},{"imageOffset":7584,"symbol":"thread_start","symbolLocation":8,"imageIndex":7}]},{"id":429066,"name":"JS Helper","frames":[{"imageOffset":18192,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":6},{"imageOffset":30068,"symbol":"_pthread_cond_wait","symbolLocation":1232,"imageIndex":7},{"imageOffset":51652748,"symbol":"mozilla::detail::ConditionVariableImpl::wait(mozilla::detail::MutexImpl&)","symbolLocation":84,"imageIndex":0},{"imageOffset":51652940,"symbol":"mozilla::detail::ConditionVariableImpl::wait_for(mozilla::detail::MutexImpl&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&)","symbolLocation":100,"imageIndex":0},{"imageOffset":30156612,"symbol":"js::ConditionVariable::wait_for(js::LockGuard<js::Mutex>&, mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const&)","symbolLocation":72,"imageIndex":0},{"imageOffset":30258992,"symbol":"js::InternalThreadPool::wait(js::AutoLockHelperThreadState&)","symbolLocation":80,"imageIndex":0},{"imageOffset":30260208,"symbol":"js::HelperThread::threadLoop(js::InternalThreadPool*)","symbolLocation":280,"imageIndex":0},{"imageOffset":30259772,"symbol":"js::HelperThread::ThreadMain(js::InternalThreadPool*, js::HelperThread*)","symbolLocation":52,"imageIndex":0},{"imageOffset":30712644,"symbol":"void js::detail::ThreadTrampoline<void (&)(js::InternalThreadPool*, js::HelperThread*), js::InternalThreadPool*&, js::HelperThread*>::callMain<0ul, 1ul>(std::__1::integer_sequence<unsigned long, 0ul, 1ul>)","symbolLocation":104,"imageIndex":0},{"imageOffset":30711980,"symbol":"js::detail::ThreadTrampoline<void (&)(js::InternalThreadPool*, js::HelperThread*), js::InternalThreadPool*&, js::HelperThread*>::Start(void*)","symbolLocation":40,"imageIndex":0},{"imageOffset":28584,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":7},{"imageOffset":7584,"symbol":"thread_start","symbolLocation":8,"imageIndex":7}]},{"id":429067,"name":"JS Wasm MachExceptionHandler","frames":[{"imageOffset":3860,"symbol":"mach_msg2_trap","symbolLocation":8,"imageIndex":6},{"imageOffset":78400,"symbol":"mach_msg2_internal","symbolLocation":80,"imageIndex":6},{"imageOffset":39800,"symbol":"mach_msg_overwrite","symbolLocation":604,"imageIndex":6},{"imageOffset":4752,"symbol":"mach_msg","symbolLocation":24,"imageIndex":6},{"imageOffset":51323500,"symbol":"MachExceptionHandlerThread()","symbolLocation":92,"imageIndex":0},{"imageOffset":35750588,"symbol":"void js::detail::ThreadTrampoline<void (&)()>::callMain<>(std::__1::integer_sequence<unsigned long>)","symbolLocation":56,"imageIndex":0},{"imageOffset":35750380,"symbol":"js::detail::ThreadTrampoline<void (&)()>::Start(void*)","symbolLocation":40,"imageIndex":0},{"imageOffset":28584,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":7},{"imageOffset":7584,"symbol":"thread_start","symbolLocation":8,"imageIndex":7}]},{"id":429068,"frames":[{"imageOffset":7564,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":7}]},{"id":429069,"frames":[{"imageOffset":7564,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":7}]},{"id":429070,"name":"caulk.messenger.shared:17","frames":[{"imageOffset":3728,"symbol":"semaphore_wait_trap","symbolLocation":8,"imageIndex":6},{"imageOffset":8228,"symbol":"caulk::semaphore::timed_wait(double)","symbolLocation":212,"imageIndex":9},{"imageOffset":7896,"symbol":"caulk::concurrent::details::worker_thread::run()","symbolLocation":36,"imageIndex":9},{"imageOffset":7112,"symbol":"void* caulk::thread_proxy<std::__1::tuple<caulk::thread::attributes, void (caulk::concurrent::details::worker_thread::*)(), std::__1::tuple<caulk::concurrent::details::worker_thread*>>>(void*)","symbolLocation":96,"imageIndex":9},{"imageOffset":28584,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":7},{"imageOffset":7584,"symbol":"thread_start","symbolLocation":8,"imageIndex":7}]},{"id":429094,"frames":[{"imageOffset":7564,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":7}]},{"id":429095,"frames":[{"imageOffset":7564,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":7}]},{"id":429104,"name":"com.apple.NSEventThread","frames":[{"imageOffset":279616,"symbol":"CFSetGetValue","symbolLocation":208,"imageIndex":10},{"imageOffset":1383568,"symbol":"__CFRunLoopCopyMode","symbolLocation":148,"imageIndex":10},{"imageOffset":788044,"symbol":"CFRunLoopTimerSetNextFireDate","symbolLocation":412,"imageIndex":10},{"imageOffset":247024,"symbol":"PullEventsFromWindowServerOnConnection(unsigned int, unsigned char, __CFMachPortBoost*)","symbolLocation":452,"imageIndex":11},{"imageOffset":246512,"symbol":"MessageHandler(__CFMachPort*, void*, long, void*)","symbolLocation":60,"imageIndex":11},{"imageOffset":717520,"symbol":"__CFMachPortPerform","symbolLocation":248,"imageIndex":10},{"imageOffset":523424,"symbol":"__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__","symbolLocation":60,"imageIndex":10},{"imageOffset":523200,"symbol":"__CFRunLoopDoSource1","symbolLocation":520,"imageIndex":10},{"imageOffset":517536,"symbol":"__CFRunLoopRun","symbolLocation":2240,"imageIndex":10},{"imageOffset":513420,"symbol":"CFRunLoopRunSpecific","symbolLocation":612,"imageIndex":10},{"imageOffset":1455368,"symbol":"_NSEventThread","symbolLocation":172,"imageIndex":12},{"imageOffset":28584,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":7},{"imageOffset":7584,"symbol":"thread_start","symbolLocation":8,"imageIndex":7}]},{"id":429228,"frames":[{"imageOffset":7564,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":7}]},{"id":429229,"frames":[{"imageOffset":7564,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":7}]},{"id":429297,"name":"com.apple.audio.IOThread.client","frames":[{"imageOffset":3860,"symbol":"mach_msg2_trap","symbolLocation":8,"imageIndex":6},{"imageOffset":78400,"symbol":"mach_msg2_internal","symbolLocation":80,"imageIndex":6},{"imageOffset":39800,"symbol":"mach_msg_overwrite","symbolLocation":604,"imageIndex":6},{"imageOffset":4752,"symbol":"mach_msg","symbolLocation":24,"imageIndex":6},{"imageOffset":3077668,"symbol":"HALB_MachPort::SendSimpleMessageWithSimpleReply(unsigned int, unsigned int, int, int&, bool, unsigned int)","symbolLocation":104,"imageIndex":13},{"imageOffset":1953044,"symbol":"HALC_ProxyIOContext::IOWorkLoop()","symbolLocation":3516,"imageIndex":13},{"imageOffset":1947772,"symbol":"invocation function for block in HALC_ProxyIOContext::HALC_ProxyIOContext(unsigned int, unsigned int)","symbolLocation":116,"imageIndex":13},{"imageOffset":3401060,"symbol":"HALB_IOThread::Entry(void*)","symbolLocation":88,"imageIndex":13},{"imageOffset":28584,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":7},{"imageOffset":7584,"symbol":"thread_start","symbolLocation":8,"imageIndex":7}]},{"id":429299,"name":"CSoundManagerWorker","frames":[{"imageOffset":17676,"symbol":"__semwait_signal","symbolLocation":8,"imageIndex":6},{"imageOffset":53968,"symbol":"nanosleep","symbolLocation":220,"imageIndex":14},{"imageOffset":27429368,"symbol":"SDL_Delay_REAL","symbolLocation":104,"imageIndex":0},{"imageOffset":26029052,"symbol":"SDL_Delay","symbolLocation":36,"imageIndex":0},{"imageOffset":13102640,"symbol":"CSoundManagerWorker::Run()","symbolLocation":656,"imageIndex":0},{"imageOffset":13101908,"symbol":"CSoundManagerWorker::RunThread(CSoundManagerWorker*)","symbolLocation":100,"imageIndex":0},{"imageOffset":13100392,"symbol":"Threading::HandleExceptionsBase<&CSoundManagerWorker::RunThread(CSoundManagerWorker*), void (*)(CSoundManagerWorker*)>::Wrapper(CSoundManagerWorker*)","symbolLocation":40,"imageIndex":0},{"imageOffset":13115504,"symbol":"decltype(static_cast<void (*>(fp)(static_cast<CSoundManagerWorker*>(fp0))) std::__1::__invoke<void (*)(CSoundManagerWorker*), CSoundManagerWorker*>(void (*&&)(CSoundManagerWorker*), CSoundManagerWorker*&&)","symbolLocation":56,"imageIndex":0},{"imageOffset":13115216,"symbol":"void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(CSoundManagerWorker*), CSoundManagerWorker*, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(CSoundManagerWorker*), CSoundManagerWorker*>&, std::__1::__tuple_indices<2ul>)","symbolLocation":72,"imageIndex":0},{"imageOffset":13110864,"symbol":"void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(CSoundManagerWorker*), CSoundManagerWorker*>>(void*)","symbolLocation":100,"imageIndex":0},{"imageOffset":28584,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":7},{"imageOffset":7584,"symbol":"thread_start","symbolLocation":8,"imageIndex":7}]},{"id":429300,"name":"CUserReportWorker","frames":[{"imageOffset":18192,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":6},{"imageOffset":30068,"symbol":"_pthread_cond_wait","symbolLocation":1232,"imageIndex":7},{"imageOffset":77552,"symbol":"std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&)","symbolLocation":28,"imageIndex":8},{"imageOffset":11768516,"symbol":"CUserReporterWorker::Run()","symbolLocation":488,"imageIndex":0},{"imageOffset":11767952,"symbol":"CUserReporterWorker::RunThread(CUserReporterWorker*)","symbolLocation":100,"imageIndex":0},{"imageOffset":11756776,"symbol":"Threading::HandleExceptionsBase<&CUserReporterWorker::RunThread(CUserReporterWorker*), void (*)(CUserReporterWorker*)>::Wrapper(CUserReporterWorker*)","symbolLocation":40,"imageIndex":0},{"imageOffset":11800600,"symbol":"decltype(static_cast<void (*>(fp)(static_cast<CUserReporterWorker*>(fp0))) std::__1::__invoke<void (*)(CUserReporterWorker*), CUserReporterWorker*>(void (*&&)(CUserReporterWorker*), CUserReporterWorker*&&)","symbolLocation":56,"imageIndex":0},{"imageOffset":11800312,"symbol":"void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(CUserReporterWorker*), CUserReporterWorker*, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(CUserReporterWorker*), CUserReporterWorker*>&, std::__1::__tuple_indices<2ul>)","symbolLocation":72,"imageIndex":0},{"imageOffset":11795960,"symbol":"void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(CUserReporterWorker*), CUserReporterWorker*>>(void*)","symbolLocation":100,"imageIndex":0},{"imageOffset":28584,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":7},{"imageOffset":7584,"symbol":"thread_start","symbolLocation":8,"imageIndex":7}]},{"id":429301,"name":"SDLTimer","frames":[{"imageOffset":18192,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":6},{"imageOffset":30068,"symbol":"_pthread_cond_wait","symbolLocation":1232,"imageIndex":7},{"imageOffset":27296208,"symbol":"SDL_CondWaitTimeout_REAL","symbolLocation":208,"imageIndex":0},{"imageOffset":27294600,"symbol":"SDL_SemWaitTimeout_REAL","symbolLocation":196,"imageIndex":0},{"imageOffset":26632760,"symbol":"SDL_TimerThread","symbolLocation":624,"imageIndex":0},{"imageOffset":26630632,"symbol":"SDL_RunThread","symbolLocation":88,"imageIndex":0},{"imageOffset":27292676,"symbol":"RunThread","symbolLocation":24,"imageIndex":0},{"imageOffset":28584,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":7},{"imageOffset":7584,"symbol":"thread_start","symbolLocation":8,"imageIndex":7}]},{"id":429456,"name":"TextureConverter","frames":[{"imageOffset":18192,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":6},{"imageOffset":30068,"symbol":"_pthread_cond_wait","symbolLocation":1232,"imageIndex":7},{"imageOffset":77552,"symbol":"std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&)","symbolLocation":28,"imageIndex":8},{"imageOffset":16524212,"symbol":"CTextureConverter::RunThread(CTextureConverter*)","symbolLocation":160,"imageIndex":0},{"imageOffset":16515756,"symbol":"Threading::HandleExceptionsBase<&CTextureConverter::RunThread(CTextureConverter*), void (*)(CTextureConverter*)>::Wrapper(CTextureConverter*)","symbolLocation":40,"imageIndex":0},{"imageOffset":16585348,"symbol":"decltype(static_cast<void (*>(fp)(static_cast<CTextureConverter*>(fp0))) std::__1::__invoke<void (*)(CTextureConverter*), CTextureConverter*>(void (*&&)(CTextureConverter*), CTextureConverter*&&)","symbolLocation":56,"imageIndex":0},{"imageOffset":16585060,"symbol":"void std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(CTextureConverter*), CTextureConverter*, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(CTextureConverter*), CTextureConverter*>&, std::__1::__tuple_indices<2ul>)","symbolLocation":72,"imageIndex":0},{"imageOffset":16580708,"symbol":"void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(CTextureConverter*), CTextureConverter*>>(void*)","symbolLocation":100,"imageIndex":0},{"imageOffset":28584,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":7},{"imageOffset":7584,"symbol":"thread_start","symbolLocation":8,"imageIndex":7}]}],
      "usedImages" : [
      {
        "source" : "P",
        "arch" : "arm64",
        "base" : 4363288576,
        "CFBundleShortVersionString" : "0.0.27-rc1-27645",
        "CFBundleIdentifier" : "com.wfg.com",
        "size" : 96780288,
        "uuid" : "eecfa934-d78f-33c8-8cf9-c20935cfb63d",
        "path" : "\/Applications\/0 A.D..app\/Contents\/MacOS\/pyrogenesis_dbg",
        "name" : "pyrogenesis_dbg",
        "CFBundleVersion" : "0.0.27-rc1-27645"
      },
      {
        "source" : "P",
        "arch" : "arm64e",
        "base" : 4558716928,
        "CFBundleShortVersionString" : "1.14",
        "CFBundleIdentifier" : "com.apple.audio.units.Components",
        "size" : 1261568,
        "uuid" : "3318bd64-e64f-3e69-991d-605d1bc10d7d",
        "path" : "\/System\/Library\/Components\/CoreAudio.component\/Contents\/MacOS\/CoreAudio",
        "name" : "CoreAudio",
        "CFBundleVersion" : "1.14"
      },
      {
        "source" : "P",
        "arch" : "arm64e",
        "base" : 5135925248,
        "CFBundleShortVersionString" : "1.0",
        "CFBundleIdentifier" : "com.apple.audio.AudioDSPComponents",
        "size" : 9502720,
        "uuid" : "8bb98236-6907-3ad1-8a3a-54552b32953b",
        "path" : "\/System\/Library\/Components\/AudioDSP.component\/Contents\/MacOS\/AudioDSP",
        "name" : "AudioDSP",
        "CFBundleVersion" : "1"
      },
      {
        "source" : "P",
        "arch" : "arm64e",
        "base" : 5148344320,
        "size" : 49152,
        "uuid" : "80f14f3d-d099-3693-a8e0-eb9a526b1790",
        "path" : "\/usr\/lib\/libobjc-trampolines.dylib",
        "name" : "libobjc-trampolines.dylib"
      },
      {
        "source" : "P",
        "arch" : "arm64e",
        "base" : 5392973824,
        "CFBundleShortVersionString" : "1.0",
        "CFBundleIdentifier" : "com.apple.AppleMetalOpenGLRenderer",
        "size" : 442368,
        "uuid" : "7651840d-f268-3dea-ab6e-979cd46d3b2b",
        "path" : "\/System\/Library\/Extensions\/AppleMetalOpenGLRenderer.bundle\/Contents\/MacOS\/AppleMetalOpenGLRenderer",
        "name" : "AppleMetalOpenGLRenderer",
        "CFBundleVersion" : "1"
      },
      {
        "source" : "P",
        "arch" : "arm64e",
        "base" : 6893133824,
        "size" : 582972,
        "uuid" : "ac277a36-1808-327a-8761-cca585421212",
        "path" : "\/usr\/lib\/dyld",
        "name" : "dyld"
      },
      {
        "source" : "P",
        "arch" : "arm64e",
        "base" : 6896398336,
        "size" : 237544,
        "uuid" : "7acbd9bc-d056-310e-858d-81b116cf6d28",
        "path" : "\/usr\/lib\/system\/libsystem_kernel.dylib",
        "name" : "libsystem_kernel.dylib"
      },
      {
        "source" : "P",
        "arch" : "arm64e",
        "base" : 6896635904,
        "size" : 53248,
        "uuid" : "b401cfb3-8dfe-32db-92b3-ba8af0f8ca6e",
        "path" : "\/usr\/lib\/system\/libsystem_pthread.dylib",
        "name" : "libsystem_pthread.dylib"
      },
      {
        "source" : "P",
        "arch" : "arm64e",
        "base" : 6895706112,
        "size" : 577528,
        "uuid" : "79cab92f-5e03-31e7-b2bd-feafdfd2bbde",
        "path" : "\/usr\/lib\/libc++.1.dylib",
        "name" : "libc++.1.dylib"
      },
      {
        "source" : "P",
        "arch" : "arm64e",
        "base" : 7054065664,
        "CFBundleShortVersionString" : "1.0",
        "CFBundleIdentifier" : "com.apple.audio.caulk",
        "size" : 167936,
        "uuid" : "06456788-36d4-3e9d-ab9a-eab934756fe4",
        "path" : "\/System\/Library\/PrivateFrameworks\/caulk.framework\/Versions\/A\/caulk",
        "name" : "caulk"
      },
      {
        "source" : "P",
        "arch" : "arm64e",
        "base" : 6897053696,
        "CFBundleShortVersionString" : "6.9",
        "CFBundleIdentifier" : "com.apple.CoreFoundation",
        "size" : 5087232,
        "uuid" : "b4fdaece-9727-3969-b014-27f7f24c8e01",
        "path" : "\/System\/Library\/Frameworks\/CoreFoundation.framework\/Versions\/A\/CoreFoundation",
        "name" : "CoreFoundation",
        "CFBundleVersion" : "1971"
      },
      {
        "source" : "P",
        "arch" : "arm64e",
        "base" : 7056969728,
        "CFBundleShortVersionString" : "2.1.1",
        "CFBundleIdentifier" : "com.apple.HIToolbox",
        "size" : 3358720,
        "uuid" : "5f34bbf5-653a-31a5-b4b3-0a02c91ab488",
        "path" : "\/System\/Library\/Frameworks\/Carbon.framework\/Versions\/A\/Frameworks\/HIToolbox.framework\/Versions\/A\/HIToolbox",
        "name" : "HIToolbox"
      },
      {
        "source" : "P",
        "arch" : "arm64e",
        "base" : 6949892096,
        "CFBundleShortVersionString" : "6.9",
        "CFBundleIdentifier" : "com.apple.AppKit",
        "size" : 15790080,
        "uuid" : "cc3e5215-4cd7-364c-8750-6eb7002720ce",
        "path" : "\/System\/Library\/Frameworks\/AppKit.framework\/Versions\/C\/AppKit",
        "name" : "AppKit",
        "CFBundleVersion" : "2299.50.120"
      },
      {
        "source" : "P",
        "arch" : "arm64e",
        "base" : 6931243008,
        "CFBundleShortVersionString" : "5.0",
        "CFBundleIdentifier" : "com.apple.audio.CoreAudio",
        "size" : 6897664,
        "uuid" : "41fa6c48-7a9f-3181-a122-953cfaa18117",
        "path" : "\/System\/Library\/Frameworks\/CoreAudio.framework\/Versions\/A\/CoreAudio",
        "name" : "CoreAudio",
        "CFBundleVersion" : "5.0"
      },
      {
        "source" : "P",
        "arch" : "arm64e",
        "base" : 6895185920,
        "size" : 520184,
        "uuid" : "9277aff7-3cc3-30d0-99b7-c62680da95cf",
        "path" : "\/usr\/lib\/system\/libsystem_c.dylib",
        "name" : "libsystem_c.dylib"
      },
      {
        "size" : 0,
        "source" : "A",
        "base" : 0,
        "uuid" : "00000000-0000-0000-0000-000000000000"
      }
    ],
      "sharedCache" : {
      "base" : 6892470272,
      "size" : 3539582976,
      "uuid" : "a52a6d6b-ad23-3f37-b4f1-4b6316acd74c"
    },
      "vmSummary" : "ReadOnly portion of Libraries: Total=1.4G resident=0K(0%) swapped_out_or_unallocated=1.4G(100%)\nWritable regions: Total=1.9G written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=1.9G(100%)\n\n                                VIRTUAL   REGION \nREGION TYPE                        SIZE    COUNT (non-coalesced) \n===========                     =======  ======= \nAccelerate framework               384K        3 \nActivity Tracing                   256K        1 \nCG backing stores                 5760K        8 \nCG image                          2576K       15 \nColorSync                          576K       26 \nCoreAnimation                      304K       18 \nCoreGraphics                        48K        3 \nCoreUI image data                 1408K       15 \nFoundation                          48K        2 \nFoundation (reserved)               16K        1         reserved VM address space (unallocated)\nKernel Alloc Once                   32K        1 \nMALLOC                           671.5M       77 \nMALLOC guard page                  192K       10 \nMALLOC_MEDIUM (reserved)           1.1G       10         reserved VM address space (unallocated)\nMALLOC_NANO (reserved)           128.0M        1         reserved VM address space (unallocated)\nOpenGL GLSL                        256K        3 \nSTACK GUARD                       56.5M       32 \nStack                             36.5M       33 \nVM_ALLOCATE                        2.0G       85 \nVM_ALLOCATE (reserved)             112K        4         reserved VM address space (unallocated)\n__AUTH                            1385K      297 \n__AUTH_CONST                      21.1M      500 \n__CTF                               824        1 \n__DATA                            5620K      490 \n__DATA_CONST                      25.3M      508 \n__DATA_DIRTY                      1502K      176 \n__FONT_DATA                        2352        1 \n__GLSLBUILTINS                    5174K        1 \n__INFO_FILTER                         8        1 \n__LINKEDIT                       889.3M        6 \n__OBJC_RO                         66.2M        1 \n__OBJC_RW                         2011K        1 \n__TEXT                           533.4M      524 \ndyld private memory                272K        2 \nmapped file                      189.6M       30 \nshared memory                      976K       21 \n===========                     =======  ======= \nTOTAL                              5.7G     2908 \nTOTAL, minus reserved VM space     4.5G     2908 \n",
      "legacyInfo" : {
      "threadTriggered" : {
        "name" : "main",
        "queue" : "com.apple.main-thread"
      }
    },
      "logWritingSignature" : "35614bdfa20c988c456feae09e5cba0f0edbfd94",
      "trialInfo" : {
      "rollouts" : [
        {
          "rolloutId" : "5fb4245a1bbfe8005e33a1e1",
          "factorPackIds" : {

          },
          "deploymentId" : 240000021
        },
        {
          "rolloutId" : "60f8ddccefea4203d95cbeef",
          "factorPackIds" : {

          },
          "deploymentId" : 240000025
        }
      ],
      "experiments" : [
        {
          "treatmentId" : "c28e4ee6-1b08-4f90-8e05-2809e78310a3",
          "experimentId" : "6317d2003d24842ff850182a",
          "deploymentId" : 400000013
        },
        {
          "treatmentId" : "6dd670af-0633-45e4-ae5f-122ae4df02be",
          "experimentId" : "64406ba83deb637ac8a04419",
          "deploymentId" : 900000005
        }
      ]
    }
    }

    Model: MacBookPro18,2, BootROM 8422.100.650, proc 10:8:2 processors, 32 GB, SMC 
    Graphics: Apple M1 Max, Apple M1 Max, Built-In
    Display: LS49AG95, 5120 x 1440, Main, MirrorOff, Online
    Display: M28U, 5120 x 2880 (5K/UHD+ - Ultra High Definition Plus), MirrorOff, Online
    Memory Module: LPDDR5, Samsung
    AirPort: spairport_wireless_card_type_wifi (0x14E4, 0x4387), wl0: Mar  8 2023 18:27:05 version 20.96.27.0.8.7.144 FWID 01-ec2ac09e
    Bluetooth: Version (null), 0 services, 0 devices, 0 incoming serial ports
    Network Service: Thunderbolt Ethernet Slot 0 2, Ethernet, en7
    Network Service: Wi-Fi, AirPort, en0
    PCI Card: ethernet, Ethernet Controller, Thunderbolt@3,0,0
    USB Device: USB31Bus
    USB Device: USB31Bus
    USB Device: USB31Bus
    USB Device: USB3.0 Hub
    USB Device: TS4 USB3.2 Gen2 HUB
    USB Device: TS4 USB3.2 Gen2 HUB
    USB Device: TS4 USB3.2 Gen2 HUB
    USB Device: TS4 USB2.0 Hub
    USB Device: TPS DMC Family
    USB Device: TS4 USB2.0 HUB
    USB Device: composite_device
    USB Device: TS4 USB2.0 HUB
    USB Device: TS4 USB2.0 HUB
    USB Device: USB Receiver
    USB Device: Freestyle Edge RGB Keyboard
    Thunderbolt Bus: MacBook Pro, Apple Inc.
    Thunderbolt Bus: MacBook Pro, Apple Inc.
    Thunderbolt Bus: MacBook Pro, Apple Inc.
    Thunderbolt Device: TS4, CalDigit, Inc., 1, 39.1
     

     

    • Sad 1
  17. When changing "Menu" -> "Game Session" -> "Batch training size" to 1 (or any number) and clicking "Save" then "Close."  On clicking "Close" you get an error message saying you have unsaved changes, even though the literal click beforehand was "Save".  However, changes are saved when ignoring the warning prompt.

     

    EDIT:  This only happens once a multiplayer game has started.  Does not happen off the main screen.

    • Sad 1
×
×
  • Create New...