BUG #16827: macOS interrupted syscall leads to a crash

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

BUG #16827: macOS interrupted syscall leads to a crash

apt.postgresql.org Repository Update
The following bug has been logged on the website:

Bug reference:      16827
Logged by:          Ricardo Ungureanu
Email address:      [hidden email]
PostgreSQL version: 13.1
Operating system:   macOS 11.0
Description:        

Hello,

I am using macOS 11.0 and trying to import a large dump into postgresql.
Under some circumstances, it crashes while importing.
I inspected the logs and found out a system call is interrupted (" LOG:
could not open file "pg_wal": Interrupted system call"). Apple has added a
new feature in macOS 11.0 to audit security events. I noticed that the
kernel, while waiting on a condition variable, if it receives an interrupt,
will just pass EINTR (error code 4) back to the usermode program. Your
function XLogFileInit does not treat such cases (just ENOENT is checked) and
decides to exit with an abort(). I have attached below the crash file
generated.

Please let me know if you need more details about this. The bug can be
easily replicated, but a fairly complicated setup has to be done beforehand
(large db dump, macOS 11.0, endpoint security events enabled).

Thanks,
Ricardo



```
Process:               postgres [52997]
Path:                  /Users/USER/*/postgres
Identifier:            postgres
Version:               ???
Code Type:             X86-64 (Native)
Parent Process:        postgres [82]
Responsible:           postgres [82]
User ID:               502

Date/Time:             2021-01-15 14:38:46.907 +0200
OS Version:            macOS 11.1 (20C69)
Report Version:        12
Anonymous UUID:        F608F4B3-1CFC-403F-896B-1127865BDCB5

Sleep/Wake UUID:       385F6270-DB7E-4813-B828-8E66FAEC4B7E

Time Awake Since Boot: 5900 seconds

System Integrity Protection: disabled

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

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Application Specific Information:
crashed on child side of fork pre-exec

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib         0x00007fff2030c462 __pthread_kill + 10
1   libsystem_pthread.dylib       0x00007fff2033a610 pthread_kill + 263
2   libsystem_c.dylib             0x00007fff2028d720 abort + 120
3   postmaster                     0x000000010bd63987 errfinish.cold.2 +
39
4   postmaster                     0x000000010bc816b9 errfinish + 809
(elog.c:590)
5   postmaster                     0x000000010bce1981 XLogFileInit.cold.7 +
65
6   postmaster                     0x000000010b9100d1 XLogFileInit + 1073
(xlog.c:3275)
7   postmaster                     0x000000010b90f048 XLogWrite + 328
(xlog.c:2487)
8   postmaster                     0x000000010b90f6f1 XLogBackgroundFlush +
513 (xlog.c:3137)
9   postmaster                     0x000000010baf5438 WalWriterMain + 584
(walwriter.c:241)
10  postmaster                     0x000000010b924a7e AuxiliaryProcessMain +
1022 (bootstrap.c:459)
11  postmaster                     0x000000010baf0410 StartChildProcess +
560 (postmaster.c:5512)
12  postmaster                     0x000000010baefce6 reaper + 1510
(postmaster.c:3043)
13  libsystem_platform.dylib       0x00007fff2037ed7d _sigtramp + 29
14  libcrypto.1.1.dylib           0x000000010c41f641
evp_EncryptDecryptUpdate + 497
15  postmaster                     0x000000010baee52d PostmasterMain + 3725
(postmaster.c:1412)
16  postmaster                     0x000000010ba593a0 main + 784
(main.c:210)
17  libdyld.dylib                 0x00007fff20355621 start + 1

Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x0000000000000000  rbx: 0x000000010df2be00  rcx: 0x00007ffee436dc48
rdx: 0x0000000000000000
  rdi: 0x0000000000000303  rsi: 0x0000000000000006  rbp: 0x00007ffee436dc70
rsp: 0x00007ffee436dc48
   r8: 0x00000000000130a8   r9: 0x00007fff8899a0e8  r10: 0x000000010df2be00
r11: 0x0000000000000246
  r12: 0x0000000000000303  r13: 0x0000000000000000  r14: 0x0000000000000006
r15: 0x0000000000000016
  rip: 0x00007fff2030c462  rfl: 0x0000000000000246  cr2:
0x000000010bd63960
 
Logical CPU:     0
Error Code:      0x02000148
Trap Number:     133

Thread 0 instruction stream not available.

Thread 0 last branch register state not available.


Binary Images:
       0x10b88e000 -        0x10bebefff +postmaster (0)
<DD04BB7F-2CF6-3B5F-9A0A-68A08FEE57A1> /Users/USER/*/postmaster
       0x10c042000 -        0x10c1d4fff +libxml2.2.dylib (0)
<B4001343-5647-3C0F-8773-C1745DE6FE86> /Users/USER/*/libxml2.2.dylib
       0x10c21a000 -        0x10c29efff +libssl.1.1.dylib (0)
<CE8454AE-3168-3D30-B599-68FCCC225B34> /Users/USER/*/libssl.1.1.dylib
       0x10c2d7000 -        0x10c553fff +libcrypto.1.1.dylib (0)
<702FBE7E-C3BB-3A93-9DF5-499DF267C48E> /Users/USER/*/libcrypto.1.1.dylib
       0x10c600000 -        0x10c757fff +libicuuc.67.1.dylib (0)
<E373627F-A138-3EED-A3AD-C507DAC6375C> /Users/USER/*/libicuuc.67.1.dylib
       0x10c7d9000 -        0x10c9b7fff +libicui18n.67.1.dylib (0)
<1DC57BAE-4EB9-3B88-A4A0-CB74389DFFBE> /Users/USER/*/libicui18n.67.1.dylib
       0x10de54000 -        0x10deeffff  dyld (832.7.1)
<DEA51514-B4E8-3368-979B-89D0F8397ABC> /usr/lib/dyld
       0x10df6c000 -        0x10fa80fff +libicudata.67.1.dylib (0)
<CD496099-70BA-3AC5-8835-C90968127516> /Users/USER/*/libicudata.67.1.dylib
    0x7fff20070000 -     0x7fff20071fff  libsystem_blocks.dylib (78)
<9CF131C6-16FB-3DD0-B046-9E0B6AB99935>
/usr/lib/system/libsystem_blocks.dylib
    0x7fff20072000 -     0x7fff200a7fff  libxpc.dylib (2038.40.38)
<003A027D-9CE3-3794-A319-88495844662D> /usr/lib/system/libxpc.dylib
    0x7fff200a8000 -     0x7fff200bffff  libsystem_trace.dylib (1277.50.1)
<48C14376-626E-3C81-B0F5-7416E64580C7>
/usr/lib/system/libsystem_trace.dylib
    0x7fff200c0000 -     0x7fff2015efff  libcorecrypto.dylib (1000.60.19)
<92F0211E-506E-3760-A3C2-808BF3905C07> /usr/lib/system/libcorecrypto.dylib
    0x7fff2015f000 -     0x7fff2018bfff  libsystem_malloc.dylib (317.40.8)
<2EF43B96-90FB-3C50-B73E-035238504E33>
/usr/lib/system/libsystem_malloc.dylib
    0x7fff2018c000 -     0x7fff201d0fff  libdispatch.dylib (1271.40.12)
<CEF1460B-1362-381A-AE69-6BCE2D8C215B> /usr/lib/system/libdispatch.dylib
    0x7fff201d1000 -     0x7fff20209fff  libobjc.A.dylib (818.2)
<45EA2DE2-B612-3486-B156-2359CE279159> /usr/lib/libobjc.A.dylib
    0x7fff2020a000 -     0x7fff2020cfff  libsystem_featureflags.dylib
(28.60.1) <7B4EBDDB-244E-3F78-8895-566FE22288F3>
/usr/lib/system/libsystem_featureflags.dylib
    0x7fff2020d000 -     0x7fff20295fff  libsystem_c.dylib (1439.40.11)
<06D9F593-C815-385D-957F-2B5BCC223A8A> /usr/lib/system/libsystem_c.dylib
    0x7fff20296000 -     0x7fff202ebfff  libc++.1.dylib (904.4)
<AE3A940A-7A9C-3F99-B175-3511528D8DFE> /usr/lib/libc++.1.dylib
    0x7fff202ec000 -     0x7fff20304fff  libc++abi.dylib (904.4)
<DDFCBF9C-432D-3B8A-8641-578D2EDDCAD8> /usr/lib/libc++abi.dylib
    0x7fff20305000 -     0x7fff20333fff  libsystem_kernel.dylib (7195.60.75)
<4BD61365-29AF-3234-8002-D989D295FDBB>
/usr/lib/system/libsystem_kernel.dylib
    0x7fff20334000 -     0x7fff2033ffff  libsystem_pthread.dylib (454.60.1)
<8DD3A0BC-2C92-31E3-BBAB-CE923A4342E4>
/usr/lib/system/libsystem_pthread.dylib
    0x7fff20340000 -     0x7fff2037afff  libdyld.dylib (832.7.1)
<2F8A14F5-7CB8-3EDD-85EA-7FA960BBC04E> /usr/lib/system/libdyld.dylib
    0x7fff2037b000 -     0x7fff20384fff  libsystem_platform.dylib (254.60.1)
<3F7F6461-7B5C-3197-ACD7-C8A0CFCC6F55>
/usr/lib/system/libsystem_platform.dylib
    0x7fff20385000 -     0x7fff203b0fff  libsystem_info.dylib (542.40.3)
<0979757C-5F0D-3F5A-9E0E-EBF234B310AF>
/usr/lib/system/libsystem_info.dylib
    0x7fff203b1000 -     0x7fff2084cfff  com.apple.CoreFoundation (6.9 -
1770.300) <EAC298C4-CE3E-3551-A832-42ED9A13EF74>
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
    0x7fff2084d000 -     0x7fff20a7cfff  com.apple.LaunchServices (1122.11 -
1122.11) <CAEEC254-68AE-39B5-8452-EC3E1EE8577B>
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices
    0x7fff20a7d000 -     0x7fff20b50fff  com.apple.gpusw.MetalTools (1.0 -
1) <C235D5FA-0B9D-3E72-A8CE-67174E1B9E7C>
/System/Library/PrivateFrameworks/MetalTools.framework/Versions/A/MetalTools
    0x7fff20b51000 -     0x7fff20db4fff  libBLAS.dylib (1336.40.1)
<AD2D155C-1294-3D10-817A-F6A581E6ACF1>
/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
    0x7fff20db5000 -     0x7fff20e02fff  com.apple.Lexicon-framework (1.0 -
86.1) <D54364A6-1C4C-33D7-8B24-C753777B3654>
/System/Library/PrivateFrameworks/Lexicon.framework/Versions/A/Lexicon
    0x7fff20e03000 -     0x7fff20e71fff  libSparse.dylib (106)
<60559226-6E4B-3601-B6CA-E3B85B5EB27B>
/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparse.dylib
    0x7fff20e72000 -     0x7fff20eeffff  com.apple.SystemConfiguration (1.20
- 1.20) <8524EE4C-628F-315A-9531-44DD83CE275E>
/System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration
    0x7fff20ef0000 -     0x7fff20f25fff  libCRFSuite.dylib (50)
<6CA29EAA-0585-3682-9AD2-DFD3D87A74D4> /usr/lib/libCRFSuite.dylib
    0x7fff20f26000 -     0x7fff2115dfff  libmecabra.dylib (929.1.1)
<39F5AD50-3AF2-3CFB-BD21-2DC45AA92A91> /usr/lib/libmecabra.dylib
    0x7fff2115e000 -     0x7fff214c1fff  com.apple.Foundation (6.9 -
1770.300) <44A7115B-7FF0-3300-B61B-0FA71B63C715>
/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
    0x7fff214c2000 -     0x7fff215aefff  com.apple.LanguageModeling (1.0 -
247.1) <BCB1F8A7-54B9-36D1-B742-70DF7657BF0B>
/System/Library/PrivateFrameworks/LanguageModeling.framework/Versions/A/LanguageModeling
    0x7fff221e9000 -     0x7fff2253afff  com.apple.security (7.0 -
59754.60.13) <A20AB68D-51DA-340B-B813-F2AFC81F7143>
/System/Library/Frameworks/Security.framework/Versions/A/Security
    0x7fff2253b000 -     0x7fff2279cfff  libicucore.A.dylib (66109)
<6C0A0196-2778-3035-81CE-7CA48D6C0628> /usr/lib/libicucore.A.dylib
    0x7fff2279d000 -     0x7fff227a6fff  libsystem_darwin.dylib (1439.40.11)
<BD269412-C9D0-32EE-B42B-B09A187A9B95>
/usr/lib/system/libsystem_darwin.dylib
    0x7fff227a7000 -     0x7fff22a8efff  com.apple.CoreServices.CarbonCore
(1307 - 1307) <9C615967-6D8E-307F-B028-6278A4FA7C8C>
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore
    0x7fff22ace000 -     0x7fff22b08fff  com.apple.CSStore (1122.11 -
1122.11) <088D0108-AA14-3610-86A0-89D0C605384F>
/System/Library/PrivateFrameworks/CoreServicesStore.framework/Versions/A/CoreServicesStore
    0x7fff22b09000 -     0x7fff22bb6fff  com.apple.framework.IOKit (2.0.2 -
1845.60.2) <F2299682-5884-363F-9069-AA804E712C74>
/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
    0x7fff22bb7000 -     0x7fff22bc2fff  libsystem_notify.dylib (279.40.4)
<98D74EEF-60D9-3665-B877-7BE1558BA83E>
/usr/lib/system/libsystem_notify.dylib
    0x7fff24030000 -     0x7fff24673fff  libnetwork.dylib (2288.60.5)
<180FE916-8DD6-3385-B231-0C423B7D2BD3> /usr/lib/libnetwork.dylib
    0x7fff24674000 -     0x7fff24b11fff  com.apple.CFNetwork (1209.1 -
1209.1) <60DE4CD6-B5AF-3E0E-8AF1-39ECFC1B8C98>
/System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
    0x7fff24b12000 -     0x7fff24b20fff  libsystem_networkextension.dylib
(1295.60.5) <F476B1CB-3561-30C5-A78E-44E99B1720A3>
/usr/lib/system/libsystem_networkextension.dylib
    0x7fff24b21000 -     0x7fff24b21fff  libenergytrace.dylib (22)
<9BE5E51A-F531-3D59-BBBC-486FFF97BD30> /usr/lib/libenergytrace.dylib
    0x7fff24b22000 -     0x7fff24b7dfff  libMobileGestalt.dylib (978.60.2)
<F721B185-0E6A-396B-A50F-0F55810D9A67> /usr/lib/libMobileGestalt.dylib
    0x7fff24b7e000 -     0x7fff24b94fff  libsystem_asl.dylib (385)
<940C5BB9-4928-3A63-97F2-132797C8B7E5> /usr/lib/system/libsystem_asl.dylib
    0x7fff24b95000 -     0x7fff24bacfff  com.apple.TCC (1.0 - 1)
<457D5F24-A346-38FC-8FA1-43B0C835E035>
/System/Library/PrivateFrameworks/TCC.framework/Versions/A/TCC
    0x7fff25ec4000 -     0x7fff25edafff  com.apple.ProtocolBuffer (1 -
285.20.8.8.1) <8EE538E7-2BB1-3E29-8FC3-938335998B22>
/System/Library/PrivateFrameworks/ProtocolBuffer.framework/Versions/A/ProtocolBuffer
    0x7fff25edb000 -     0x7fff2609afff  libsqlite3.dylib (321.1)
<D7017429-8D46-3ECB-8B70-4625C74918F3> /usr/lib/libsqlite3.dylib
    0x7fff261ff000 -     0x7fff26274fff  com.apple.AE (918.0.1 - 918.0.1)
<3A298716-A130-345E-B8FF-74194849015E>
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE
    0x7fff26275000 -     0x7fff2627bfff  libdns_services.dylib (1310.60.4)
<61EB26AD-C09E-3140-955E-16BF7DD2D6E3> /usr/lib/libdns_services.dylib
    0x7fff2627c000 -     0x7fff26283fff  libsystem_symptoms.dylib
(1431.60.1) <88F35AAC-746F-3176-81DF-49CE3D285636>
/usr/lib/system/libsystem_symptoms.dylib
    0x7fff26284000 -     0x7fff26408fff  com.apple.Network (1.0 - 1)
<EED4099E-B17C-3E0B-AA8F-78A2D4F26CBF>
/System/Library/Frameworks/Network.framework/Versions/A/Network
    0x7fff26409000 -     0x7fff2642dfff  com.apple.analyticsd (1.0 - 1)
<99FE0234-454F-36FF-9DE9-36B94D8753F9>
/System/Library/PrivateFrameworks/CoreAnalytics.framework/Versions/A/CoreAnalytics
    0x7fff2642e000 -     0x7fff26430fff  libDiagnosticMessagesClient.dylib
(112) <1014A32B-89EE-3ADD-971F-9CB973172F69>
/usr/lib/libDiagnosticMessagesClient.dylib
    0x7fff26431000 -     0x7fff2647dfff
com.apple.spotlight.metadata.utilities (1.0 - 2150.7.2)
<37A1E760-2006-366C-9FAC-FB70227393FB>
/System/Library/PrivateFrameworks/MetadataUtilities.framework/Versions/A/MetadataUtilities
    0x7fff2647e000 -     0x7fff26518fff  com.apple.Metadata (10.7.0 -
2150.7.2) <509C6597-ABB2-3B81-8E09-C51A755CCDA2>
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata
    0x7fff26519000 -     0x7fff2651ffff  com.apple.DiskArbitration (2.7 -
2.7) <83DED679-BE65-3475-8AFF-D664BBAFA60A>
/System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration
    0x7fff26520000 -     0x7fff26bc6fff  com.apple.vImage (8.1 - 544)
<305D97CC-B47C-32FD-9EC5-43259A469A14>
/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage
    0x7fff27111000 -     0x7fff27120fff  com.apple.OpenDirectory (11.1 -
230.40.1) <7710743E-6F55-342E-88FA-18796CF83700>
/System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory
    0x7fff27121000 -     0x7fff27140fff  com.apple.CFOpenDirectory (11.1 -
230.40.1) <32ECCB06-56D8-3704-935B-7D5363B2988E>
/System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory
    0x7fff27141000 -     0x7fff27149fff  com.apple.CoreServices.FSEvents
(1290.40.2 - 1290.40.2) <FB18B8D7-C7F5-3CAB-B538-3F4B4E85D1F1>
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/FSEvents
    0x7fff2714a000 -     0x7fff2716efff
com.apple.coreservices.SharedFileList (144 - 144)
<93D2192D-7A27-3FD4-B3AB-A4DCBF8419B7>
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SharedFileList.framework/Versions/A/SharedFileList
    0x7fff2716f000 -     0x7fff27171fff  libapp_launch_measurement.dylib
(14.1) <9E2700C3-E993-3695-988E-FEF798B75E34>
/usr/lib/libapp_launch_measurement.dylib
    0x7fff27172000 -     0x7fff271bafff  com.apple.CoreAutoLayout (1.0 -
21.10.1) <998BC461-F4F5-396E-9798-1C8126AD61DA>
/System/Library/PrivateFrameworks/CoreAutoLayout.framework/Versions/A/CoreAutoLayout
    0x7fff271bb000 -     0x7fff2729dfff  libxml2.2.dylib (34.8)
<68396181-8100-390C-8886-EFB79F5B484C> /usr/lib/libxml2.2.dylib
    0x7fff282ce000 -     0x7fff282defff  libsystem_containermanager.dylib
(318.60.1) <4ED09A19-04CC-3464-9EFB-F674932020B5>
/usr/lib/system/libsystem_containermanager.dylib
    0x7fff282df000 -     0x7fff282f0fff  com.apple.IOSurface (289.3 - 289.3)
<A3B10665-5909-30EE-BE34-F3284D6D5975>
/System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface
    0x7fff282f1000 -     0x7fff282f9fff  com.apple.IOAccelerator (439.52 -
439.52) <3944C92D-7838-3D2F-A453-9DB15C815D7B>
/System/Library/PrivateFrameworks/IOAccelerator.framework/Versions/A/IOAccelerator
    0x7fff282fa000 -     0x7fff2841ffff  com.apple.Metal (244.32.7 -
244.32.7) <413B81AE-653F-3CF7-B5A4-A4391436E6D1>
/System/Library/Frameworks/Metal.framework/Versions/A/Metal
    0x7fff28f7e000 -     0x7fff28fd9fff
com.apple.MetalPerformanceShaders.MPSCore (1.0 - 1)
<E2377275-53D7-31A0-AEAF-0A0273B99B92>
/System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSCore.framework/Versions/A/MPSCore
    0x7fff28fda000 -     0x7fff28fddfff  libsystem_configuration.dylib
(1109.60.2) <C57B346B-0A03-3F87-BCAC-87B702FA0719>
/usr/lib/system/libsystem_configuration.dylib
    0x7fff28fde000 -     0x7fff28fe2fff  libsystem_sandbox.dylib (1441.60.4)
<8CE27199-D633-31D2-AB08-56380A1DA9FB>
/usr/lib/system/libsystem_sandbox.dylib
    0x7fff28fe3000 -     0x7fff28fe4fff  com.apple.AggregateDictionary (1.0
- 1) <7F2AFEBB-FF06-3194-B691-B411F3456962>
/System/Library/PrivateFrameworks/AggregateDictionary.framework/Versions/A/AggregateDictionary
    0x7fff28fe5000 -     0x7fff28fe8fff  com.apple.AppleSystemInfo (3.1.5 -
3.1.5) <250CD2CA-E796-3CB0-9ADD-054998903B1D>
/System/Library/PrivateFrameworks/AppleSystemInfo.framework/Versions/A/AppleSystemInfo
    0x7fff28fe9000 -     0x7fff28feafff  liblangid.dylib (136)
<224DC045-2B60-39AF-B89E-E524175667F5> /usr/lib/liblangid.dylib
    0x7fff28feb000 -     0x7fff2908bfff  com.apple.CoreNLP (1.0 - 245)
<F876FD71-F077-3CF7-B94D-9E05A17E03D7>
/System/Library/PrivateFrameworks/CoreNLP.framework/Versions/A/CoreNLP
    0x7fff2908c000 -     0x7fff29092fff  com.apple.LinguisticData (1.0 -
399) <D1B7F1D5-EB9E-3555-BA57-3611FA153C44>
/System/Library/PrivateFrameworks/LinguisticData.framework/Versions/A/LinguisticData
    0x7fff29093000 -     0x7fff2974ffff  libBNNS.dylib (288.60.2)
<E3FF47D5-7DD9-3A9E-A819-C79B0CC17C03>
/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBNNS.dylib
    0x7fff29750000 -     0x7fff29923fff  libvDSP.dylib (760.40.6)
<9434101D-E001-357F-9503-9896C6011F52>
/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib
    0x7fff29924000 -     0x7fff29936fff  com.apple.CoreEmoji (1.0 - 128)
<7CCFC59A-8746-3E52-AF1D-1B67798E940C>
/System/Library/PrivateFrameworks/CoreEmoji.framework/Versions/A/CoreEmoji
    0x7fff29937000 -     0x7fff29941fff  com.apple.IOMobileFramebuffer
(343.0.0 - 343.0.0) <9A6F913C-EC79-3FC1-A92C-3A1BA96D8DFB>
/System/Library/PrivateFrameworks/IOMobileFramebuffer.framework/Versions/A/IOMobileFramebuffer
    0x7fff29c49000 -     0x7fff29cd5fff  com.apple.securityfoundation (6.0 -
55240.40.4) <5F06D141-62F4-3405-BA72-24673B170A16>
/System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation
    0x7fff29cd6000 -     0x7fff29cdffff
com.apple.coreservices.BackgroundTaskManagement (1.0 - 104)
<C5E4B35C-FFDA-3423-890F-06DAD1F684F5>
/System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Versions/A/BackgroundTaskManagement
    0x7fff29ce0000 -     0x7fff29ce4fff  com.apple.xpc.ServiceManagement
(1.0 - 1) <2C03BEB7-915C-3A3A-A44F-A77775E1BFD5>
/System/Library/Frameworks/ServiceManagement.framework/Versions/A/ServiceManagement
    0x7fff29ce5000 -     0x7fff29ce7fff  libquarantine.dylib (119.40.2)
<19D42B9D-3336-3543-AF75-6E605EA31599> /usr/lib/system/libquarantine.dylib
    0x7fff29ce8000 -     0x7fff29cf3fff  libCheckFix.dylib (31)
<3381FC93-F188-348C-9345-5567A7116CEF> /usr/lib/libCheckFix.dylib
    0x7fff29cf4000 -     0x7fff29d0bfff  libcoretls.dylib (169)
<9C244029-6B45-3583-B27F-BB7BBF84D814> /usr/lib/libcoretls.dylib
    0x7fff29d0c000 -     0x7fff29d1cfff  libbsm.0.dylib (68.40.1)
<DC652D50-FA69-3801-9361-004D4D6832D0> /usr/lib/libbsm.0.dylib
    0x7fff29d1d000 -     0x7fff29d66fff  libmecab.dylib (929.1.1)
<B5D8C96C-D3B8-32F8-84F9-A432CEAD4E5C> /usr/lib/libmecab.dylib
    0x7fff29d67000 -     0x7fff29d6cfff  libgermantok.dylib (24)
<F9772A76-7AFA-3E0B-A02C-A61FC6CA8D8B> /usr/lib/libgermantok.dylib
    0x7fff29d6d000 -     0x7fff29d82fff  libLinearAlgebra.dylib (1336.40.1)
<D2826FAB-174C-3CD6-A765-06D83A9A0EDB>
/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLinearAlgebra.dylib
    0x7fff29d83000 -     0x7fff29faafff
com.apple.MetalPerformanceShaders.MPSNeuralNetwork (1.0 - 1)
<231CF580-952A-32BC-A423-9B9756AC9744>
/System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSNeuralNetwork.framework/Versions/A/MPSNeuralNetwork
    0x7fff29fab000 -     0x7fff29ffafff
com.apple.MetalPerformanceShaders.MPSRayIntersector (1.0 - 1)
<65A993E4-3DC2-3152-98D5-A1DF3DB4573F>
/System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSRayIntersector.framework/Versions/A/MPSRayIntersector
    0x7fff29ffb000 -     0x7fff2a141fff  com.apple.MLCompute (1.0 - 1)
<BCEA1149-197E-398F-9424-E29B0AD0829F>
/System/Library/Frameworks/MLCompute.framework/Versions/A/MLCompute
    0x7fff2a142000 -     0x7fff2a178fff
com.apple.MetalPerformanceShaders.MPSMatrix (1.0 - 1)
<F719DA57-EAAA-3527-B859-21025722932F>
/System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSMatrix.framework/Versions/A/MPSMatrix
    0x7fff2a179000 -     0x7fff2a1b6fff
com.apple.MetalPerformanceShaders.MPSNDArray (1.0 - 1)
<FCCC0D3F-74D2-3107-82B3-E2B500E36AAE>
/System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSNDArray.framework/Versions/A/MPSNDArray
    0x7fff2a1b7000 -     0x7fff2a247fff
com.apple.MetalPerformanceShaders.MPSImage (1.0 - 1)
<21527A17-2D6F-3BDF-9A74-F90FA6E26BB3>
/System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSImage.framework/Versions/A/MPSImage
    0x7fff2a248000 -     0x7fff2a257fff  com.apple.AppleFSCompression (125 -
1.0) <D1E7DC71-1929-30A8-B73E-268387110608>
/System/Library/PrivateFrameworks/AppleFSCompression.framework/Versions/A/AppleFSCompression
    0x7fff2a258000 -     0x7fff2a265fff  libbz2.1.0.dylib (44)
<0575C0D0-B107-3E53-857F-DEC55998197B> /usr/lib/libbz2.1.0.dylib
    0x7fff2a266000 -     0x7fff2a26afff  libsystem_coreservices.dylib (127)
<A2D875B9-8BA8-33AD-BE92-ADAB915A8D5B>
/usr/lib/system/libsystem_coreservices.dylib
    0x7fff2a26b000 -     0x7fff2a298fff  com.apple.CoreServices.OSServices
(1122.11 - 1122.11) <870F34BE-C0ED-318B-858D-5F1E4757D552>
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices
    0x7fff2a46e000 -     0x7fff2a480fff  libz.1.dylib (76)
<9F89FD60-03F7-3175-AB34-5112B99E2B8A> /usr/lib/libz.1.dylib
    0x7fff2a481000 -     0x7fff2a4c8fff  libsystem_m.dylib (3186.40.2)
<79820D9E-0FF1-3F20-AF4F-F87EE20CE8C9> /usr/lib/system/libsystem_m.dylib
    0x7fff2a4c9000 -     0x7fff2a4c9fff  libcharset.1.dylib (59)
<414F6A1C-1EBC-3956-AC2D-CCB0458F31AF> /usr/lib/libcharset.1.dylib
    0x7fff2a4ca000 -     0x7fff2a4cffff  libmacho.dylib (973.4)
<28AE1649-22ED-3C4D-A232-29D37F821C39> /usr/lib/system/libmacho.dylib
    0x7fff2a4d0000 -     0x7fff2a4ebfff  libkxld.dylib (7195.60.75)
<3600A314-332A-343D-B45D-D9D8B302545D> /usr/lib/system/libkxld.dylib
    0x7fff2a4ec000 -     0x7fff2a4f7fff  libcommonCrypto.dylib (60178.40.2)
<1D0A75A5-DEC5-39C6-AB3D-E789B8866712>
/usr/lib/system/libcommonCrypto.dylib
    0x7fff2a4f8000 -     0x7fff2a502fff  libunwind.dylib (200.10)
<C5792A9C-DF0F-3821-BC14-238A78462E8A> /usr/lib/system/libunwind.dylib
    0x7fff2a503000 -     0x7fff2a50afff  liboah.dylib (203.13.2)
<FF72E19B-3B02-34D4-A821-3397BB28AC02> /usr/lib/liboah.dylib
    0x7fff2a50b000 -     0x7fff2a515fff  libcopyfile.dylib (173.40.2)
<89483CD4-DA46-3AF2-AE78-FC37CED05ACC> /usr/lib/system/libcopyfile.dylib
    0x7fff2a516000 -     0x7fff2a51dfff  libcompiler_rt.dylib (102.2)
<0DB26EC8-B4CD-3268-B865-C2FC07E4D2AA>
/usr/lib/system/libcompiler_rt.dylib
    0x7fff2a51e000 -     0x7fff2a520fff  libsystem_collections.dylib
(1439.40.11) <D40D8097-0ABF-3645-B065-168F43ACFF4C>
/usr/lib/system/libsystem_collections.dylib
    0x7fff2a521000 -     0x7fff2a523fff  libsystem_secinit.dylib (87.60.1)
<99B5FD99-1A8B-37C1-BD70-04990FA33B1C>
/usr/lib/system/libsystem_secinit.dylib
    0x7fff2a524000 -     0x7fff2a526fff  libremovefile.dylib (49.40.3)
<750012C2-7097-33C3-B796-2766E6CDE8C1> /usr/lib/system/libremovefile.dylib
    0x7fff2a527000 -     0x7fff2a527fff  libkeymgr.dylib (31)
<2C7B58B0-BE54-3A50-B399-AA49C19083A9> /usr/lib/system/libkeymgr.dylib
    0x7fff2a528000 -     0x7fff2a52ffff  libsystem_dnssd.dylib (1310.60.4)
<81EFC44D-450E-3AA3-AC8F-D7EF68F464B4>
/usr/lib/system/libsystem_dnssd.dylib
    0x7fff2a530000 -     0x7fff2a535fff  libcache.dylib (83)
<2F7F7303-DB23-359E-85CD-8B2F93223E2A> /usr/lib/system/libcache.dylib
    0x7fff2a536000 -     0x7fff2a537fff  libSystem.B.dylib (1292.60.1)
<A7FB4899-9E04-37ED-9DD8-8FFF0400879C> /usr/lib/libSystem.B.dylib
    0x7fff2a538000 -     0x7fff2a53bfff  libfakelink.dylib (3)
<34B6DC95-E19A-37C0-B9D0-558F692D85F5> /usr/lib/libfakelink.dylib
    0x7fff2a53c000 -     0x7fff2a53cfff  com.apple.SoftLinking (1.0 - 1)
<90D679B3-DFFD-3604-B89F-1BCF70B3EBA4>
/System/Library/PrivateFrameworks/SoftLinking.framework/Versions/A/SoftLinking
    0x7fff2a53d000 -     0x7fff2a574fff  libpcap.A.dylib (98.40.1)
<E1995A1C-7EEB-3340-B1E1-DD45FA625C12> /usr/lib/libpcap.A.dylib
    0x7fff2a575000 -     0x7fff2a665fff  libiconv.2.dylib (59)
<3E53F735-1D7E-3ABB-BC45-AAA37F535830> /usr/lib/libiconv.2.dylib
    0x7fff2a666000 -     0x7fff2a677fff  libcmph.dylib (8)
<865FA425-831D-3E49-BD1B-14188D2A98AA> /usr/lib/libcmph.dylib
    0x7fff2a678000 -     0x7fff2a6e9fff  libarchive.2.dylib (83.40.4)
<76B2F421-5335-37FB-9CD5-1018878B9E74> /usr/lib/libarchive.2.dylib
    0x7fff2a6ea000 -     0x7fff2a751fff  com.apple.SearchKit (1.4.1 - 1.4.1)
<7BDD2800-BDDC-3DE0-A4A8-B1E855130E3B>
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit
    0x7fff2a752000 -     0x7fff2a753fff  libThaiTokenizer.dylib (3)
<513547CD-5C7F-37BE-A2AD-55A22F279588> /usr/lib/libThaiTokenizer.dylib
    0x7fff2a754000 -     0x7fff2a77bfff  com.apple.applesauce (1.0 - 16.26)
<AE525243-2CE7-373E-994E-C2457611EB3C>
/System/Library/PrivateFrameworks/AppleSauce.framework/Versions/A/AppleSauce
    0x7fff2a77c000 -     0x7fff2a793fff  libapple_nghttp2.dylib (1.41)
<CC004768-6E3B-3D80-9431-61149EBE2E10> /usr/lib/libapple_nghttp2.dylib
    0x7fff2a794000 -     0x7fff2a7a6fff  libSparseBLAS.dylib (1336.40.1)
<CEBD7B0F-A54D-3A43-BD7E-E8BC2C7B7F0C>
/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparseBLAS.dylib
    0x7fff2a7a7000 -     0x7fff2a7a8fff
com.apple.MetalPerformanceShaders.MetalPerformanceShaders (1.0 - 1)
<1BFEB124-CF05-342F-BC65-B233EAB661D9>
/System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/MetalPerformanceShaders
    0x7fff2a7a9000 -     0x7fff2a7adfff  libpam.2.dylib (28.40.1)
<AE84F5FA-DDB0-3028-AF25-D6B6A12DBA6A> /usr/lib/libpam.2.dylib
    0x7fff2a7ae000 -     0x7fff2a7c6fff  libcompression.dylib (96.40.6)
<45B8B821-8EB6-34FE-92E9-5CBA474499E2> /usr/lib/libcompression.dylib
    0x7fff2a7c7000 -     0x7fff2a7ccfff  libQuadrature.dylib (7)
<FB21F53D-4A40-327F-BD3B-C7C8D08C6A86>
/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libQuadrature.dylib
    0x7fff2a7cd000 -     0x7fff2ab69fff  libLAPACK.dylib (1336.40.1)
<509FBCC6-4ECB-3192-98A6-D0C030E4E9D8>
/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib
    0x7fff2ab6a000 -     0x7fff2abb8fff  com.apple.DictionaryServices (1.2 -
341) <83CDCE83-6B48-35F1-BACF-83240D940777>
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices
    0x7fff2abb9000 -     0x7fff2abd1fff  liblzma.5.dylib (16)
<A45348BC-AA9C-39D6-A7C3-2246A3EFA34C> /usr/lib/liblzma.5.dylib
    0x7fff2abd2000 -     0x7fff2abd3fff  libcoretls_cfhelpers.dylib (169)
<C0F19E92-DACB-3100-8610-62DEC5E5FB81> /usr/lib/libcoretls_cfhelpers.dylib
    0x7fff2abd4000 -     0x7fff2accdfff  com.apple.APFS (1677.60.23 -
1677.60.23) <8271EE40-CDF5-3E0B-9F42-B49DC7C46C98>
/System/Library/PrivateFrameworks/APFS.framework/Versions/A/APFS
    0x7fff2acce000 -     0x7fff2acdbfff  libxar.1.dylib (452)
<3F3DA942-DC7B-31EF-BCF1-38F99F59A660> /usr/lib/libxar.1.dylib
    0x7fff2acdc000 -     0x7fff2acdffff  libutil.dylib (58.40.2)
<85CF2B3B-6BEB-381D-8683-1DE2B0167ECC> /usr/lib/libutil.dylib
    0x7fff2ace0000 -     0x7fff2ad08fff  libxslt.1.dylib (17.2)
<2C881E82-6E2C-3E92-8DC5-3C2D05FE7C95> /usr/lib/libxslt.1.dylib
    0x7fff2ad09000 -     0x7fff2ad13fff  libChineseTokenizer.dylib (37)
<36891BB5-4A83-33A3-9995-CC5DB2AB53CE> /usr/lib/libChineseTokenizer.dylib
    0x7fff2ad14000 -     0x7fff2add2fff  libvMisc.dylib (760.40.6)
<219319E1-BDBD-34D1-97B7-E46256785D3C>
/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib
    0x7fff2b091000 -     0x7fff2b09afff  libheimdal-asn1.dylib (597.40.10)
<032931C8-B042-3B3D-93D3-5B3E27431FEA> /usr/lib/libheimdal-asn1.dylib
    0x7fff2b678000 -     0x7fff2b738fff  com.apple.Heimdal (4.0 - 2.0)
<8BB18335-5DD3-3154-85C8-0145C64556A2>
/System/Library/PrivateFrameworks/Heimdal.framework/Versions/A/Heimdal
    0x7fff2cddf000 -     0x7fff2cdf7fff  libresolv.9.dylib (68)
<9957A6F4-8B66-3429-86CD-6DF4993EB6F5> /usr/lib/libresolv.9.dylib
    0x7fff2cdf8000 -     0x7fff2ce0bfff  libsasl2.2.dylib (214)
<F20902AE-3733-3F37-801D-6C3B78C0008A> /usr/lib/libsasl2.2.dylib
    0x7fff2d724000 -     0x7fff2d733fff  com.apple.Kerberos (3.0 - 1)
<2E872705-0841-3695-AF79-4160D2A436AB>
/System/Library/Frameworks/Kerberos.framework/Versions/A/Kerberos
    0x7fff2d734000 -     0x7fff2d783fff  com.apple.GSS (4.0 - 2.0)
<2A38D59F-5F3A-3779-A421-2F8128F22B95>
/System/Library/Frameworks/GSS.framework/Versions/A/GSS
    0x7fff2d784000 -     0x7fff2d794fff  com.apple.CommonAuth (4.0 - 2.0)
<D9431F22-A16B-3237-9676-B6159B36F5EA>
/System/Library/PrivateFrameworks/CommonAuth.framework/Versions/A/CommonAuth
    0x7fff2d969000 -     0x7fff2d969fff  liblaunch.dylib (2038.40.38)
<05A7EFDD-4111-3E4D-B668-239B69DE3D0F> /usr/lib/system/liblaunch.dylib
    0x7fff2fe16000 -     0x7fff2fe16fff  libsystem_product_info_filter.dylib
(8.40.1) <7CCAF1A8-F570-341E-B275-0C80B092F8E0>
/usr/lib/system/libsystem_product_info_filter.dylib
    0x7fff2fef1000 -     0x7fff2fef1fff  com.apple.Accelerate.vecLib (3.11 -
vecLib 3.11) <510A463F-5CA5-3585-969F-2D44583B71C8>
/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib
    0x7fff2ff18000 -     0x7fff2ff18fff  com.apple.CoreServices (1122.11 -
1122.11) <5DDB040C-6E92-3DBE-9049-873F510F26E2>
/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
    0x7fff301e6000 -     0x7fff301e6fff  com.apple.Accelerate (1.11 -
Accelerate 1.11) <F2FFCC7B-EE3D-3768-A73B-342851B53741>
/System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate
    0x7fff30253000 -     0x7fff30257fff  com.apple.AppleSRP (5.0 - 1)
<882084C9-F925-308F-B778-398FE6741654>
/System/Library/PrivateFrameworks/AppleSRP.framework/Versions/A/AppleSRP
    0x7fff30258000 -     0x7fff30263fff  com.apple.frameworks.CoreDaemon
(1.3 - 1.3) <96849317-5346-3D5D-95B7-6C48C3015427>
/System/Library/PrivateFrameworks/CoreDaemon.framework/Versions/B/CoreDaemon
    0x7fff32ca4000 -     0x7fff32cdbfff  com.apple.LDAPFramework (2.4.28 -
194.5) <C3E9E36B-B981-3FAD-A8EA-9BADE5F2B30D>
/System/Library/Frameworks/LDAP.framework/Versions/A/LDAP
    0x7fff334ab000 -     0x7fff334abfff  libHeimdalProxy.dylib (79)
<1BD94BF6-8E63-3B21-95DC-E5EEEBFB8AE8>
/System/Library/Frameworks/Kerberos.framework/Versions/A/Libraries/libHeimdalProxy.dylib
    0x7fff6c809000 -     0x7fff6c80ffff  libCoreFSCache.dylib (177.22)
<4ECE128D-5E79-3ADF-8FE7-4FE8F565F8AA>
/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreFSCache.dylib

External Modification Summary:
  Calls made by other processes targeting this process:
    task_for_pid: 2
    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: 3225
    thread_create: 0
    thread_set_state: 0

VM Region Summary:
ReadOnly portion of Libraries: Total=618.6M resident=0K(0%)
swapped_out_or_unallocated=618.6M(100%)
Writable regions: Total=204.9M written=0K(0%) resident=0K(0%)
swapped_out=0K(0%) unallocated=204.9M(100%)
 
                                VIRTUAL   REGION
REGION TYPE                        SIZE    COUNT (non-coalesced)
===========                     =======  =======
Kernel Alloc Once                    8K        1
MALLOC                            54.2M       19
MALLOC guard page                   16K        4
STACK GUARD                       56.0M        1
Stack                             8192K        1
VM_ALLOCATE                      142.2M        5
__DATA                            3517K      164
__DATA_CONST                      6360K       97
__DATA_DIRTY                       291K       60
__LINKEDIT                       492.9M       10
__OBJC_RO                         60.5M        1
__OBJC_RW                         2452K        2
__TEXT                           125.7M      163
__UNICODE                          588K        1
shared memory                        8K        2
===========                     =======  =======
TOTAL                            952.6M      531
```

Reply | Threaded
Open this post in threaded view
|

Re: BUG #16827: macOS interrupted syscall leads to a crash

Andres Freund
Hi,

On 2021-01-15 14:00:03 +0000, PG Bug reporting form wrote:

> I am using macOS 11.0 and trying to import a large dump into postgresql.
> Under some circumstances, it crashes while importing.
> I inspected the logs and found out a system call is interrupted (" LOG:
> could not open file "pg_wal": Interrupted system call"). Apple has added a
> new feature in macOS 11.0 to audit security events. I noticed that the
> kernel, while waiting on a condition variable, if it receives an interrupt,
> will just pass EINTR (error code 4) back to the usermode program. Your
> function XLogFileInit does not treat such cases (just ENOENT is checked) and
> decides to exit with an abort(). I have attached below the crash file
> generated.

Hm. It's fairly nasty to return EINTR from open() (except if open()ing a
FIFO or such) - it should normally only happen when blocked. But I'm not
sure it's *actually* violating any standards / promises made.


> Apple has added a new feature in macOS 11.0 to audit security
> events. I noticed that the kernel, while waiting on a condition
> variable, if it receives an interrupt, will just pass EINTR (error
> code 4) back to the usermode program.

Does that also happen for close()? Because that can't reasonably be
handled by userspace (userspace cannot retry because the fd could now
point to something else in a threaded environment).

Greetings,

Andres Freund


Reply | Threaded
Open this post in threaded view
|

Re: BUG #16827: macOS interrupted syscall leads to a crash

Ricardo Ungureanu
Let me give you more context. I am resending this because I forgot to
add the mailing list.
În vin., 15 ian. 2021 la 23:05, Andres Freund <[hidden email]> a scris:

>
> Hi,
>
> On 2021-01-15 14:00:03 +0000, PG Bug reporting form wrote:
> > I am using macOS 11.0 and trying to import a large dump into postgresql.
> > Under some circumstances, it crashes while importing.
> > I inspected the logs and found out a system call is interrupted (" LOG:
> > could not open file "pg_wal": Interrupted system call"). Apple has added a
> > new feature in macOS 11.0 to audit security events. I noticed that the
> > kernel, while waiting on a condition variable, if it receives an interrupt,
> > will just pass EINTR (error code 4) back to the usermode program. Your
> > function XLogFileInit does not treat such cases (just ENOENT is checked) and
> > decides to exit with an abort(). I have attached below the crash file
> > generated.
>
> Hm. It's fairly nasty to return EINTR from open() (except if open()ing a
> FIFO or such) - it should normally only happen when blocked. But I'm not
> sure it's *actually* violating any standards / promises made.

There are two kinds of security events which Apple supports: AUTH and
NOTIFY. AUTH means that the system call is blocked (on that condition
variable I mentioned about), and the user mode daemon is asked about
the generated event: "postgres, pid 999, open() on file /path/file
with flags 0x400003" - something like that. The usermode can either
allow or deny the event by replying. If it decides to block this
system call, the return code seen by the target process (in this case,
postgres) is -1 (operation not permitted) .
On the other hand, NOTIFY events will only log the event, without
requesting a verdict (allow or deny).
In my scenario, usermode daemon responsible for auditing these events
is set to ALLOW everything. If I denied the system call I would see in
postgres log "operation not permitted (err 1)" insead of 'Interrupted
system call (err 4)").
To sum up, the open() is blocked, waiting for a verdict from the
usermode, meanwhile an interrupt is triggered, msleep on the condition
variable returns EINTR and this is passed back to postgres as the
return code of open().

> > Apple has added a new feature in macOS 11.0 to audit security
> > events. I noticed that the kernel, while waiting on a condition
> > variable, if it receives an interrupt, will just pass EINTR (error
> > code 4) back to the usermode program.
>
> Does that also happen for close()? Because that can't reasonably be
> handled by userspace (userspace cannot retry because the fd could now
> point to something else in a threaded environment).

Good point, however the close event is not supported as AUTH, only as
NOTIFY. Thus, this cannot happen on close().
Open() and other file system calls are both AUTH and NOTIFY (you can
choose which one to enable).
You can read more about this here[1]

> Greetings,
>
> Andres Freund

Regards,
Ricardo Ungureanu

[1] https://developer.apple.com/documentation/endpointsecurity/es_event_type_t


Reply | Threaded
Open this post in threaded view
|

Re: BUG #16827: macOS interrupted syscall leads to a crash

Andres Freund
Hi,

Tom, all, this seems like a serious problem likely to become more
widespread. I don't really know how we can reasonably address this
short-term, adding EINTR handling to all the places that don't yet have
it (and ensuring that it stays that way) seems like it's a lot to backport.

There's just been another report of this at
https://postgr.es/m/16832-943d33fd58eb26e4%40postgresql.org

On 2021-01-16 19:30:52 +0200, Ricardo Ungureanu wrote:

> În vin., 15 ian. 2021 la 23:05, Andres Freund <[hidden email]> a scris:
> >
> > Hi,
> >
> > On 2021-01-15 14:00:03 +0000, PG Bug reporting form wrote:
> > > I am using macOS 11.0 and trying to import a large dump into postgresql.
> > > Under some circumstances, it crashes while importing.
> > > I inspected the logs and found out a system call is interrupted (" LOG:
> > > could not open file "pg_wal": Interrupted system call"). Apple has added a
> > > new feature in macOS 11.0 to audit security events. I noticed that the
> > > kernel, while waiting on a condition variable, if it receives an interrupt,
> > > will just pass EINTR (error code 4) back to the usermode program. Your
> > > function XLogFileInit does not treat such cases (just ENOENT is checked) and
> > > decides to exit with an abort(). I have attached below the crash file
> > > generated.
> >
> > Hm. It's fairly nasty to return EINTR from open() (except if open()ing a
> > FIFO or such) - it should normally only happen when blocked. But I'm not
> > sure it's *actually* violating any standards / promises made.
>
> There are two kinds of security events which Apple supports: AUTH and
> NOTIFY. AUTH means that the system call is blocked (on that condition
> variable I mentioned about), and the user mode daemon is asked about
> the generated event: "postgres, pid 999, open() on file /path/file
> with flags 0x400003" - something like that. The usermode can either
> allow or deny the event by replying. If it decides to block this
> system call, the return code seen by the target process (in this case,
> postgres) is -1 (operation not permitted) .
> On the other hand, NOTIFY events will only log the event, without
> requesting a verdict (allow or deny).
> In my scenario, usermode daemon responsible for auditing these events
> is set to ALLOW everything. If I denied the system call I would see in
> postgres log "operation not permitted (err 1)" insead of 'Interrupted
> system call (err 4)").

Does this happens in the default configuration of OSX now? Or is this
something you have manually set up? If manual, why?

Isn't forcing a back-forth context switch for a syscall as common as
open(2) to that auth demon *terrible* for performance?


> To sum up, the open() is blocked, waiting for a verdict from the
> usermode, meanwhile an interrupt is triggered, msleep on the condition
> variable returns EINTR and this is passed back to postgres as the
> return code of open().

> [1] https://developer.apple.com/documentation/endpointsecurity/es_event_type_t

I don't understand how Apple is expecting this to not cause breakage
left and right? Just about no software has EINTR handling for every
syscall (as SA_RESTART is enough), so this seems like it'll lead to a
long tail of bugs.


> > > Apple has added a new feature in macOS 11.0 to audit security
> > > events. I noticed that the kernel, while waiting on a condition
> > > variable, if it receives an interrupt, will just pass EINTR (error
> > > code 4) back to the usermode program.
> >
> > Does that also happen for close()? Because that can't reasonably be
> > handled by userspace (userspace cannot retry because the fd could now
> > point to something else in a threaded environment).
>
> Good point, however the close event is not supported as AUTH, only as
> NOTIFY. Thus, this cannot happen on close().
> Open() and other file system calls are both AUTH and NOTIFY (you can
> choose which one to enable).
> You can read more about this here[1]

Well, that's at least something.

Greetings,

Andres Freund


Reply | Threaded
Open this post in threaded view
|

Re: BUG #16827: macOS interrupted syscall leads to a crash

Tom Lane-2
Andres Freund <[hidden email]> writes:
> Tom, all, this seems like a serious problem likely to become more
> widespread. I don't really know how we can reasonably address this
> short-term, adding EINTR handling to all the places that don't yet have
> it (and ensuring that it stays that way) seems like it's a lot to backport.

The only idea that comes to mind is to invent a wrapper for open
(and other affected syscalls) that adds a loop-on-EINTR.  Ugly,
and it would not fix third-party extensions until they're recompiled.

My inclination is to regard this as something that's Apple's problem,
at least for now.  Perhaps they'll realize what a disaster it is.
(OTOH, they've proven pretty mulish on making SIP usable...)

                        regards, tom lane


Reply | Threaded
Open this post in threaded view
|

Re: BUG #16827: macOS interrupted syscall leads to a crash

Ricardo Ungureanu
In reply to this post by Andres Freund
Hi,

@Kimon, do you have an antivirus installed or an EndpointSecurity
Daemon running? I managed to get this crash only when my
EndpointSecurity Daemon was up and running.
Perhaps the problem is more generic (maybe when the import is very
large. My database is only 10GB) if you can replicate without the
EndpointSecurity framework running.

În vin., 22 ian. 2021 la 19:35, Andres Freund <[hidden email]> a scris:

>
> Hi,
>
> Tom, all, this seems like a serious problem likely to become more
> widespread. I don't really know how we can reasonably address this
> short-term, adding EINTR handling to all the places that don't yet have
> it (and ensuring that it stays that way) seems like it's a lot to backport.
>
> There's just been another report of this at
> https://postgr.es/m/16832-943d33fd58eb26e4%40postgresql.org
>
> On 2021-01-16 19:30:52 +0200, Ricardo Ungureanu wrote:
> > În vin., 15 ian. 2021 la 23:05, Andres Freund <[hidden email]> a scris:
> > >
> > > Hi,
> > >
> > > On 2021-01-15 14:00:03 +0000, PG Bug reporting form wrote:
> > > > I am using macOS 11.0 and trying to import a large dump into postgresql.
> > > > Under some circumstances, it crashes while importing.
> > > > I inspected the logs and found out a system call is interrupted (" LOG:
> > > > could not open file "pg_wal": Interrupted system call"). Apple has added a
> > > > new feature in macOS 11.0 to audit security events. I noticed that the
> > > > kernel, while waiting on a condition variable, if it receives an interrupt,
> > > > will just pass EINTR (error code 4) back to the usermode program. Your
> > > > function XLogFileInit does not treat such cases (just ENOENT is checked) and
> > > > decides to exit with an abort(). I have attached below the crash file
> > > > generated.
> > >
> > > Hm. It's fairly nasty to return EINTR from open() (except if open()ing a
> > > FIFO or such) - it should normally only happen when blocked. But I'm not
> > > sure it's *actually* violating any standards / promises made.
> >
> > There are two kinds of security events which Apple supports: AUTH and
> > NOTIFY. AUTH means that the system call is blocked (on that condition
> > variable I mentioned about), and the user mode daemon is asked about
> > the generated event: "postgres, pid 999, open() on file /path/file
> > with flags 0x400003" - something like that. The usermode can either
> > allow or deny the event by replying. If it decides to block this
> > system call, the return code seen by the target process (in this case,
> > postgres) is -1 (operation not permitted) .
> > On the other hand, NOTIFY events will only log the event, without
> > requesting a verdict (allow or deny).
> > In my scenario, usermode daemon responsible for auditing these events
> > is set to ALLOW everything. If I denied the system call I would see in
> > postgres log "operation not permitted (err 1)" insead of 'Interrupted
> > system call (err 4)").
>
> Does this happens in the default configuration of OSX now? Or is this
> something you have manually set up? If manual, why?

For me it happens in the default configuration when I start my
EndpointSecurity Daemon and just allow every action.
However, the bug might be more generic and could happen when the
system is overloaded. Let's see if Kimon has an antivirus installed or
any other software using EndpointSecurity Framework.

> Isn't forcing a back-forth context switch for a syscall as common as
> open(2) to that auth demon *terrible* for performance?
It is, but Apple does not seem to care at all. From my performance
testing, (without any event processing at all) I see an impact of
30-40%.

> > To sum up, the open() is blocked, waiting for a verdict from the
> > usermode, meanwhile an interrupt is triggered, msleep on the condition
> > variable returns EINTR and this is passed back to postgres as the
> > return code of open().
>
> > [1] https://developer.apple.com/documentation/endpointsecurity/es_event_type_t
>
> I don't understand how Apple is expecting this to not cause breakage
> left and right? Just about no software has EINTR handling for every
> syscall (as SA_RESTART is enough), so this seems like it'll lead to a
> long tail of bugs.
>
>
> > > > Apple has added a new feature in macOS 11.0 to audit security
> > > > events. I noticed that the kernel, while waiting on a condition
> > > > variable, if it receives an interrupt, will just pass EINTR (error
> > > > code 4) back to the usermode program.
> > >
> > > Does that also happen for close()? Because that can't reasonably be
> > > handled by userspace (userspace cannot retry because the fd could now
> > > point to something else in a threaded environment).
> >
> > Good point, however the close event is not supported as AUTH, only as
> > NOTIFY. Thus, this cannot happen on close().
> > Open() and other file system calls are both AUTH and NOTIFY (you can
> > choose which one to enable).
> > You can read more about this here[1]
>
> Well, that's at least something.
>
> Greetings,
>
> Andres Freund

Regards,
Ricardo


Reply | Threaded
Open this post in threaded view
|

Re: BUG #16827: macOS interrupted syscall leads to a crash

kimon.krenz@part9.com
Hi,

Normally I do have an antivirus installed (i.e. Sophos Home). 
However, I did run a couple of tests with deactivated antivirus software and still faced the same issues.

See attached the osx crash report as well as the postgres.log outputs after running a FULL VACUUM on the entire database (no active antivirus).
I should mention of three tries, one FULL VACUUM process on the entire database finished successfully, while two generated 'Interrupted system call' errors.

Best,
Kimon

Crash Report:

Process:               postgres [81020]
Path:                  /usr/local/Cellar/postgresql/13.1/bin/postgres
Identifier:            postgres
Version:               0
Code Type:             X86-64 (Native)
Parent Process:        postgres [81013]
Responsible:           postgres [81013]
User ID:               501

Date/Time:             2021-01-24 21:26:31.955 +0000
OS Version:            macOS 11.0.1 (20B29)
Report Version:        12
Bridge OS Version:     3.0 (14Y908)
Anonymous UUID:        42F4F685-5742-A8A3-E52E-72DBCB658827

Sleep/Wake UUID:       8137C352-AC5F-4AA1-9C76-E905E25C241A

Time Awake Since Boot: 270000 seconds
Time Since Wake:       12000 seconds

System Integrity Protection: enabled

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

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Application Specific Information:
crashed on child side of fork pre-exec

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib         0x00007fff202df462 __pthread_kill + 10
1   libsystem_pthread.dylib       0x00007fff2030d610 pthread_kill + 263
2   libsystem_c.dylib             0x00007fff20260720 abort + 120
3   postgres                       0x000000010a54e3fc errfinish.cold.2 + 39
4   postgres                       0x000000010a4942a4 errfinish + 760
5   postgres                       0x000000010a4ddd2d XLogFileInit.cold.6 + 65
6   postgres                       0x000000010a1af9a1 XLogFileInit + 985
7   postgres                       0x000000010a1aeb11 XLogWrite + 263
8   postgres                       0x000000010a1af125 XLogBackgroundFlush + 493
9   postgres                       0x000000010a3567e5 WalWriterMain + 534
10  postgres                       0x000000010a1c2611 AuxiliaryProcessMain + 1257
11  postgres                       0x000000010a351fde StartChildProcess + 560
12  postgres                       0x000000010a35178d reaper + 754
13  libsystem_platform.dylib       0x00007fff20351d7d _sigtramp + 29
14  ???                           000000000000000000 0 + 0
15  postgres                       0x000000010a3509e0 PostmasterMain + 4492
16  postgres                       0x000000010a2d1e77 main + 611
17  libdyld.dylib                 0x00007fff20328631 start + 1

Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x0000000000000000  rbx: 0x00000001146ebe00  rcx: 0x00007ffee5ac5ca8  rdx: 0x0000000000000000
  rdi: 0x0000000000000303  rsi: 0x0000000000000006  rbp: 0x00007ffee5ac5cd0  rsp: 0x00007ffee5ac5ca8
   r8: 0x00000000000130a8   r9: 0x00007fff88a86e68  r10: 0x00000001146ebe00  r11: 0x0000000000000246
  r12: 0x0000000000000303  r13: 0x0000000000000000  r14: 0x0000000000000006  r15: 0x0000000000000016
  rip: 0x00007fff202df462  rfl: 0x0000000000000246  cr2: 0x000000010a54e3d5
  
Logical CPU:     0
Error Code:      0x02000148
Trap Number:     133

Thread 0 instruction stream not available.

Thread 0 last branch register state not available.


Binary Images:
       0x10a136000 -        0x10a6a5fff +postgres (0) <0E4FFB38-6465-3BE0-9889-2A84B1DD7BE9> /usr/local/opt/postgresql/bin/postgres
       0x10a81d000 -        0x10a86cfff +libssl.1.1.dylib (0) <378E1E35-93EE-34E0-83B3-B93A875BEFF3> /usr/local/opt/openssl@1.1/lib/libssl.1.1.dylib
       0x10a89f000 -        0x10aa5efff +libcrypto.1.1.dylib (0) <46792733-D3D4-3DBD-9347-8C0C7EC6D50C> /usr/local/opt/openssl@1.1/lib/libcrypto.1.1.dylib
       0x10aafb000 -        0x10ab2efff +libgssapi_krb5.2.2.dylib (0) <1E044F67-F9A4-3CEC-AD9C-E0D258EB1020> /usr/local/opt/krb5/lib/libgssapi_krb5.2.2.dylib
       0x10ab4d000 -        0x10acc4fff +libicui18n.67.dylib (0) <215D80D3-0332-3BDC-B087-65FE84268507> /usr/local/opt/icu4c/lib/libicui18n.67.dylib
       0x10add2000 -        0x10aee9fff +libicuuc.67.dylib (0) <F86F3059-FF3E-3152-B8C5-425D89603FD0> /usr/local/opt/icu4c/lib/libicuuc.67.dylib
       0x10af6d000 -        0x10afe8fff +libkrb5.3.3.dylib (0) <563139A1-5E95-3BFE-9957-851D8518A214> /usr/local/Cellar/krb5/1.18.3/lib/libkrb5.3.3.dylib
       0x10b027000 -        0x10b04afff +libk5crypto.3.1.dylib (0) <7FB6731A-6D99-324C-9066-AA4449B7FE4A> /usr/local/Cellar/krb5/1.18.3/lib/libk5crypto.3.1.dylib
       0x10b057000 -        0x10b05afff +libcom_err.3.0.dylib (0) <28EA0610-6533-3891-B66C-F42915C2C995> /usr/local/Cellar/krb5/1.18.3/lib/libcom_err.3.0.dylib
       0x10b06b000 -        0x10b072fff +libkrb5support.1.1.dylib (0) <26E40839-0B40-3DE4-A9BE-6F37EAEA89B5> /usr/local/Cellar/krb5/1.18.3/lib/libkrb5support.1.1.dylib
       0x10b082000 -        0x10cb99fff +libicudata.67.dylib (0) <8E0D9287-3CCA-360C-9262-97D45F872F46> /usr/local/opt/icu4c/lib/libicudata.67.dylib
       0x114614000 -        0x1146affff  dyld (832.7.1) <2705F0D8-C104-3DE9-BEB5-B1EF6E28656D> /usr/lib/dyld
    0x7fff20046000 -     0x7fff20047fff  libsystem_blocks.dylib (78) <83E2F888-F4C1-3181-B21B-136A0D7293DD> /usr/lib/system/libsystem_blocks.dylib
    0x7fff20048000 -     0x7fff2007dfff  libxpc.dylib (2038.40.38) <DC50F7DD-1C4B-3BD2-A54D-C5D7D97A3718> /usr/lib/system/libxpc.dylib
    0x7fff2007e000 -     0x7fff20095fff  libsystem_trace.dylib (1277.50.1) <94196441-5456-342D-84D1-C60A9249D273> /usr/lib/system/libsystem_trace.dylib
    0x7fff20096000 -     0x7fff20131fff  libcorecrypto.dylib (1000.40.21) <2FA5C1BD-F41C-3FCF-B1FA-7BED6E19ABEE> /usr/lib/system/libcorecrypto.dylib
    0x7fff20132000 -     0x7fff2015efff  libsystem_malloc.dylib (317.40.8) <3688DBCE-2FFD-3F98-B12B-69ABE231908D> /usr/lib/system/libsystem_malloc.dylib
    0x7fff2015f000 -     0x7fff201a3fff  libdispatch.dylib (1271.40.12) <C55547DC-A05B-34A1-BD41-D54948D8F57F> /usr/lib/system/libdispatch.dylib
    0x7fff201a4000 -     0x7fff201dcfff  libobjc.A.dylib (818.2) <DD09F187-80F1-308F-9395-912F27E9A390> /usr/lib/libobjc.A.dylib
    0x7fff201dd000 -     0x7fff201dffff  libsystem_featureflags.dylib (28.40.2) <3E1E8F98-E791-301D-909F-4CA205C94D1A> /usr/lib/system/libsystem_featureflags.dylib
    0x7fff201e0000 -     0x7fff20268fff  libsystem_c.dylib (1439.40.11) <8D791F3A-4848-302F-88CD-46D91DE73127> /usr/lib/system/libsystem_c.dylib
    0x7fff20269000 -     0x7fff202befff  libc++.1.dylib (904.4) <E7F465AC-C8FF-31DB-8EC4-7EBBA7468EB5> /usr/lib/libc++.1.dylib
    0x7fff202bf000 -     0x7fff202d7fff  libc++abi.dylib (904.4) <253848B5-ED35-3202-8593-5DCC763A8192> /usr/lib/libc++abi.dylib
    0x7fff202d8000 -     0x7fff20306fff  libsystem_kernel.dylib (7195.50.7) <41068F5C-74E3-3C98-9256-6A18364FB5BA> /usr/lib/system/libsystem_kernel.dylib
    0x7fff20307000 -     0x7fff20312fff  libsystem_pthread.dylib (454.40.3) <78072EC6-2257-361A-AAF5-4A3C1832B5EB> /usr/lib/system/libsystem_pthread.dylib
    0x7fff20313000 -     0x7fff2034dfff  libdyld.dylib (832.7.1) <0C66AB9F-E22C-3286-B76B-DA4008698CD2> /usr/lib/system/libdyld.dylib
    0x7fff2034e000 -     0x7fff20357fff  libsystem_platform.dylib (254.40.4) <6C05D209-129A-373A-A90D-CC27AB18C091> /usr/lib/system/libsystem_platform.dylib
    0x7fff20358000 -     0x7fff20383fff  libsystem_info.dylib (542.40.3) <90DDEF9D-9DBA-3599-A9DD-A7F730AE945F> /usr/lib/system/libsystem_info.dylib
    0x7fff20384000 -     0x7fff2081ffff  com.apple.CoreFoundation (6.9 - 1770.106) <7EBD4941-5978-33EF-98FB-724BB81E92C8> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
    0x7fff20820000 -     0x7fff20a4efff  com.apple.LaunchServices (1122.5.1 - 1122.5.1) <E26F607E-C523-3753-95FC-7A75130632FE> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices
    0x7fff20a4f000 -     0x7fff20b22fff  com.apple.gpusw.MetalTools (1.0 - 1) <0CC81516-4858-3463-A2D8-8FCA414B63FD> /System/Library/PrivateFrameworks/MetalTools.framework/Versions/A/MetalTools
    0x7fff20b23000 -     0x7fff20d86fff  libBLAS.dylib (1336.40.1) <903B0DDC-4B74-3305-B81D-8E66D6AFAD04> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
    0x7fff20d87000 -     0x7fff20dd4fff  com.apple.Lexicon-framework (1.0 - 86.1) <A6282972-785B-3AC4-84A5-6780315011F1> /System/Library/PrivateFrameworks/Lexicon.framework/Versions/A/Lexicon
    0x7fff20dd5000 -     0x7fff20e43fff  libSparse.dylib (106) <D2BC7FE6-7801-3C3B-B8AC-A1F152F92D12> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparse.dylib
    0x7fff20e44000 -     0x7fff20ec0fff  com.apple.SystemConfiguration (1.20 - 1.20) <660AA1E5-A70A-3FC1-9462-570FBBC76125> /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration
    0x7fff20ec1000 -     0x7fff20ef6fff  libCRFSuite.dylib (50) <6873F563-F0FB-32C5-A47A-D97A4931FEA8> /usr/lib/libCRFSuite.dylib
    0x7fff20ef7000 -     0x7fff2112dfff  libmecabra.dylib (929) <CF4538C2-3F4A-360C-B6D9-DEBBA67CD5F0> /usr/lib/libmecabra.dylib
    0x7fff2112e000 -     0x7fff21491fff  com.apple.Foundation (6.9 - 1770.106) <87138770-ED31-393C-B462-4DAF1A0A52D7> /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
    0x7fff21492000 -     0x7fff2157efff  com.apple.LanguageModeling (1.0 - 247) <83FC0636-F2C6-33F1-A873-E3D5A07A9BA4> /System/Library/PrivateFrameworks/LanguageModeling.framework/Versions/A/LanguageModeling
    0x7fff221ba000 -     0x7fff22509fff  com.apple.security (7.0 - 59754.41.1) <93F55E6B-0EB7-3E06-A742-CEBE33A01DCE> /System/Library/Frameworks/Security.framework/Versions/A/Security
    0x7fff2250a000 -     0x7fff2276bfff  libicucore.A.dylib (66108) <D5A29DA5-5693-38EA-B09B-5D7160B26339> /usr/lib/libicucore.A.dylib
    0x7fff2276c000 -     0x7fff22775fff  libsystem_darwin.dylib (1439.40.11) <3BD9046F-FAED-3FD9-8191-49A4618555A3> /usr/lib/system/libsystem_darwin.dylib
    0x7fff22776000 -     0x7fff22a5dfff  com.apple.CoreServices.CarbonCore (1307 - 1307) <F20CD75D-F81D-36F3-90AE-7C2F26E01DA4> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore
    0x7fff22a9d000 -     0x7fff22ad7fff  com.apple.CSStore (1122.5.1 - 1122.5.1) <74069AC7-3AA9-3953-A036-425105377BFF> /System/Library/PrivateFrameworks/CoreServicesStore.framework/Versions/A/CoreServicesStore
    0x7fff22ad8000 -     0x7fff22b85fff  com.apple.framework.IOKit (2.0.2 - 1845.50.1) <18A1F263-4AE2-3F9B-A38F-50BEB00B43D1> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
    0x7fff22b86000 -     0x7fff22b91fff  libsystem_notify.dylib (279.40.4) <73D358B2-6C2D-33DF-975C-BE9EE5F45A0F> /usr/lib/system/libsystem_notify.dylib
    0x7fff23ff9000 -     0x7fff2463cfff  libnetwork.dylib (2288.40.53) <CEC9E75A-51F6-3675-9EA5-007C3DB82A7B> /usr/lib/libnetwork.dylib
    0x7fff2463d000 -     0x7fff24adafff  com.apple.CFNetwork (1207.2 - 1207.2) <B3968D35-EAF0-3661-8F93-3255128411B6> /System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
    0x7fff24adb000 -     0x7fff24ae9fff  libsystem_networkextension.dylib (1295.40.29) <84A5011E-1511-30C7-86D8-514CFA59EF42> /usr/lib/system/libsystem_networkextension.dylib
    0x7fff24aea000 -     0x7fff24aeafff  libenergytrace.dylib (22) <3646415C-FA89-30B2-84C4-3FDB868DF6F6> /usr/lib/libenergytrace.dylib
    0x7fff24aeb000 -     0x7fff24b46fff  libMobileGestalt.dylib (978.40.29) <BC657BA3-6A59-35EF-8E90-26D431477F74> /usr/lib/libMobileGestalt.dylib
    0x7fff24b47000 -     0x7fff24b5dfff  libsystem_asl.dylib (385) <EB8BA94D-1B45-322E-9D26-272872423807> /usr/lib/system/libsystem_asl.dylib
    0x7fff24b5e000 -     0x7fff24b75fff  com.apple.TCC (1.0 - 1) <A3F5F853-54FC-3E67-9F8B-3605B1063D6F> /System/Library/PrivateFrameworks/TCC.framework/Versions/A/TCC
    0x7fff25e9c000 -     0x7fff2605bfff  libsqlite3.dylib (321.1) <821CC6A3-785F-3EE7-ADFA-9231367F8E09> /usr/lib/libsqlite3.dylib
    0x7fff261c0000 -     0x7fff26235fff  com.apple.AE (918 - 918) <9A914CB1-A413-352B-95BA-D639D66DC591> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE
    0x7fff26236000 -     0x7fff2623cfff  libdns_services.dylib (1310.40.42) <5D270035-0D34-3E64-9BA3-8F302E2D767C> /usr/lib/libdns_services.dylib
    0x7fff2623d000 -     0x7fff26244fff  libsystem_symptoms.dylib (1431.40.36) <81345ED1-342F-347F-B979-39846E607C8C> /usr/lib/system/libsystem_symptoms.dylib
    0x7fff263ca000 -     0x7fff263eefff  com.apple.analyticsd (1.0 - 1) <C34AD81D-9BD0-3295-BBC5-39D762835717> /System/Library/PrivateFrameworks/CoreAnalytics.framework/Versions/A/CoreAnalytics
    0x7fff263ef000 -     0x7fff263f1fff  libDiagnosticMessagesClient.dylib (112) <BA70052F-9547-368E-A643-ACF46CA53A3F> /usr/lib/libDiagnosticMessagesClient.dylib
    0x7fff263f2000 -     0x7fff2643efff  com.apple.spotlight.metadata.utilities (1.0 - 2149.9) <732E84A3-6D75-3C92-8C0A-028547EDDF4D> /System/Library/PrivateFrameworks/MetadataUtilities.framework/Versions/A/MetadataUtilities
    0x7fff2643f000 -     0x7fff264d9fff  com.apple.Metadata (10.7.0 - 2149.9) <19EA1487-2CDE-36C6-8EC1-537E33FB8874> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata
    0x7fff264da000 -     0x7fff264e0fff  com.apple.DiskArbitration (2.7 - 2.7) <2E613BB2-B956-3668-9B33-1464DBC83611> /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration
    0x7fff264e1000 -     0x7fff26b87fff  com.apple.vImage (8.1 - 543) <9CFD36A4-7508-31EB-8B78-E5572F5C5426> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage
    0x7fff270c7000 -     0x7fff270d6fff  com.apple.OpenDirectory (11.0 - 230.40.1) <F1AC2921-D026-3048-909D-B623F6AAFC94> /System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory
    0x7fff270d7000 -     0x7fff270f6fff  com.apple.CFOpenDirectory (11.0 - 230.40.1) <030D197F-1B82-3E26-AD80-C7621EF6656C> /System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory
    0x7fff270f7000 -     0x7fff270fffff  com.apple.CoreServices.FSEvents (1290.40.2 - 1290.40.2) <EE985F8A-608D-3A9E-8DDE-C8F635DC69CC> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/FSEvents
    0x7fff27100000 -     0x7fff27124fff  com.apple.coreservices.SharedFileList (143 - 143) <CCD817BF-99F0-34A3-A619-8F47A1F83CC8> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SharedFileList.framework/Versions/A/SharedFileList
    0x7fff27125000 -     0x7fff27127fff  libapp_launch_measurement.dylib (14.1) <7698D7E2-ECE9-3551-AD03-381DF65EE388> /usr/lib/libapp_launch_measurement.dylib
    0x7fff27128000 -     0x7fff27170fff  com.apple.CoreAutoLayout (1.0 - 21.10.1) <14614F40-5A4F-31C0-90DC-B1FB3D8ECE66> /System/Library/PrivateFrameworks/CoreAutoLayout.framework/Versions/A/CoreAutoLayout
    0x7fff27171000 -     0x7fff27253fff  libxml2.2.dylib (34.8) <667639AF-E0DB-3BFD-B641-5D0BFBCBF6A3> /usr/lib/libxml2.2.dylib
    0x7fff28284000 -     0x7fff28294fff  libsystem_containermanager.dylib (318.41.1) <BF178091-2151-3462-AB4F-A2E111650BA2> /usr/lib/system/libsystem_containermanager.dylib
    0x7fff28295000 -     0x7fff282a6fff  com.apple.IOSurface (289.3 - 289.3) <457DD2AD-E48D-3BD3-9549-9CD9CA6B4F51> /System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface
    0x7fff282a7000 -     0x7fff282b3fff  com.apple.IOAccelerator (439.35.4 - 439.35.4) <1FC8B98E-D5A3-3C7B-919B-D187D7A6F76B> /System/Library/PrivateFrameworks/IOAccelerator.framework/Versions/A/IOAccelerator
    0x7fff282b4000 -     0x7fff283d9fff  com.apple.Metal (244.32.6 - 244.32.6) <6BB79960-68EA-3CB9-89D9-E8A11B8C9491> /System/Library/Frameworks/Metal.framework/Versions/A/Metal
    0x7fff28f37000 -     0x7fff28f92fff  com.apple.MetalPerformanceShaders.MPSCore (1.0 - 1) <A929F704-8938-3F9F-8B35-9ABDA03F4D37> /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSCore.framework/Versions/A/MPSCore
    0x7fff28f93000 -     0x7fff28f96fff  libsystem_configuration.dylib (1109.40.9) <EA408233-7EA5-33B5-B099-E9609DD3A0FF> /usr/lib/system/libsystem_configuration.dylib
    0x7fff28f97000 -     0x7fff28f9bfff  libsystem_sandbox.dylib (1441.40.38) <349F71A1-4C7C-3AE0-8A1B-B95CCBB2327F> /usr/lib/system/libsystem_sandbox.dylib
    0x7fff28f9c000 -     0x7fff28f9dfff  com.apple.AggregateDictionary (1.0 - 1) <59A5FE13-BE12-3393-BC0F-40007817F8D7> /System/Library/PrivateFrameworks/AggregateDictionary.framework/Versions/A/AggregateDictionary
    0x7fff28f9e000 -     0x7fff28fa1fff  com.apple.AppleSystemInfo (3.1.5 - 3.1.5) <4CE6C43E-92B6-3933-BEE1-079336A0D6A1> /System/Library/PrivateFrameworks/AppleSystemInfo.framework/Versions/A/AppleSystemInfo
    0x7fff28fa2000 -     0x7fff28fa3fff  liblangid.dylib (136) <EB65D90D-45E3-326D-9F1E-3E9E068E64C5> /usr/lib/liblangid.dylib
    0x7fff28fa4000 -     0x7fff29044fff  com.apple.CoreNLP (1.0 - 245) <AC95402C-105B-3830-8A5B-DA9BCE1AB68B> /System/Library/PrivateFrameworks/CoreNLP.framework/Versions/A/CoreNLP
    0x7fff29045000 -     0x7fff2904bfff  com.apple.LinguisticData (1.0 - 399) <5C2C56E5-6298-32D3-B374-362D7C7F4A85> /System/Library/PrivateFrameworks/LinguisticData.framework/Versions/A/LinguisticData
    0x7fff2904c000 -     0x7fff29708fff  libBNNS.dylib (288.40.19) <C5CF6455-A81A-3B09-94F2-C8F7307E5A58> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBNNS.dylib
    0x7fff29709000 -     0x7fff298dcfff  libvDSP.dylib (760.40.6) <CA559095-DE79-3932-B718-7EFE7770CDF4> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib
    0x7fff298dd000 -     0x7fff298effff  com.apple.CoreEmoji (1.0 - 128) <7F9AAA77-3D73-3164-8961-F0BFE55D7AE8> /System/Library/PrivateFrameworks/CoreEmoji.framework/Versions/A/CoreEmoji
    0x7fff298f0000 -     0x7fff298fafff  com.apple.IOMobileFramebuffer (343.0.0 - 343.0.0) <94F7D4E1-88DF-3445-90EF-A0EBC9AF7961> /System/Library/PrivateFrameworks/IOMobileFramebuffer.framework/Versions/A/IOMobileFramebuffer
    0x7fff29c02000 -     0x7fff29c8efff  com.apple.securityfoundation (6.0 - 55240.40.4) <AC9A369B-6E9B-3267-B56E-2746853615A0> /System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation
    0x7fff29c8f000 -     0x7fff29c98fff  com.apple.coreservices.BackgroundTaskManagement (1.0 - 104) <A59DD866-92E0-3B0E-AE10-36E86878132C> /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Versions/A/BackgroundTaskManagement
    0x7fff29c99000 -     0x7fff29c9dfff  com.apple.xpc.ServiceManagement (1.0 - 1) <D522DFA0-C2D9-31EC-BC6F-8B034DACA54D> /System/Library/Frameworks/ServiceManagement.framework/Versions/A/ServiceManagement
    0x7fff29c9e000 -     0x7fff29ca0fff  libquarantine.dylib (119.40.2) <3DD7F9EE-9B9A-3896-A8CC-4D5BE49385AE> /usr/lib/system/libquarantine.dylib
    0x7fff29ca1000 -     0x7fff29cacfff  libCheckFix.dylib (31) <E66C5541-5A04-3295-BE25-CC251EC627AE> /usr/lib/libCheckFix.dylib
    0x7fff29cad000 -     0x7fff29cc4fff  libcoretls.dylib (169) <32CA60AD-6EEF-335D-8FB0-A2695D455939> /usr/lib/libcoretls.dylib
    0x7fff29cc5000 -     0x7fff29cd5fff  libbsm.0.dylib (68.40.1) <7530532D-8655-34D7-8C1A-273E196A0DE4> /usr/lib/libbsm.0.dylib
    0x7fff29cd6000 -     0x7fff29d1ffff  libmecab.dylib (929) <533290ED-7500-37B4-9212-D9BA773228F8> /usr/lib/libmecab.dylib
    0x7fff29d20000 -     0x7fff29d25fff  libgermantok.dylib (24) <14D82EB1-0212-3E80-90F5-842233FFA740> /usr/lib/libgermantok.dylib
    0x7fff29d26000 -     0x7fff29d3bfff  libLinearAlgebra.dylib (1336.40.1) <CF200364-E4AF-36A8-AB57-1ADFB6BF28B5> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLinearAlgebra.dylib
    0x7fff29d3c000 -     0x7fff29f63fff  com.apple.MetalPerformanceShaders.MPSNeuralNetwork (1.0 - 1) <C08BA44C-9764-363E-A35C-B21AEEFA424B> /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSNeuralNetwork.framework/Versions/A/MPSNeuralNetwork
    0x7fff29f64000 -     0x7fff29fb3fff  com.apple.MetalPerformanceShaders.MPSRayIntersector (1.0 - 1) <E7D2B0C7-FAE3-398A-B949-70A0F6CDAD75> /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSRayIntersector.framework/Versions/A/MPSRayIntersector
    0x7fff29fb4000 -     0x7fff2a0fafff  com.apple.MLCompute (1.0 - 1) <0621E469-4210-3C45-AC4E-023B25E0D1CE> /System/Library/Frameworks/MLCompute.framework/Versions/A/MLCompute
    0x7fff2a0fb000 -     0x7fff2a131fff  com.apple.MetalPerformanceShaders.MPSMatrix (1.0 - 1) <328CA407-7A75-3FE6-9AC1-0D6CE0FF2B0A> /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSMatrix.framework/Versions/A/MPSMatrix
    0x7fff2a132000 -     0x7fff2a16ffff  com.apple.MetalPerformanceShaders.MPSNDArray (1.0 - 1) <0CE771E3-E262-3BFC-BF02-888D7EBB0FE3> /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSNDArray.framework/Versions/A/MPSNDArray
    0x7fff2a170000 -     0x7fff2a200fff  com.apple.MetalPerformanceShaders.MPSImage (1.0 - 1) <4130FBE4-C36C-3E1D-BB0B-63D1A64B28E2> /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSImage.framework/Versions/A/MPSImage
    0x7fff2a201000 -     0x7fff2a210fff  com.apple.AppleFSCompression (125 - 1.0) <5BE26EB2-6012-33E5-AF38-D8C5F4DF64CA> /System/Library/PrivateFrameworks/AppleFSCompression.framework/Versions/A/AppleFSCompression
    0x7fff2a211000 -     0x7fff2a21efff  libbz2.1.0.dylib (44) <F171593B-230C-390E-8EF7-D0659D2F6B54> /usr/lib/libbz2.1.0.dylib
    0x7fff2a21f000 -     0x7fff2a223fff  libsystem_coreservices.dylib (127) <670DDFEB-8100-3C51-BC96-76BD46A21DF6> /usr/lib/system/libsystem_coreservices.dylib
    0x7fff2a224000 -     0x7fff2a251fff  com.apple.CoreServices.OSServices (1122.5.1 - 1122.5.1) <4F03F324-1072-38B8-8BC5-837601C2DBA9> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices
    0x7fff2a427000 -     0x7fff2a439fff  libz.1.dylib (76) <0AF4F195-1F20-3F59-B09F-31E7249890D5> /usr/lib/libz.1.dylib
    0x7fff2a43a000 -     0x7fff2a481fff  libsystem_m.dylib (3186.40.2) <0276200D-C6F2-3E79-AFDC-E4D7F60A7837> /usr/lib/system/libsystem_m.dylib
    0x7fff2a482000 -     0x7fff2a482fff  libcharset.1.dylib (59) <56962263-B7B8-3B84-9C2F-F493D9D2630A> /usr/lib/libcharset.1.dylib
    0x7fff2a483000 -     0x7fff2a488fff  libmacho.dylib (973.4) <F2E3F7A6-B15A-30ED-A6AD-4EFEC37CF3E7> /usr/lib/system/libmacho.dylib
    0x7fff2a489000 -     0x7fff2a4a4fff  libkxld.dylib (7195.50.7) <6FFE0801-7BDA-34EE-89E9-EAEC21A7394C> /usr/lib/system/libkxld.dylib
    0x7fff2a4a5000 -     0x7fff2a4b0fff  libcommonCrypto.dylib (60178.40.2) <66E10FDF-896D-35F4-B9A8-8EE9400AC23A> /usr/lib/system/libcommonCrypto.dylib
    0x7fff2a4b1000 -     0x7fff2a4bbfff  libunwind.dylib (200.10) <BD13DE19-15F8-3982-ACCB-CD8C036D5D2B> /usr/lib/system/libunwind.dylib
    0x7fff2a4bc000 -     0x7fff2a4c3fff  liboah.dylib (203.1.3) <5EC28751-3BE8-3BB7-9DBE-305225CBD41B> /usr/lib/liboah.dylib
    0x7fff2a4c4000 -     0x7fff2a4cefff  libcopyfile.dylib (173.40.2) <17A9CD2E-0527-3FF7-9CFA-57B30133DFB5> /usr/lib/system/libcopyfile.dylib
    0x7fff2a4cf000 -     0x7fff2a4d6fff  libcompiler_rt.dylib (102.2) <FE958653-7FEC-3ADD-9AC0-A386E47208CF> /usr/lib/system/libcompiler_rt.dylib
    0x7fff2a4d7000 -     0x7fff2a4d9fff  libsystem_collections.dylib (1439.40.11) <31C10DA5-F9B8-36E4-B859-8F6B845FF65D> /usr/lib/system/libsystem_collections.dylib
    0x7fff2a4da000 -     0x7fff2a4dcfff  libsystem_secinit.dylib (87.40.10) <BB2A70F5-BECC-34BD-90FE-14D31C5FD80D> /usr/lib/system/libsystem_secinit.dylib
    0x7fff2a4dd000 -     0x7fff2a4dffff  libremovefile.dylib (49.40.3) <24CE2291-AEB3-30C9-94E8-535AA6E9C6F2> /usr/lib/system/libremovefile.dylib
    0x7fff2a4e0000 -     0x7fff2a4e0fff  libkeymgr.dylib (31) <B47F66C0-27F4-3B77-BAA0-85E895A7421D> /usr/lib/system/libkeymgr.dylib
    0x7fff2a4e1000 -     0x7fff2a4e8fff  libsystem_dnssd.dylib (1310.40.42) <F54EC6FB-DEC3-3DA8-A749-4892F50D1F08> /usr/lib/system/libsystem_dnssd.dylib
    0x7fff2a4e9000 -     0x7fff2a4eefff  libcache.dylib (83) <C83C4423-D12A-32A0-875D-81450DF40F42> /usr/lib/system/libcache.dylib
    0x7fff2a4ef000 -     0x7fff2a4f0fff  libSystem.B.dylib (1292.50.1) <14E3BB7B-B95F-3700-8D12-B9B2012C0AF8> /usr/lib/libSystem.B.dylib
    0x7fff2a4f1000 -     0x7fff2a4f4fff  libfakelink.dylib (3) <6E8ABD0B-6BC7-3E2C-B36B-2A7DA4ED0804> /usr/lib/libfakelink.dylib
    0x7fff2a4f5000 -     0x7fff2a4f5fff  com.apple.SoftLinking (1.0 - 1) <23011830-946E-312B-A4BA-1725568F5E76> /System/Library/PrivateFrameworks/SoftLinking.framework/Versions/A/SoftLinking
    0x7fff2a4f6000 -     0x7fff2a52dfff  libpcap.A.dylib (98.40.1) <F2D9427C-C7D7-35F9-8A65-AE2C76D73E4B> /usr/lib/libpcap.A.dylib
    0x7fff2a52e000 -     0x7fff2a61efff  libiconv.2.dylib (59) <BFC929D5-6E2C-3A49-9760-870BC89FC558> /usr/lib/libiconv.2.dylib
    0x7fff2a61f000 -     0x7fff2a630fff  libcmph.dylib (8) <ABEA25CF-8895-31DA-B884-F4012007E7E9> /usr/lib/libcmph.dylib
    0x7fff2a631000 -     0x7fff2a6a2fff  libarchive.2.dylib (83.40.4) <54E0F2AE-C7F5-34A6-8B09-82FED0643886> /usr/lib/libarchive.2.dylib
    0x7fff2a6a3000 -     0x7fff2a70afff  com.apple.SearchKit (1.4.1 - 1.4.1) <E51D4AB5-0576-3392-B45F-E9CA02D22ED5> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit
    0x7fff2a70b000 -     0x7fff2a70cfff  libThaiTokenizer.dylib (3) <41BFE684-D7B8-3DBB-A3F6-E25DB819E86A> /usr/lib/libThaiTokenizer.dylib
    0x7fff2a70d000 -     0x7fff2a734fff  com.apple.applesauce (1.0 - 16.26) <0AFF7A71-EE52-36E6-82B5-459459D99D68> /System/Library/PrivateFrameworks/AppleSauce.framework/Versions/A/AppleSauce
    0x7fff2a735000 -     0x7fff2a74cfff  libapple_nghttp2.dylib (1.41) <94E600F0-740B-308D-9475-8720FFB1923E> /usr/lib/libapple_nghttp2.dylib
    0x7fff2a74d000 -     0x7fff2a75ffff  libSparseBLAS.dylib (1336.40.1) <7A917514-DD2C-3A97-A29B-F41BDCA18852> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparseBLAS.dylib
    0x7fff2a760000 -     0x7fff2a761fff  com.apple.MetalPerformanceShaders.MetalPerformanceShaders (1.0 - 1) <CC090B4C-48B8-3DE1-84FA-807642C38DF9> /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/MetalPerformanceShaders
    0x7fff2a762000 -     0x7fff2a766fff  libpam.2.dylib (28.40.1) <4C7D4B94-5CBA-3480-9BA0-D52B5C675D2A> /usr/lib/libpam.2.dylib
    0x7fff2a767000 -     0x7fff2a77ffff  libcompression.dylib (96.40.6) <C84DBB3A-EDEB-3871-BB2F-AB682A0653F8> /usr/lib/libcompression.dylib
    0x7fff2a780000 -     0x7fff2a785fff  libQuadrature.dylib (7) <C13CA095-EE2D-3C50-98E5-A3570323776F> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libQuadrature.dylib
    0x7fff2a786000 -     0x7fff2ab22fff  libLAPACK.dylib (1336.40.1) <5A406319-C3A7-3D73-93C2-9968ACC81241> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib
    0x7fff2ab23000 -     0x7fff2ab71fff  com.apple.DictionaryServices (1.2 - 341) <CBFBB0CC-093A-39AC-99E3-C032029AC7C3> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices
    0x7fff2ab72000 -     0x7fff2ab8afff  liblzma.5.dylib (16) <7AEA0ACB-B03C-323B-AD4F-C5BD0584D780> /usr/lib/liblzma.5.dylib
    0x7fff2ab8b000 -     0x7fff2ab8cfff  libcoretls_cfhelpers.dylib (169) <86671710-F263-3ED2-8B7D-0052264682CF> /usr/lib/libcoretls_cfhelpers.dylib
    0x7fff2ab8d000 -     0x7fff2ac87fff  com.apple.APFS (1677.50.1 - 1677.50.1) <CBABD7ED-84C7-3F72-80EB-5F8AED435566> /System/Library/PrivateFrameworks/APFS.framework/Versions/A/APFS
    0x7fff2ac88000 -     0x7fff2ac95fff  libxar.1.dylib (452) <8999C952-D05A-3BFA-A673-1EB0B27EBB73> /usr/lib/libxar.1.dylib
    0x7fff2ac96000 -     0x7fff2ac99fff  libutil.dylib (58.40.2) <ECE0C079-2434-3B7E-89EE-B2E538E7BBAD> /usr/lib/libutil.dylib
    0x7fff2ac9a000 -     0x7fff2acc2fff  libxslt.1.dylib (17.2) <7C79FCBB-B6B4-33A4-BD4B-34D674C2866F> /usr/lib/libxslt.1.dylib
    0x7fff2acc3000 -     0x7fff2accdfff  libChineseTokenizer.dylib (37) <F2ECD480-D020-3141-A3B0-D32C8EDA159F> /usr/lib/libChineseTokenizer.dylib
    0x7fff2acce000 -     0x7fff2ad8cfff  libvMisc.dylib (760.40.6) <3CA6964F-742A-33C1-90BB-C8B2D1BF0A4D> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib
    0x7fff2cd92000 -     0x7fff2cdaafff  libresolv.9.dylib (68) <6C18FE1C-EB05-3E02-925D-DE09157C55F9> /usr/lib/libresolv.9.dylib
    0x7fff2cdab000 -     0x7fff2cdbefff  libsasl2.2.dylib (214) <C0EBD583-8C32-3BB2-9433-103A749C0DF8> /usr/lib/libsasl2.2.dylib
    0x7fff2d91a000 -     0x7fff2d91afff  liblaunch.dylib (2038.40.38) <D71781B5-4034-3349-BBE5-4B796CD3629A> /usr/lib/system/liblaunch.dylib
    0x7fff2fdb8000 -     0x7fff2fdb8fff  libsystem_product_info_filter.dylib (8.40.1) <FF59B842-1290-3C4A-9015-AC972563406E> /usr/lib/system/libsystem_product_info_filter.dylib
    0x7fff2fe93000 -     0x7fff2fe93fff  com.apple.Accelerate.vecLib (3.11 - vecLib 3.11) <BBCF1D0C-F727-3B9B-801E-FCEA6C9C1103> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib
    0x7fff2feba000 -     0x7fff2febafff  com.apple.CoreServices (1122.5.1 - 1122.5.1) <070D2800-D014-34E3-AAA9-CB7199EFC728> /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
    0x7fff30188000 -     0x7fff30188fff  com.apple.Accelerate (1.11 - Accelerate 1.11) <5D5F6FDF-38E5-363A-A73C-3C21A2D11574> /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate
    0x7fff301f5000 -     0x7fff301f9fff  com.apple.AppleSRP (5.0 - 1) <663CC9B2-670B-3F1C-9C42-E8242A040287> /System/Library/PrivateFrameworks/AppleSRP.framework/Versions/A/AppleSRP
    0x7fff301fa000 -     0x7fff30205fff  com.apple.frameworks.CoreDaemon (1.3 - 1.3) <73EEC846-DC76-30EB-9D43-7D311452D440> /System/Library/PrivateFrameworks/CoreDaemon.framework/Versions/B/CoreDaemon
    0x7fff32c4b000 -     0x7fff32c82fff  com.apple.LDAPFramework (2.4.28 - 194.5) <1D3EE3B4-47EA-3EA4-9D9B-8BE68438C97E> /System/Library/Frameworks/LDAP.framework/Versions/A/LDAP
    0x7fff6b396000 -     0x7fff6b39cfff  libCoreFSCache.dylib (177.22) <F2BD275B-0979-3426-BC9D-60C22E4FDE1C> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreFSCache.dylib

External Modification Summary:
  Calls made by other processes targeting this process:
    task_for_pid: 4797
    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: 64783104
    thread_create: 0
    thread_set_state: 0

VM Region Summary:
ReadOnly portion of Libraries: Total=606.8M resident=0K(0%) swapped_out_or_unallocated=606.8M(100%)
Writable regions: Total=63.8M written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=63.8M(100%)
 
                                VIRTUAL   REGION 
REGION TYPE                        SIZE    COUNT (non-coalesced) 
===========                     =======  ======= 
Kernel Alloc Once                    8K        1 
MALLOC                            40.2M       19 
MALLOC guard page                   16K        3 
STACK GUARD                       56.0M        1 
Stack                             8192K        1 
VM_ALLOCATE                       15.0M        2 
__DATA                            2916K      158 
__DATA_CONST                      6936K      106 
__DATA_DIRTY                       286K       59 
__LINKEDIT                       487.1M       23 
__OBJC_RO                         61.0M        1 
__OBJC_RW                         2468K        2 
__TEXT                           119.8M      159 
__UNICODE                          588K        1 
shared memory                        8K        2 
===========                     =======  ======= 
TOTAL                            800.1M      538 

Postgres.log:

2021-01-24 21:26:31.949 GMT [81020] PANIC:  XX000: could not open file "pg_wal/00000001000000F300000011": Interrupted system call
2021-01-24 21:26:31.949 GMT [81020] LOCATION:  XLogFileInit, xlog.c:3277
2021-01-24 21:26:31.951 GMT [81013] LOG:  00000: WAL writer process (PID 81020) was terminated by signal 6: Abort trap: 6
2021-01-24 21:26:31.951 GMT [81013] LOCATION:  LogChildExit, postmaster.c:3753
2021-01-24 21:26:31.951 GMT [81013] LOG:  00000: terminating any other active server processes
2021-01-24 21:26:31.951 GMT [81013] LOCATION:  HandleChildCrash, postmaster.c:3474
2021-01-24 21:26:31.951 GMT [81046] WARNING:  57P02: terminating connection because of crash of another server process
2021-01-24 21:26:31.951 GMT [81046] DETAIL:  The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.
2021-01-24 21:26:31.951 GMT [81046] HINT:  In a moment you should be able to reconnect to the database and repeat your command.
2021-01-24 21:26:31.951 GMT [81046] LOCATION:  quickdie, postgres.c:2802
2021-01-24 21:26:31.951 GMT [81024] WARNING:  57P02: terminating connection because of crash of another server process
2021-01-24 21:26:31.951 GMT [81024] DETAIL:  The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.
2021-01-24 21:26:31.951 GMT [81024] HINT:  In a moment you should be able to reconnect to the database and repeat your command.
2021-01-24 21:26:31.951 GMT [81024] LOCATION:  quickdie, postgres.c:2802
2021-01-24 21:26:31.951 GMT [81021] WARNING:  57P02: terminating connection because of crash of another server process
2021-01-24 21:26:31.951 GMT [81021] DETAIL:  The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.
2021-01-24 21:26:31.951 GMT [81021] HINT:  In a moment you should be able to reconnect to the database and repeat your command.
2021-01-24 21:26:31.951 GMT [81021] LOCATION:  quickdie, postgres.c:2802
2021-01-24 21:26:31.951 GMT [81025] WARNING:  57P02: terminating connection because of crash of another server process
2021-01-24 21:26:31.951 GMT [81025] DETAIL:  The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.
2021-01-24 21:26:31.951 GMT [81025] HINT:  In a moment you should be able to reconnect to the database and repeat your command.
2021-01-24 21:26:31.951 GMT [81025] LOCATION:  quickdie, postgres.c:2802
2021-01-24 21:26:31.961 GMT [81955] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:31.961 GMT [81955] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:31.962 GMT [81013] LOG:  00000: all server processes terminated; reinitializing
2021-01-24 21:26:31.962 GMT [81013] LOCATION:  PostmasterStateMachine, postmaster.c:4010
2021-01-24 21:26:31.970 GMT [81956] LOG:  00000: database system was interrupted; last known up at 2021-01-24 21:26:13 GMT
2021-01-24 21:26:31.970 GMT [81956] LOCATION:  StartupXLOG, xlog.c:6387
2021-01-24 21:26:32.519 GMT [81957] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:32.519 GMT [81957] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:32.520 GMT [81958] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:32.520 GMT [81958] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:33.509 GMT [81959] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:33.509 GMT [81959] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:33.515 GMT [81960] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:33.515 GMT [81960] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:33.524 GMT [81961] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:33.524 GMT [81961] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:33.533 GMT [81962] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:33.533 GMT [81962] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:34.517 GMT [81963] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:34.517 GMT [81963] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:34.522 GMT [81964] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:34.522 GMT [81964] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:34.531 GMT [81965] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:34.531 GMT [81965] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:34.539 GMT [81966] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:34.539 GMT [81966] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:35.254 GMT [81956] LOG:  00000: database system was not properly shut down; automatic recovery in progress
2021-01-24 21:26:35.254 GMT [81956] LOCATION:  StartupXLOG, xlog.c:6903
2021-01-24 21:26:35.261 GMT [81956] LOG:  00000: redo starts at F2/6C040368
2021-01-24 21:26:35.261 GMT [81956] LOCATION:  StartupXLOG, xlog.c:7179
2021-01-24 21:26:35.510 GMT [81967] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:35.510 GMT [81967] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:35.516 GMT [81968] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:35.516 GMT [81968] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:36.523 GMT [81969] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:36.523 GMT [81969] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:36.528 GMT [81970] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:36.528 GMT [81970] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:36.536 GMT [81971] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:36.536 GMT [81971] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:36.543 GMT [81972] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:36.543 GMT [81972] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:37.534 GMT [81974] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:37.534 GMT [81974] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:37.538 GMT [81975] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:37.538 GMT [81975] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:37.546 GMT [81976] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:37.546 GMT [81976] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:37.552 GMT [81977] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:37.552 GMT [81977] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:38.546 GMT [81978] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:38.546 GMT [81978] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:38.551 GMT [81979] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:38.551 GMT [81979] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:38.559 GMT [81980] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:38.559 GMT [81980] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:38.563 GMT [81981] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:38.563 GMT [81981] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:39.555 GMT [81982] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:39.555 GMT [81982] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:39.560 GMT [81983] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:39.560 GMT [81983] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:39.574 GMT [81984] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:39.574 GMT [81984] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:39.581 GMT [81985] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:39.581 GMT [81985] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:40.549 GMT [81986] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:40.549 GMT [81986] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:40.554 GMT [81987] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:40.554 GMT [81987] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:40.561 GMT [81988] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:40.561 GMT [81988] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:40.569 GMT [81989] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:40.569 GMT [81989] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:41.546 GMT [81990] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:41.546 GMT [81990] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:41.551 GMT [81991] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:41.551 GMT [81991] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:41.557 GMT [81992] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:41.557 GMT [81992] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:41.565 GMT [81993] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:41.565 GMT [81993] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:42.583 GMT [81995] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:42.583 GMT [81995] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:42.588 GMT [81996] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:42.588 GMT [81996] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:42.594 GMT [81997] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:42.594 GMT [81997] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:42.599 GMT [81998] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:42.599 GMT [81998] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:43.559 GMT [81999] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:43.559 GMT [81999] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:43.563 GMT [82000] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:43.563 GMT [82000] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:43.568 GMT [82001] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:43.568 GMT [82001] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:43.574 GMT [82002] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:43.574 GMT [82002] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:44.409 GMT [81956] LOG:  00000: redo done at F3/11957090
2021-01-24 21:26:44.409 GMT [81956] LOCATION:  StartupXLOG, xlog.c:7441
2021-01-24 21:26:44.581 GMT [82004] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:44.581 GMT [82004] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:44.587 GMT [82005] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:44.587 GMT [82005] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:44.595 GMT [82006] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:44.595 GMT [82006] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:44.606 GMT [82007] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:44.606 GMT [82007] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:45.558 GMT [82008] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:45.558 GMT [82008] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:45.561 GMT [82009] FATAL:  57P03: the database system is in recovery mode
2021-01-24 21:26:45.561 GMT [82009] LOCATION:  ProcessStartupPacket, postmaster.c:2328
2021-01-24 21:26:45.927 GMT [81013] LOG:  00000: database system is ready to accept connections
2021-01-24 21:26:45.927 GMT [81013] LOCATION:  reaper, postmaster.c:3061


On 23 Jan 2021, at 15:42, Ricardo Ungureanu <[hidden email]> wrote:

Hi,

@Kimon, do you have an antivirus installed or an EndpointSecurity
Daemon running? I managed to get this crash only when my
EndpointSecurity Daemon was up and running.
Perhaps the problem is more generic (maybe when the import is very
large. My database is only 10GB) if you can replicate without the
EndpointSecurity framework running.

În vin., 22 ian. 2021 la 19:35, Andres Freund <[hidden email]> a scris:

Hi,

Tom, all, this seems like a serious problem likely to become more
widespread. I don't really know how we can reasonably address this
short-term, adding EINTR handling to all the places that don't yet have
it (and ensuring that it stays that way) seems like it's a lot to backport.

There's just been another report of this at
https://postgr.es/m/16832-943d33fd58eb26e4%40postgresql.org

On 2021-01-16 19:30:52 +0200, Ricardo Ungureanu wrote:
În vin., 15 ian. 2021 la 23:05, Andres Freund <[hidden email]> a scris:

Hi,

On 2021-01-15 14:00:03 +0000, PG Bug reporting form wrote:
I am using macOS 11.0 and trying to import a large dump into postgresql.
Under some circumstances, it crashes while importing.
I inspected the logs and found out a system call is interrupted (" LOG:
could not open file "pg_wal": Interrupted system call"). Apple has added a
new feature in macOS 11.0 to audit security events. I noticed that the
kernel, while waiting on a condition variable, if it receives an interrupt,
will just pass EINTR (error code 4) back to the usermode program. Your
function XLogFileInit does not treat such cases (just ENOENT is checked) and
decides to exit with an abort(). I have attached below the crash file
generated.

Hm. It's fairly nasty to return EINTR from open() (except if open()ing a
FIFO or such) - it should normally only happen when blocked. But I'm not
sure it's *actually* violating any standards / promises made.

There are two kinds of security events which Apple supports: AUTH and
NOTIFY. AUTH means that the system call is blocked (on that condition
variable I mentioned about), and the user mode daemon is asked about
the generated event: "postgres, pid 999, open() on file /path/file
with flags 0x400003" - something like that. The usermode can either
allow or deny the event by replying. If it decides to block this
system call, the return code seen by the target process (in this case,
postgres) is -1 (operation not permitted) .
On the other hand, NOTIFY events will only log the event, without
requesting a verdict (allow or deny).
In my scenario, usermode daemon responsible for auditing these events
is set to ALLOW everything. If I denied the system call I would see in
postgres log "operation not permitted (err 1)" insead of 'Interrupted
system call (err 4)").

Does this happens in the default configuration of OSX now? Or is this
something you have manually set up? If manual, why?

For me it happens in the default configuration when I start my
EndpointSecurity Daemon and just allow every action.
However, the bug might be more generic and could happen when the
system is overloaded. Let's see if Kimon has an antivirus installed or
any other software using EndpointSecurity Framework.

Isn't forcing a back-forth context switch for a syscall as common as
open(2) to that auth demon *terrible* for performance?
It is, but Apple does not seem to care at all. From my performance
testing, (without any event processing at all) I see an impact of
30-40%.

To sum up, the open() is blocked, waiting for a verdict from the
usermode, meanwhile an interrupt is triggered, msleep on the condition
variable returns EINTR and this is passed back to postgres as the
return code of open().

[1] https://developer.apple.com/documentation/endpointsecurity/es_event_type_t

I don't understand how Apple is expecting this to not cause breakage
left and right? Just about no software has EINTR handling for every
syscall (as SA_RESTART is enough), so this seems like it'll lead to a
long tail of bugs.


Apple has added a new feature in macOS 11.0 to audit security
events. I noticed that the kernel, while waiting on a condition
variable, if it receives an interrupt, will just pass EINTR (error
code 4) back to the usermode program.

Does that also happen for close()? Because that can't reasonably be
handled by userspace (userspace cannot retry because the fd could now
point to something else in a threaded environment).

Good point, however the close event is not supported as AUTH, only as
NOTIFY. Thus, this cannot happen on close().
Open() and other file system calls are both AUTH and NOTIFY (you can
choose which one to enable).
You can read more about this here[1]

Well, that's at least something.

Greetings,

Andres Freund

Regards,
Ricardo

Reply | Threaded
Open this post in threaded view
|

Re: BUG #16827: macOS interrupted syscall leads to a crash

Thomas Munro-5
In reply to this post by apt.postgresql.org Repository Update
On Sat, Jan 16, 2021 at 3:17 AM PG Bug reporting form
<[hidden email]> wrote:

> I am using macOS 11.0 and trying to import a large dump into postgresql.
> Under some circumstances, it crashes while importing.
> I inspected the logs and found out a system call is interrupted (" LOG:
> could not open file "pg_wal": Interrupted system call"). Apple has added a
> new feature in macOS 11.0 to audit security events. I noticed that the
> kernel, while waiting on a condition variable, if it receives an interrupt,
> will just pass EINTR (error code 4) back to the usermode program. Your
> function XLogFileInit does not treat such cases (just ENOENT is checked) and
> decides to exit with an abort(). I have attached below the crash file
> generated.
>
> Please let me know if you need more details about this. The bug can be
> easily replicated, but a fairly complicated setup has to be done beforehand
> (large db dump, macOS 11.0, endpoint security events enabled).

I wonder if this also explains why pg_test_fsync's final measurement
"non-sync", which does open(), write(), close() in a loop, only
manages around 50k loops per second on an M1 Air, but around a million
on contemporary laptops running Linux and FreeBSD, though I don't have
a Catalina system to compare with.