Skip to content

Assert in datapath_kqueue.c on macOS #3450

@nibanks

Description

@nibanks

Describe the bug

  thread #2
    frame #0: 0x00007ff81985500e libsystem_kernel.dylib`__pthread_kill + 10
    frame #1: 0x00007ff81988b1ff libsystem_pthread.dylib`pthread_kill + 263
    frame #2: 0x00007ff8197d6d24 libsystem_c.dylib`abort + 123
    frame #3: 0x000000010fa745a8 libmsquic.2.dylib`quic_bugcheck(File="/Users/runner/work/1/s/src/platform/datapath_kqueue.c", Line=2094, Expr="pthread_mutex_lock(&(&SocketContext->PendingSendDataLock)->Mutex) == 0") at platform_posix.c:93:5 [opt]
    frame #4: 0x000000010fa77389 libmsquic.2.dylib`CxPlatSocketSendInternal(SocketContext=<unavailable>, LocalAddress=0x00007fb07509897c, RemoteAddress=0x00007fb075098960, SendData=<unavailable>, IsPendedSend='\0') at datapath_kqueue.c:2094:9 [opt]
    frame #5: 0x000000010fa78031 libmsquic.2.dylib`CxPlatSocketSend(Socket=<unavailable>, Route=<unavailable>, SendData=<unavailable>) at datapath_kqueue.c:2253:9 [opt]
    frame #6: 0x000000010fa3a98a libmsquic.2.dylib`QuicBindingSend(Binding=<unavailable>, Route=<unavailable>, SendData=<unavailable>, BytesToSend=1220, DatagramsToSend=1) at binding.c:1840:13 [opt]
    frame #7: 0x000000010fa5da15 libmsquic.2.dylib`QuicPacketBuilderFinalize [inlined] QuicPacketBuilderSendBatch(Builder=0x000070000c392ac0) at packet_builder.c:1033:5 [opt]
    frame #8: 0x000000010fa5d9f2 libmsquic.2.dylib`QuicPacketBuilderFinalize(Builder=0x000070000c392ac0, FlushBatchedDatagrams=<unavailable>) at packet_builder.c:984:13 [opt]
    frame #9: 0x000000010fa6229f libmsquic.2.dylib`QuicSendFlush(Send=0x00007fb075099478) at send.c:1405:9 [opt]
    frame #10: 0x000000010fa44ec8 libmsquic.2.dylib`QuicConnDrainOperations(Connection=0x00007fb075098800) at connection.c:7511:17 [opt]
    frame #11: 0x000000010fa6bf90 libmsquic.2.dylib`QuicWorkerProcessConnection(Worker=0x00007fb073812a10, Connection=0x00007fb075098800, ThreadID=<unavailable>, TimeNow=<unavailable>) at worker.c:510:9 [opt]
    frame #12: 0x000000010fa6b2cb libmsquic.2.dylib`QuicWorkerLoop(Context=0x00007fb073812a10, State=0x000070000c392f68) at worker.c:667:9 [opt]
    frame #13: 0x000000010fa7224b libmsquic.2.dylib`CxPlatWorkerThread at platform_worker.c:407:18 [opt]
    frame #14: 0x000000010fa721f5 libmsquic.2.dylib`CxPlatWorkerThread(Context=0x0000600003414880) at platform_worker.c:504:9 [opt]
    frame #15: 0x00007ff81988b4e1 libsystem_pthread.dylib`_pthread_start + 125
    frame #16: 0x00007ff819886f6b libsystem_pthread.dylib`thread_start + 15

I think it is a regression of refactoring the data path over the last couple months.

Affected OS

  • Windows
  • Linux
  • macOS
  • Other (specify below)

MsQuic version

main

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    Status

    Should be written

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions