Commit 3a50d6f
authored
signals: acquire loader lock during stackwalk on Win32 (#59840)
Lock the Windows loader lock in jl_with_stackwalk_lock to prevent
certain deadlocks when unwinding the stack, similar to how macOS
acquires the keymgr lock in jl_lock_profile_mach.
The loader lock prevents the loader from modifying internal data
structures while we're walking the stack, which could otherwise cause
crashes or hangs during backtrace collection.
Fixes some of #59650
🤖 Generated with Claude Code1 parent 20c787d commit 3a50d6f
File tree
5 files changed
+45
-65
lines changed- src
5 files changed
+45
-65
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
240 | 240 | | |
241 | 241 | | |
242 | 242 | | |
243 | | - | |
244 | 243 | | |
245 | 244 | | |
246 | 245 | | |
| |||
1533 | 1532 | | |
1534 | 1533 | | |
1535 | 1534 | | |
1536 | | - | |
1537 | 1535 | | |
| 1536 | + | |
1538 | 1537 | | |
1539 | 1538 | | |
1540 | 1539 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
527 | 527 | | |
528 | 528 | | |
529 | 529 | | |
530 | | - | |
| 530 | + | |
531 | 531 | | |
532 | 532 | | |
533 | 533 | | |
| |||
712 | 712 | | |
713 | 713 | | |
714 | 714 | | |
| 715 | + | |
| 716 | + | |
| 717 | + | |
| 718 | + | |
| 719 | + | |
| 720 | + | |
| 721 | + | |
| 722 | + | |
715 | 723 | | |
716 | 724 | | |
717 | 725 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
303 | 303 | | |
304 | 304 | | |
305 | 305 | | |
| 306 | + | |
| 307 | + | |
306 | 308 | | |
307 | 309 | | |
308 | 310 | | |
309 | 311 | | |
310 | 312 | | |
311 | 313 | | |
312 | 314 | | |
313 | | - | |
314 | 315 | | |
315 | | - | |
316 | | - | |
317 | | - | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
318 | 320 | | |
319 | 321 | | |
320 | 322 | | |
321 | | - | |
322 | | - | |
| 323 | + | |
| 324 | + | |
323 | 325 | | |
324 | 326 | | |
325 | 327 | | |
326 | | - | |
327 | 328 | | |
328 | | - | |
| 329 | + | |
329 | 330 | | |
330 | | - | |
331 | | - | |
332 | | - | |
333 | | - | |
334 | | - | |
335 | | - | |
336 | | - | |
337 | | - | |
338 | | - | |
339 | | - | |
340 | | - | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
341 | 334 | | |
342 | 335 | | |
343 | 336 | | |
| |||
458 | 451 | | |
459 | 452 | | |
460 | 453 | | |
461 | | - | |
| 454 | + | |
462 | 455 | | |
463 | 456 | | |
464 | 457 | | |
| |||
845 | 838 | | |
846 | 839 | | |
847 | 840 | | |
848 | | - | |
| 841 | + | |
849 | 842 | | |
850 | 843 | | |
851 | 844 | | |
852 | 845 | | |
853 | 846 | | |
854 | 847 | | |
855 | 848 | | |
856 | | - | |
| 849 | + | |
857 | 850 | | |
858 | 851 | | |
859 | 852 | | |
| |||
866 | 859 | | |
867 | 860 | | |
868 | 861 | | |
869 | | - | |
| 862 | + | |
870 | 863 | | |
871 | 864 | | |
872 | 865 | | |
| |||
883 | 876 | | |
884 | 877 | | |
885 | 878 | | |
886 | | - | |
| 879 | + | |
887 | 880 | | |
888 | 881 | | |
889 | 882 | | |
| |||
1062 | 1055 | | |
1063 | 1056 | | |
1064 | 1057 | | |
1065 | | - | |
| 1058 | + | |
1066 | 1059 | | |
1067 | 1060 | | |
1068 | 1061 | | |
1069 | 1062 | | |
1070 | 1063 | | |
1071 | 1064 | | |
1072 | 1065 | | |
1073 | | - | |
| 1066 | + | |
1074 | 1067 | | |
1075 | 1068 | | |
1076 | 1069 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
7 | 12 | | |
8 | 13 | | |
9 | 14 | | |
| |||
439 | 444 | | |
440 | 445 | | |
441 | 446 | | |
442 | | - | |
| 447 | + | |
443 | 448 | | |
444 | 449 | | |
445 | 450 | | |
446 | | - | |
447 | | - | |
448 | | - | |
449 | | - | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
450 | 455 | | |
451 | 456 | | |
| 457 | + | |
452 | 458 | | |
453 | 459 | | |
454 | | - | |
455 | | - | |
456 | | - | |
457 | | - | |
458 | | - | |
459 | | - | |
460 | | - | |
461 | | - | |
462 | 460 | | |
463 | 461 | | |
464 | 462 | | |
| |||
477 | 475 | | |
478 | 476 | | |
479 | 477 | | |
480 | | - | |
481 | | - | |
482 | | - | |
483 | | - | |
| 478 | + | |
| 479 | + | |
484 | 480 | | |
485 | 481 | | |
486 | 482 | | |
487 | 483 | | |
488 | 484 | | |
489 | 485 | | |
490 | | - | |
| 486 | + | |
491 | 487 | | |
492 | 488 | | |
493 | 489 | | |
| |||
507 | 503 | | |
508 | 504 | | |
509 | 505 | | |
510 | | - | |
511 | 506 | | |
512 | 507 | | |
513 | 508 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1257 | 1257 | | |
1258 | 1258 | | |
1259 | 1259 | | |
1260 | | - | |
1261 | | - | |
1262 | | - | |
1263 | | - | |
1264 | | - | |
1265 | | - | |
1266 | | - | |
1267 | | - | |
1268 | | - | |
1269 | | - | |
1270 | | - | |
1271 | 1260 | | |
1272 | 1261 | | |
1273 | 1262 | | |
1274 | 1263 | | |
1275 | 1264 | | |
1276 | 1265 | | |
1277 | | - | |
1278 | | - | |
1279 | | - | |
| 1266 | + | |
1280 | 1267 | | |
1281 | 1268 | | |
1282 | 1269 | | |
| |||
1309 | 1296 | | |
1310 | 1297 | | |
1311 | 1298 | | |
1312 | | - | |
1313 | | - | |
1314 | | - | |
| 1299 | + | |
1315 | 1300 | | |
1316 | 1301 | | |
1317 | 1302 | | |
| |||
0 commit comments