Would it make sense to intentionally cause this in one test case and then try 
dispatching on another queue at an intentional lower priority?  

I’m just brainstorming here to create a specific case that we know causes it, 
then examines other dispatch options at lower quality of service levels.  Am 
not even considering async yet and expect that may cause unintended 
possibilities.

My guess here is that we need this to be sync, but it cannot be on the main 
thread (obviously) so try lower QOS and another thread before looking in to a 
dispatch queue.

Just trying to look at this from the 100 ft view and exhaust the current 
options before moving pas them.

Then there is always the case of, “does anyone else have this working?  What 
are they doing and why does it work if they do?”

Cheers, 
Alex Zavatone

Sent from my iPhone

> On 19 Mar 2023, at 9:38, Alex Zavatone via Cocoa-dev 
> <cocoa-dev@lists.apple.com> wrote:
> 
> So while I am waiting for my coffee to actually start working, which 
> approaches do we think make sense here?
> 
> When starting up, check if thread == main and if so, do one thing, else do 
> the other?
> 
> If this is correct, what would each option be?
> 
> Is this an appropriate summary or a vast oversimplification?
> 
> Cheers, 
> Alex Zavatone
> 
> Sent from my iPhone
> 
>> On 17 Mar 2023, at 7:21, Michael Hall via Cocoa-dev 
>> <cocoa-dev@lists.apple.com> wrote:
>> 
>> 
>> 
>>>> On Mar 17, 2023, at 7:49 AM, Alan Snyder <javali...@cbfiddle.com> wrote:
>>> 
>>> block() means invoke the block
>>> 
>>>>> On Mar 17, 2023, at 5:34 AM, Michael Hall via Cocoa-dev 
>>>>> <cocoa-dev@lists.apple.com> wrote:
>>>> 
>>>> 
>>>> 
>>>>> On Mar 17, 2023, at 6:51 AM, Michael Hall <mik3h...@gmail.com> wrote:
>>>>> 
>>>>>> 
>>>>> 
>>>>> Sorry, I looked at your link and am still not sure this is correct if you 
>>>>> are already on the main thread.
>>>>> 
>>>> 
>> 
>> Alan,
>> 
>> Sorry for not believing you the first time.
>> 
>> Semantics. Not what I usually think of with ‘block’. 
>> 
>> Sort of a difficult thing to pin down.  What I first saw after the hang 
>> running a Panama early access for the jdk…
>> 
>> "AWT-EventQueue-0" #14 prio=6 os_prio=31 cpu=16.71ms elapsed=5.56s 
>> tid=0x00007f7fdc833400 nid=26883 runnable  [0x0000700003baf000]
>>  java.lang.Thread.State: RUNNABLE
>>   at 
>> sun.java2d.opengl.CGLGraphicsConfig.getCGLConfigInfo(java.desktop@19-panama/Native
>>  Method)
>>   at 
>> sun.java2d.opengl.CGLGraphicsConfig.getConfig(java.desktop@19-panama/CGLGraphicsConfig.java:137)
>>   at 
>> sun.awt.CGraphicsDevice.<init>(java.desktop@19-panama/CGraphicsDevice.java:99)
>>   at 
>> sun.awt.CGraphicsEnvironment.initDevices(java.desktop@19-panama/CGraphicsEnvironment.java:169)
>>   - locked <0x000000070fc0f658> (a sun.awt.CGraphicsEnvironment)
>> 
>> I went to a current jdk 19 to maven build some of Martin’s project last 
>> night which still hangs but shows…
>> 
>> "AWT-EventQueue-0" #21 [27907] prio=6 os_prio=31 cpu=13.40ms elapsed=3.81s 
>> tid=0x00007fdb3785de00 nid=27907 runnable  [0x00007000017f5000]
>>  java.lang.Thread.State: RUNNABLE
>>   at 
>> sun.java2d.metal.MTLGraphicsConfig.tryLoadMetalLibrary(java.desktop@19.0.2/Native
>>  Method)
>>   at 
>> sun.java2d.metal.MTLGraphicsConfig.getConfig(java.desktop@19.0.2/MTLGraphicsConfig.java:140)
>>   at 
>> sun.awt.CGraphicsDevice.<init>(java.desktop@19.0.2/CGraphicsDevice.java:78)
>>   at 
>> sun.awt.CGraphicsEnvironment.initDevices(java.desktop@19.0.2/CGraphicsEnvironment.java:169)
>>   - locked <0x000000070fcf11d8> (a sun.awt.CGraphicsEnvironment)
>> 
>> Different path same result.
>> _______________________________________________
>> 
>> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
>> 
>> Please do not post admin requests or moderator comments to the list.
>> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>> 
>> Help/Unsubscribe/Update your Subscription:
>> https://lists.apple.com/mailman/options/cocoa-dev/zav%40mac.com
>> 
>> This email sent to z...@mac.com
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to