The tests have exposed an intermittent crash.
fatal error: concurrent map iteration and map write
goroutine 6 [running]:
runtime.throw(0x62b4bb, 0x26)
/snap/go/7013/src/runtime/panic.go:1116 +0x72 fp=0xc00004bce0 sp=0xc00004bcb0 pc=0x43a132
runtime.mapiternext(0xc00004bdd0)
/snap/go/7013/src/runtime/map.go:853 +0x554 fp=0xc00004bd60 sp=0xc00004bce0 pc=0x4142d4
github.com/colinnewell/pcap2mysql-log/internal/reader.(*MySQLConversationReaders).GetConversations(0xc00004e890, 0x10, 0x0, 0x4)
/home/colin/git/pcap2mysql-log/internal/reader/reader.go:40 +0xd6 fp=0xc00004be40 sp=0xc00004bd60 pc=0x59ba36
github.com/colinnewell/pcap2mysql-log/internal/streamfactory_test.TestHTTPStreamRead(0xc000001b00)
/home/colin/git/pcap2mysql-log/internal/streamfactory/factory_test.go:36 +0x445 fp=0xc00004bf80 sp=0xc00004be40 pc=0x59ffc5
testing.tRunner(0xc000001b00, 0x62fbf8)
/snap/go/7013/src/testing/testing.go:1123 +0xef fp=0xc00004bfd0 sp=0xc00004bf80 pc=0x4d576f
runtime.goexit()
/snap/go/7013/src/runtime/asm_amd64.s:1374 +0x1 fp=0xc00004bfd8 sp=0xc00004bfd0 pc=0x46eea1
created by testing.(*T).Run
/snap/go/7013/src/testing/testing.go:1168 +0x2b3
goroutine 1 [chan receive]:
testing.(*T).Run(0xc000001b00, 0x622aac, 0x12, 0x62fbf8, 0x4837c6)
/snap/go/7013/src/testing/testing.go:1169 +0x2da
testing.runTests.func1(0xc000001980)
/snap/go/7013/src/testing/testing.go:1439 +0x78
testing.tRunner(0xc000001980, 0xc00014dde0)
/snap/go/7013/src/testing/testing.go:1123 +0xef
testing.runTests(0xc00000e240, 0x78de10, 0x1, 0x1, 0xc002332b0b4bc8c6, 0x8bb30a4974, 0x7a9be0, 0x410f10)
/snap/go/7013/src/testing/testing.go:1437 +0x2fe
testing.(*M).Run(0xc000150000, 0x0)
/snap/go/7013/src/testing/testing.go:1345 +0x1eb
main.main()
_testmain.go:45 +0x138
goroutine 22 [runnable]:
github.com/colinnewell/pcap2mysql-log/internal/gopacket.(*TCPReaderStream).Read(0xc00008e180, 0xc00009e000, 0x800, 0x800, 0x20, 0xc000446000, 0x0)
/home/colin/git/pcap2mysql-log/internal/gopacket/tcpreader.go:112 +0x91
github.com/colinnewell/pcap2mysql-log/internal/reader.(*TimeCaptureReader).Read(0xc00008e1b0, 0xc00009e000, 0x800, 0x800, 0xc00000f801, 0x0, 0xc0000b9b40)
/home/colin/git/pcap2mysql-log/internal/reader/timecapture.go:15 +0x62
io.(*teeReader).Read(0xc000094120, 0xc00009e000, 0x800, 0x800, 0xc00004e930, 0x5c82a0, 0xc00004e760)
/snap/go/7013/src/io/io.go:542 +0x55
github.com/colinnewell/pcap2mysql-log/internal/reader.(*SavePointReader).Read(0xc0000960f0, 0xc00009e000, 0x800, 0x800, 0x0, 0x65c0c0, 0xc00000f8e0)
/home/colin/git/pcap2mysql-log/internal/reader/savepointreader.go:32 +0x52
github.com/colinnewell/pcap2mysql-log/internal/mysql/packet.Copy(0x65bd60, 0xc0000960f0, 0x65bd00, 0xd03738, 0x41b065, 0x7fb458, 0x203000)
/home/colin/git/pcap2mysql-log/internal/mysql/packet/copy.go:37 +0x110
github.com/colinnewell/pcap2mysql-log/internal/reader.(*MySQLConversationReaders).ReadMySQLRequest(0xc00004e890, 0xc0000960f0, 0xc00008e1b0, 0x1, 0x4, 0x4, 0x320a8c0, 0x0, 0x220a8c0, 0x0, ...)
/home/colin/git/pcap2mysql-log/internal/reader/reader.go:108 +0x65
github.com/colinnewell/pcap2mysql-log/internal/reader.(*MySQLConversationReaders).ReadStream(0xc00004e890, 0x65cfc0, 0xc00008e180, 0x1, 0x4, 0x4, 0x320a8c0, 0x0, 0x220a8c0, 0x0, ...)
/home/colin/git/pcap2mysql-log/internal/reader/reader.go:70 +0x2fc
github.com/colinnewell/pcap2mysql-log/internal/streamfactory.(*MySQLStreamFactory).New.func1(0xc00000e260, 0xc00008e180, 0x1, 0x4, 0x4, 0x320a8c0, 0x0, 0x220a8c0, 0x0, 0x4, ...)
/home/colin/git/pcap2mysql-log/internal/streamfactory/factory.go:26 +0xc9
created by github.com/colinnewell/pcap2mysql-log/internal/streamfactory.(*MySQLStreamFactory).New
/home/colin/git/pcap2mysql-log/internal/streamfactory/factory.go:25 +0x22e
goroutine 23 [runnable]:
github.com/colinnewell/pcap2mysql-log/internal/gopacket.(*TCPReaderStream).Read(0xc00008e1e0, 0xc00009e800, 0x800, 0x800, 0x20, 0xc000446000, 0x0)
/home/colin/git/pcap2mysql-log/internal/gopacket/tcpreader.go:112 +0x91
github.com/colinnewell/pcap2mysql-log/internal/reader.(*TimeCaptureReader).Read(0xc00008e210, 0xc00009e800, 0x800, 0x800, 0xc00000f901, 0x0, 0xc0000b7b40)
/home/colin/git/pcap2mysql-log/internal/reader/timecapture.go:15 +0x62
io.(*teeReader).Read(0xc000094140, 0xc00009e800, 0x800, 0x800, 0xc00004e940, 0x5c82a0, 0xc00004e760)
/snap/go/7013/src/io/io.go:542 +0x55
github.com/colinnewell/pcap2mysql-log/internal/reader.(*SavePointReader).Read(0xc000096140, 0xc00009e800, 0x800, 0x800, 0x0, 0x65c0c0, 0xc00000f940)
/home/colin/git/pcap2mysql-log/internal/reader/savepointreader.go:32 +0x52
github.com/colinnewell/pcap2mysql-log/internal/mysql/packet.Copy(0x65bd60, 0xc000096140, 0x65bd00, 0xd03738, 0x41b065, 0x7fb458, 0x203000)
/home/colin/git/pcap2mysql-log/internal/mysql/packet/copy.go:37 +0x110
github.com/colinnewell/pcap2mysql-log/internal/reader.(*MySQLConversationReaders).ReadMySQLRequest(0xc00004e890, 0xc000096140, 0xc00008e210, 0x1, 0x4, 0x4, 0x220a8c0, 0x0, 0x320a8c0, 0x0, ...)
/home/colin/git/pcap2mysql-log/internal/reader/reader.go:108 +0x65
github.com/colinnewell/pcap2mysql-log/internal/reader.(*MySQLConversationReaders).ReadStream(0xc00004e890, 0x65cfc0, 0xc00008e1e0, 0x1, 0x4, 0x4, 0x220a8c0, 0x0, 0x320a8c0, 0x0, ...)
/home/colin/git/pcap2mysql-log/internal/reader/reader.go:70 +0x2fc
github.com/colinnewell/pcap2mysql-log/internal/streamfactory.(*MySQLStreamFactory).New.func1(0xc00000e260, 0xc00008e1e0, 0x1, 0x4, 0x4, 0x220a8c0, 0x0, 0x320a8c0, 0x0, 0x4, ...)
/home/colin/git/pcap2mysql-log/internal/streamfactory/factory.go:26 +0xc9
created by github.com/colinnewell/pcap2mysql-log/internal/streamfactory.(*MySQLStreamFactory).New
/home/colin/git/pcap2mysql-log/internal/streamfactory/factory.go:25 +0x22e
goroutine 29 [runnable]:
github.com/colinnewell/pcap2mysql-log/internal/reader.(*MySQLConversationReaders).addRequest(0xc00004e890, 0x1, 0x4, 0x4, 0x220a8c0, 0x0, 0x320a8c0, 0x0, 0x4, 0x2, ...)
/home/colin/git/pcap2mysql-log/internal/reader/reader.go:130 +0x485
github.com/colinnewell/pcap2mysql-log/internal/reader.(*MySQLConversationReaders).ReadMySQLRequest(0xc00004e890, 0xc000096320, 0xc00008e5d0, 0x1, 0x4, 0x4, 0x220a8c0, 0x0, 0x320a8c0, 0x0, ...)
/home/colin/git/pcap2mysql-log/internal/reader/reader.go:111 +0x145
github.com/colinnewell/pcap2mysql-log/internal/reader.(*MySQLConversationReaders).ReadStream(0xc00004e890, 0x65cfc0, 0xc00008e5a0, 0x1, 0x4, 0x4, 0x220a8c0, 0x0, 0x320a8c0, 0x0, ...)
/home/colin/git/pcap2mysql-log/internal/reader/reader.go:70 +0x2fc
github.com/colinnewell/pcap2mysql-log/internal/streamfactory.(*MySQLStreamFactory).New.func1(0xc00000e260, 0xc00008e5a0, 0x1, 0x4, 0x4, 0x220a8c0, 0x0, 0x320a8c0, 0x0, 0x4, ...)
/home/colin/git/pcap2mysql-log/internal/streamfactory/factory.go:26 +0xc9
created by github.com/colinnewell/pcap2mysql-log/internal/streamfactory.(*MySQLStreamFactory).New
/home/colin/git/pcap2mysql-log/internal/streamfactory/factory.go:25 +0x22e
goroutine 54 [semacquire]:
sync.runtime_SemacquireMutex(0xc00004e894, 0xc000062000, 0x1)
/snap/go/7013/src/runtime/sema.go:71 +0x47
sync.(*Mutex).lockSlow(0xc00004e890)
/snap/go/7013/src/sync/mutex.go:138 +0x105
sync.(*Mutex).Lock(...)
/snap/go/7013/src/sync/mutex.go:81
github.com/colinnewell/pcap2mysql-log/internal/reader.(*MySQLConversationReaders).addRequest(0xc00004e890, 0x1, 0x4, 0x4, 0x320a8c0, 0x0, 0x220a8c0, 0x0, 0x4, 0x2, ...)
/home/colin/git/pcap2mysql-log/internal/reader/reader.go:118 +0x55d
github.com/colinnewell/pcap2mysql-log/internal/reader.(*MySQLConversationReaders).ReadMySQLRequest(0xc00004e890, 0xc000456230, 0xc000454480, 0x1, 0x4, 0x4, 0x320a8c0, 0x0, 0x220a8c0, 0x0, ...)
/home/colin/git/pcap2mysql-log/internal/reader/reader.go:111 +0x145
github.com/colinnewell/pcap2mysql-log/internal/reader.(*MySQLConversationReaders).ReadStream(0xc00004e890, 0x65cfc0, 0xc0004542d0, 0x1, 0x4, 0x4, 0x320a8c0, 0x0, 0x220a8c0, 0x0, ...)
/home/colin/git/pcap2mysql-log/internal/reader/reader.go:70 +0x2fc
github.com/colinnewell/pcap2mysql-log/internal/streamfactory.(*MySQLStreamFactory).New.func1(0xc00000e260, 0xc0004542d0, 0x1, 0x4, 0x4, 0x320a8c0, 0x0, 0x220a8c0, 0x0, 0x4, ...)
/home/colin/git/pcap2mysql-log/internal/streamfactory/factory.go:26 +0xc9
created by github.com/colinnewell/pcap2mysql-log/internal/streamfactory.(*MySQLStreamFactory).New
/home/colin/git/pcap2mysql-log/internal/streamfactory/factory.go:25 +0x22e
goroutine 55 [semacquire]:
sync.runtime_SemacquireMutex(0xc00004e894, 0x7f8d02328f00, 0x1)
/snap/go/7013/src/runtime/sema.go:71 +0x47
sync.(*Mutex).lockSlow(0xc00004e890)
/snap/go/7013/src/sync/mutex.go:138 +0x105
sync.(*Mutex).Lock(...)
/snap/go/7013/src/sync/mutex.go:81
github.com/colinnewell/pcap2mysql-log/internal/reader.(*MySQLConversationReaders).addRequest(0xc00004e890, 0x1, 0x4, 0x4, 0x220a8c0, 0x0, 0x320a8c0, 0x0, 0x4, 0x2, ...)
/home/colin/git/pcap2mysql-log/internal/reader/reader.go:118 +0x55d
github.com/colinnewell/pcap2mysql-log/internal/reader.(*MySQLConversationReaders).ReadMySQLRequest(0xc00004e890, 0xc000506000, 0xc000504000, 0x1, 0x4, 0x4, 0x220a8c0, 0x0, 0x320a8c0, 0x0, ...)
/home/colin/git/pcap2mysql-log/internal/reader/reader.go:111 +0x145
github.com/colinnewell/pcap2mysql-log/internal/reader.(*MySQLConversationReaders).ReadStream(0xc00004e890, 0x65cfc0, 0xc000454300, 0x1, 0x4, 0x4, 0x220a8c0, 0x0, 0x320a8c0, 0x0, ...)
/home/colin/git/pcap2mysql-log/internal/reader/reader.go:70 +0x2fc
github.com/colinnewell/pcap2mysql-log/internal/streamfactory.(*MySQLStreamFactory).New.func1(0xc00000e260, 0xc000454300, 0x1, 0x4, 0x4, 0x220a8c0, 0x0, 0x320a8c0, 0x0, 0x4, ...)
/home/colin/git/pcap2mysql-log/internal/streamfactory/factory.go:26 +0xc9
created by github.com/colinnewell/pcap2mysql-log/internal/streamfactory.(*MySQLStreamFactory).New
/home/colin/git/pcap2mysql-log/internal/streamfactory/factory.go:25 +0x22e
goroutine 38 [runnable]:
github.com/colinnewell/pcap2mysql-log/internal/gopacket.(*TCPReaderStream).Read(0xc000012d50, 0xc0000d0800, 0x800, 0x800, 0x20, 0xc000446000, 0x0)
/home/colin/git/pcap2mysql-log/internal/gopacket/tcpreader.go:112 +0x91
github.com/colinnewell/pcap2mysql-log/internal/reader.(*TimeCaptureReader).Read(0xc000012d80, 0xc0000d0800, 0x800, 0x800, 0xc00000ed01, 0x0, 0xc0000d7b40)
/home/colin/git/pcap2mysql-log/internal/reader/timecapture.go:15 +0x62
io.(*teeReader).Read(0xc00000e5e0, 0xc0000d0800, 0x800, 0x800, 0xc00004e8c0, 0x5c82a0, 0xc00004e760)
/snap/go/7013/src/io/io.go:542 +0x55
github.com/colinnewell/pcap2mysql-log/internal/reader.(*SavePointReader).Read(0xc00006c280, 0xc0000d0800, 0x800, 0x800, 0x0, 0x65c0c0, 0xc00000ed80)
/home/colin/git/pcap2mysql-log/internal/reader/savepointreader.go:32 +0x52
github.com/colinnewell/pcap2mysql-log/internal/mysql/packet.Copy(0x65bd60, 0xc00006c280, 0x65bd00, 0xd03738, 0x66, 0x7fb458, 0x203000)
/home/colin/git/pcap2mysql-log/internal/mysql/packet/copy.go:37 +0x110
github.com/colinnewell/pcap2mysql-log/internal/reader.(*MySQLConversationReaders).ReadMySQLRequest(0xc00004e890, 0xc00006c280, 0xc000012d80, 0x1, 0x4, 0x4, 0x220a8c0, 0x0, 0x320a8c0, 0x0, ...)
/home/colin/git/pcap2mysql-log/internal/reader/reader.go:108 +0x65
github.com/colinnewell/pcap2mysql-log/internal/reader.(*MySQLConversationReaders).ReadStream(0xc00004e890, 0x65cfc0, 0xc000012d50, 0x1, 0x4, 0x4, 0x220a8c0, 0x0, 0x320a8c0, 0x0, ...)
/home/colin/git/pcap2mysql-log/internal/reader/reader.go:70 +0x2fc
github.com/colinnewell/pcap2mysql-log/internal/streamfactory.(*MySQLStreamFactory).New.func1(0xc00000e260, 0xc000012d50, 0x1, 0x4, 0x4, 0x220a8c0, 0x0, 0x320a8c0, 0x0, 0x4, ...)
/home/colin/git/pcap2mysql-log/internal/streamfactory/factory.go:26 +0xc9
created by github.com/colinnewell/pcap2mysql-log/internal/streamfactory.(*MySQLStreamFactory).New
/home/colin/git/pcap2mysql-log/internal/streamfactory/factory.go:25 +0x22e
FAIL github.com/colinnewell/pcap2mysql-log/internal/streamfactory 0.020s
FAIL