3:17am Over My Head (Cable Car) by Fray
#KJAC #TheColoradoSound #Fray
3:17am Over My Head (Cable Car) by Fray
#KJAC #TheColoradoSound #Fray

#wss366 #fray (3/3)

"Oh, Chip, you are always so close to growing bigger than your pants by the time they get a hole, there's no point," Minervie explained.

"But grandma, you are growing all the time too," Chip said.

Minervie turned her head away as she went red, "Chip go read or something."

Once again, Chip felt he was in trouble, but he wasn't sure why.

#wss366 #fray (2/3)

Satisfied Chip wasn't actively trying to be annoying, Minervie continued, "See the hole, the threads they, how you say, frey. The material wore through."

"No, but..." Chip paused trying to figure out how to be understood.

Minervie having pulled the project back to the table top, continued stitching, "Hmm?"

"When I get a hole in my pants, you always give me a new one," Chip reasoned.

#wss366 #fray (1/3)

"What are you doing grandma?" Chip stuck his nose above the edge of the table to try to see better.

"I'm patching this skirt of mine," Minervie answered, pulling thread through the material.

"Why?" Chip asked.

A slight sigh from Minervie started her saying, "It wore out." She pulled her work off the table to show him the hole and the patch, "so I'm fixing it."

"Why?" Chip asked.

A longer sigh, and she looked in his eyes.

She took small sips and, after a few moments, her color returned.
"Better?" he asked.
"Much better. Yes. Thank you." She got to her feet.
"Are you ready to rejoin the #fray?"
She took his arm and looked up at him with a fetching smile. "After you, Milord." (4/4) #wss366
Today's Wandering Shop Stories #prompt is #fray. Feel like writing something short and sweet that has the word "fray" in it? Check out the definitions of the word at: https://www.merriam-webster.com/dictionary/fray Join in and tag it with #wss366! #writing #WritingLife #microfiction h/t @asakiyume
Definition of FRAY

Definition of 'fray' by Merriam-Webster

in a way, Fray really is the Friend Inside WoL  

#ffxiv #ff14 #gpose #wol #miqote #warrioroflight #fray #drk #friendinsideme

GitHub - cmu-pasta/fray: A controlled concurrency testing framework for the JVM

A controlled concurrency testing framework for the JVM - cmu-pasta/fray

GitHub
🌗 發現 JDK 競態條件,並使用 Fray 在 30 分鐘內除錯
➤ Fray 如何協助偵測並理解難以捉摸的並發錯誤
https://aoli.al/blogs/jdk-bug/
作者在使用 Fray 進行整合測試時,發現了 JDK ScheduledThreadPoolExecutor 中的一個競態條件導致的死鎖問題。這個問題在一般除錯環境下難以重現,但 Fray 的確定性重現和排程視覺化功能使其得以快速定位和理解。問題的根源在於 ScheduledThreadPoolExecutor 在 SHUTDOWN 狀態下處理任務的方式,以及 shutdown 方法和 schedule 方法之間發生的時序問題。作者提交了錯誤報告,並展示瞭如何使用 Fray 重現此錯誤。
+ 哇,這篇文章真的說明瞭好的工具可以省下多少除錯時間!競態條件一直是個噩夢,能有工具像 Fray 這樣幫助重現和分析問題,真的太棒了。
+ 身為一個長期與多線程程式打交道的開發者,我深有體會這種 Heisenbug 的痛苦。這篇文章讓我對 Fray 這個工具產
#開發工具 #競態條件 #除錯 #JDK #Fray
Discovering a JDK Race Condition, and Debugging it in 30 Minutes with Fray

Discovering a JDK Race Condition, and Debugging it in 30 Minutes with Fray I’ve been adding more integration tests for Fray recently. To ensure Fray can handle different scenarios, I wrote many creative test cases. Many of them passed as expected, while some failures led to epic fixes in Fray. Then something unexpected happened: Fray threw a deadlock exception while testing the following seemingly innocent code: 1private void test() { 2 ScheduledThreadPoolExecutor executor = new ScheduledThreadPoolExecutor(1); 3 // Shutdown thread. 4 new Thread(() -> { 5 executor.shutdown(); 6 }).start(); 7 try { 8 ScheduledFuture<?> future = executor.schedule(() -> { 9 Thread.yield(); 10 }, 10, TimeUnit.MILLISECONDS); 11 try { 12 future.get(); 13 Thread.yield(); 14 } catch (Throwable e) {} 15 } catch (RejectedExecutionException e) {} 16} This code creates a ScheduledThreadPoolExecutor, schedules a task, and shuts down the executor in another thread. Initially, I suspected a bug in Fray, but after investigation, I discovered that the deadlock was actually caused by a bug in the JDK itself.

Ao Li