add "fatal error:" start_state to golang built-in multiline parser
Enter [N/A] in the box, if an item is not applicable to your change.
Testing Before we can approve your change; please submit the following in a comment:
- [x] Example configuration file for the change
- [x] Debug log output from testing the change
- [N/A ] Attached Valgrind output that shows no leaks or memory corruption was found
If this is a change to packaging of containers or native binaries then please confirm it works for all targets.
- [x] Run local packaging test showing all targets (including any new ones) build.
- [ ] Set
ok-package-testlabel to test for all targets (requires maintainer to do).
Documentation
- [ N/A] Documentation required for this feature
Backporting
- [x] Backport to latest stable release.
Fluent Bit is licensed under Apache 2.0, by submitting this pull request I understand that this code will be released under the terms of that license.
conf file:
[INPUT]
name tail
path test.log
read_from_head true
multiline.parser go
[OUTPUT]
name stdout
match *
Debug log:
Fluent Bit v3.1.6
* Copyright (C) 2015-2024 The Fluent Bit Authors
* Fluent Bit is a CNCF sub-project under the umbrella of Fluentd
* https://fluentbit.io
______ _ _ ______ _ _ _____ __
| ___| | | | | ___ (_) | |____ |/ |
| |_ | |_ _ ___ _ __ | |_ | |_/ /_| |_ __ __ / /`| |
| _| | | | | |/ _ \ '_ \| __| | ___ \ | __| \ \ / / \ \ | |
| | | | |_| | __/ | | | |_ | |_/ / | |_ \ V /.___/ /_| |_
\_| |_|\__,_|\___|_| |_|\__| \____/|_|\__| \_/ \____(_)___/
[2024/08/14 23:12:24] [ info] Configuration:
[2024/08/14 23:12:24] [ info] flush time | 1.000000 seconds
[2024/08/14 23:12:24] [ info] grace | 5 seconds
[2024/08/14 23:12:24] [ info] daemon | 0
[2024/08/14 23:12:24] [ info] ___________
[2024/08/14 23:12:24] [ info] inputs:
[2024/08/14 23:12:24] [ info] tail
[2024/08/14 23:12:24] [ info] ___________
[2024/08/14 23:12:24] [ info] filters:
[2024/08/14 23:12:24] [ info] ___________
[2024/08/14 23:12:24] [ info] outputs:
[2024/08/14 23:12:24] [ info] stdout.0
[2024/08/14 23:12:24] [ info] ___________
[2024/08/14 23:12:24] [ info] collectors:
[2024/08/14 23:12:24] [ info] [fluent bit] version=3.1.6, commit=7c766e287e, pid=87853
[2024/08/14 23:12:24] [debug] [engine] coroutine stack size: 36864 bytes (36.0K)
[2024/08/14 23:12:24] [ info] [storage] ver=1.5.2, type=memory, sync=normal, checksum=off, max_chunks_up=128
[2024/08/14 23:12:24] [ info] [cmetrics] version=0.9.4
[2024/08/14 23:12:24] [ info] [ctraces ] version=0.5.5
[2024/08/14 23:12:24] [ info] [input:tail:tail.0] initializing
[2024/08/14 23:12:24] [ info] [input:tail:tail.0] storage_strategy='memory' (memory only)
[2024/08/14 23:12:24] [debug] [tail:tail.0] created event channels: read=21 write=22
[2024/08/14 23:12:24] [ info] [input:tail:tail.0] multiline core started
[2024/08/14 23:12:24] [debug] [input:tail:tail.0] flb_tail_fs_stat_init() initializing stat tail input
[2024/08/14 23:12:24] [debug] [input:tail:tail.0] scanning path test.log
[2024/08/14 23:12:24] [debug] [input:tail:tail.0] inode=21864457 with offset=0 appended as test.log
[2024/08/14 23:12:24] [debug] [input:tail:tail.0] scan_glob add(): test.log, inode 21864457
[2024/08/14 23:12:24] [debug] [input:tail:tail.0] 1 new files found on path 'test.log'
[2024/08/14 23:12:24] [debug] [stdout:stdout.0] created event channels: read=29 write=30
[2024/08/14 23:12:24] [ info] [sp] stream processor started
[2024/08/14 23:12:24] [ info] [output:stdout:stdout.0] worker #0 started
[2024/08/14 23:12:24] [debug] [input:tail:tail.0] [static files] processed 14.6K
[2024/08/14 23:12:24] [debug] [input:tail:tail.0] inode=21864457 file=test.log promote to TAIL_EVENT
[2024/08/14 23:12:24] [debug] [input:tail:tail.0] [static files] processed 0b, done
[2024/08/14 23:12:25] [debug] [task] created task=0x600000484000 id=0 OK
[2024/08/14 23:12:25] [debug] [output:stdout:stdout.0] task_id=0 assigned to thread #0
[0] tail.0: [[1723666344.654362000, {}], {"log"=>"single line....
"}]
[1] tail.0: [[1723666344.654377000, {}], {"log"=>"fatal error: concurrent map writes
goroutine 68405 [running]:
prevention-advanced-search/internal/pkg/prevention-service/handlers/attacker.(*attackerHandler).fetchEndpointInfoData.func1({0x1, {{{0xc001b0b6ea, 0x3}, 0x1}}, {{{0xc0021830c0, 0x1b}, 0x1}}, {{{0xc000ea9c50, 0x18}, 0x1}}})
/app/internal/pkg/prevention-service/handlers/attacker/most_attacked_endpoints_handler.go:55 +0x2ed
created by prevention-advanced-search/internal/pkg/prevention-service/handlers/attacker.(*attackerHandler).fetchEndpointInfoData in goroutine 68435
/app/internal/pkg/prevention-service/handlers/attacker/most_attacked_endpoints_handler.go:46 +0xd8
goroutine 1 [chan receive, 37 minutes]:
main.main()
/app/cmd/server/main.go:210 +0x2aa5
goroutine 20 [IO wait, 37 minutes]:
internal/poll.runtime_pollWait(0x7f6b8ee05eb0, 0x72)
/usr/local/go/src/runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0x3?, 0x10?, 0x0)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Accept(0xc000470200)
/usr/local/go/src/internal/poll/fd_unix.go:611 +0x2ac
net.(*netFD).accept(0xc000470200)
/usr/local/go/src/net/fd_unix.go:172 +0x29
net.(*TCPListener).accept(0xc0000de600)
/usr/local/go/src/net/tcpsock_posix.go:159 +0x1e
net.(*TCPListener).Accept(0xc0000de600)
/usr/local/go/src/net/tcpsock.go:327 +0x30
net/http.(*Server).Serve(0xc000664000, {0x1b65f80, 0xc0000de600})
/usr/local/go/src/net/http/server.go:3255 +0x33e
net/http.(*Server).ListenAndServe(0xc000664000)
/usr/local/go/src/net/http/server.go:3184 +0x71
net/http.ListenAndServe(...)
/usr/local/go/src/net/http/server.go:3438
main.init.0.func1()
/app/cmd/server/main.go:221 +0x36
created by main.init.0 in goroutine 1
/app/cmd/server/main.go:220 +0x3a
goroutine 16 [select]:
github.com/Unleash/unleash-client-go/v3.(*repository).sync(0xc000296c00)
/go/pkg/mod/github.com/!unleash/unleash-client-go/[email protected]/repository.go:75 +0x72
created by github.com/Unleash/unleash-client-go/v3.newRepository in goroutine 1
/go/pkg/mod/github.com/!unleash/unleash-client-go/[email protected]/repository.go:54 +0x30a
goroutine 68022 [select]:
github.com/go-sql-driver/mysql.(*mysqlConn).startWatcher.func1()
/go/pkg/mod/github.com/go-sql-driver/[email protected]/connection.go:614 +0x9b
created by github.com/go-sql-driver/mysql.(*mysqlConn).startWatcher in goroutine 67982
/go/pkg/mod/github.com/go-sql-driver/[email protected]/connection.go:611 +0xf9
goroutine 57881 [select, 4 minutes]:
github.com/go-sql-driver/mysql.(*mysqlConn).startWatcher.func1()
/go/pkg/mod/github.com/go-sql-driver/[email protected]/connection.go:614 +0x9b
created by github.com/go-sql-driver/mysql.(*mysqlConn).startWatcher in goroutine 59041
/go/pkg/mod/github.com/go-sql-driver/[email protected]/connection.go:611 +0xf9
goroutine 39 [select]:
github.com/Unleash/unleash-client-go/v3.(*Client).sync(0xc000296a80)
/go/pkg/mod/github.com/!unleash/unleash-client-go/[email protected]/client.go:207 +0x1a5
created by github.com/Unleash/unleash-client-go/v3.NewClient.func1 in goroutine 1
/go/pkg/mod/github.com/!unleash/unleash-client-go/[email protected]/client.go:129 +0x56
goroutine 38 [select]:
github.com/Unleash/unleash-client-go/v3.(*metrics).sync(...)
/go/pkg/mod/github.com/!unleash/unleash-client-go/[email protected]/metrics.go:112
created by github.com/Unleash/unleash-client-go/v3.newMetrics in goroutine 1
/go/pkg/mod/github.com/!unleash/unleash-client-go/[email protected]/metrics.go:94 +0x37a
goroutine 40 [select, 7 minutes]:
github.com/patrickmn/go-cache.(*janitor).Run(0xc0007cfd40, 0xc000020780)
/go/pkg/mod/github.com/patrickmn/[email protected]+incompatible/cache.go:1079 +0x7d
created by github.com/patrickmn/go-cache.runJanitor in goroutine 1
/go/pkg/mod/github.com/patrickmn/[email protected]+incompatible/cache.go:1099 +0xdb
goroutine 41 [select, 37 minutes]:
google.golang.org/grpc/internal/grpcsync.(*CallbackSerializer).run(0xc00079ca60, {0x1b67f10, 0xc0004d8c80})
/go/pkg/mod/google.golang.org/[email protected]/internal/grpcsync/callback_serializer.go:83 +0x112
created by google.golang.org/grpc/internal/grpcsync.NewCallbackSerializer in goroutine 1
/go/pkg/mod/google.golang.org/[email protected]/internal/grpcsync/callback_serializer.go:55 +0x11a
goroutine 42 [select, 37 minutes]:
google.golang.org/grpc/internal/grpcsync.(*CallbackSerializer).run(0xc00079cb40, {0x1b67f10, 0xc0004d8cd0})
/go/pkg/mod/google.golang.org/[email protected]/internal/grpcsync/callback_serializer.go:83 +0x112
created by google.golang.org/grpc/internal/grpcsync.NewCallbackSerializer in goroutine 1
/go/pkg/mod/google.golang.org/[email protected]/internal/grpcsync/callback_serializer.go:55 +0x11a
goroutine 43 [select, 37 minutes]:
google.golang.org/grpc/internal/grpcsync.(*CallbackSerializer).run(0xc00079cba0, {0x1b67f10, 0xc0004d8d20})
/go/pkg/mod/google.golang.org/[email protected]/internal/grpcsync/callback_serializer.go:83 +0x112
created by google.golang.org/grpc/internal/grpcsync.NewCallbackSerializer in goroutine 1
/go/pkg/mod/google.golang.org/[email protected]/internal/grpcsync/callback_serializer.go:55 +0x11a
goroutine 45 [select, 37 minutes]:
google.golang.org/grpc/internal/grpcsync.(*CallbackSerializer).run(0xc00079cde0, {0x1b67f10, 0xc0004d8f50})
/go/pkg/mod/google.golang.org/[email protected]/internal/grpcsync/callback_serializer.go:83 +0x112
created by google.golang.org/grpc/internal/grpcsync.NewCallbackSerializer in goroutine 1
/go/pkg/mod/google.golang.org/[email protected]/internal/grpcsync/callback_serializer.go:55 +0x11a
goroutine 46 [select, 37 minutes]:
google.golang.org/grpc/internal/grpcsync.(*CallbackSerializer).run(0xc00079cec0, {0x1b67f10, 0xc0004d8fa0})
/go/pkg/mod/google.golang.org/[email protected]/internal/grpcsync/callback_serializer.go:83 +0x112
created by google.golang.org/grpc/internal/grpcsync.NewCallbackSerializer in goroutine 1
/go/pkg/mod/google.golang.org/[email protected]/internal/grpcsync/callback_serializer.go:55 +0x11a
goroutine 47 [select, 37 minutes]:
google.golang.org/grpc/internal/grpcsync.(*CallbackSerializer).run(0xc00079cf20, {0x1b67f10, 0xc0004d8ff0})
/go/pkg/mod/google.golang.org/[email protected]/internal/grpcsync/callback_serializer.go:83 +0x112
created by google.golang.org/grpc/internal/grpcsync.NewCallbackSerializer in goroutine 1
/go/pkg/mod/google.golang.org/[email protected]/internal/grpcsync/callback_serializer.go:55 +0x11a
goroutine 98 [IO wait]:
internal/poll.runtime_pollWait(0x7f6b8ee055f8, 0x72)
/usr/local/go/src/runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0xc001e72f00?, 0xc001ded000?, 0x0)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc001e72f00, {0xc001ded000, 0x1000, 0x1000})
/usr/local/go/src/internal/poll/fd_unix.go:164 +0x27a
net.(*netFD).Read(0xc001e72f00, {0xc001ded000?, 0xc001e72f00?, 0xc0012016d0?})
/usr/local/go/src/net/fd_posix.go:55 +0x25
net.(*conn).Read(0xc000e10ac0, {0xc001ded000?, 0x1000b00000000?, 0x1?})
/usr/local/go/src/net/net.go:179 +0x45
bufio.(*Reader).fill(0xc00095e990)
/usr/local/go/src/bufio/bufio.go:110 +0x103
bufio.(*Reader).Peek(0xc00095e990, 0x8)
/usr/local/go/src/bufio/bufio.go:148 +0x53
github.com/segmentio/kafka-go.(*Conn).peekResponseSizeAndID(0xc00095ea50?)
/go/pkg/mod/github.com/segmentio/[email protected]/conn.go:1302 +0x25
github.com/segmentio/kafka-go.(*Conn).waitResponse(0xc00095e960, 0xc00095ea50, 0x1)
/go/pkg/mod/github.com/segmentio/[email protected]/conn.go:1392 +0x8d
github.com/segmentio/kafka-go.(*Conn).do(0xc00095e960, 0xc00095ea50, 0x50?, 0xc0012018e0)
/go/pkg/mod/github.com/segmentio/[email protected]/conn.go:1348 +0x45
github.com/segmentio/kafka-go.(*Conn).writeOperation(...)
/go/pkg/mod/github.com/segmentio/[email protected]/conn.go:1327
github.com/segmentio/kafka-go.(*Conn).joinGroup(0x1?, {{0xc000038870, 0x2a}, 0x7530, 0x7530, {0xc001e0aaa0, 0x97}, {0x18251d7, 0x8}, {0xc0004c1950, ...}})
/go/pkg/mod/github.com/segmentio/[email protected]/conn.go:374 +0xff
github.com/segmentio/kafka-go.(*timeoutCoordinator).joinGroup(0xc002449260, {{0xc000038870, 0x2a}, 0x7530, 0x7530, {0xc001e0aaa0, 0x97}, {0x18251d7, 0x8}, {0xc0004c1950, ...}})
/go/pkg/mod/github.com/segmentio/[email protected]/consumergroup.go:597 +0x118
github.com/segmentio/kafka-go.(*ConsumerGroup).joinGroup(0xc00092e000, {0x1b6f3c0, 0xc002449260}, {0xc001e0aaa0?, 0x97?})
/go/pkg/mod/github.com/segmentio/[email protected]/consumergroup.go:940 +0x11d
github.com/segmentio/kafka-go.(*ConsumerGroup).nextGeneration(0xc00092e000, {0xc001e0aaa0, 0x97})
/go/pkg/mod/github.com/segmentio/[email protected]/consumergroup.go:798 +0xef
github.com/segmentio/kafka-go.(*ConsumerGroup).run(0xc00092e000)
/go/pkg/mod/github.com/segmentio/[email protected]/consumergroup.go:723 +0x45
github.com/segmentio/kafka-go.NewConsumerGroup.func1()
/go/pkg/mod/github.com/segmentio/[email protected]/consumergroup.go:661 +0x1c
created by github.com/segmentio/kafka-go.NewConsumerGroup in goroutine 1
/go/pkg/mod/github.com/segmentio/[email protected]/consumergroup.go:660 +0x168
goroutine 115 [IO wait]:
internal/poll.runtime_pollWait(0x7f6b8ee059d8, 0x72)
/usr/local/go/src/runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0xc0009ae080?, 0xc0009ba000?, 0x0)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc0009ae080, {0xc0009ba000, 0x8000, 0x8000})
/usr/local/go/src/internal/poll/fd_unix.go:164 +0x27a
net.(*netFD).Read(0xc0009ae080, {0xc0009ba000?, 0xc0009aa140?, 0xc0023a4000?})
/usr/local/go/src/net/fd_posix.go:55 +0x25
net.(*conn).Read(0xc0009a4010, {0xc0009ba000?, 0x1b62c80?, 0xc001c81020?})
/usr/local/go/src/net/net.go:179 +0x45
bufio.(*Reader).Read(0xc0009b8000, {0xc0009ca040, 0x9, 0xb?})
/usr/local/go/src/bufio/bufio.go:241 +0x197
io.ReadAtLeast({0x1b455c0, 0xc0009b8000}, {0xc0009ca040, 0x9, 0x9}, 0x9)
/usr/local/go/src/io/io.go:335 +0x90
io.ReadFull(...)
/usr/local/go/src/io/io.go:354
golang.org/x/net/http2.readFrameHeader({0xc0009ca040, 0x9, 0xc001c80ff0?}, {0x1b455c0?, 0xc0009b8000?})
/go/pkg/mod/golang.org/x/[email protected]/http2/frame.go:237 +0x65
golang.org/x/net/http2.(*Framer).ReadFrame(0xc0009ca000)
/go/pkg/mod/golang.org/x/[email protected]/http2/frame.go:501 +0x85
google.golang.org/grpc/internal/transport.(*http2Client).reader(0xc0009ce008, 0xc0009b8060)
/go/pkg/mod/google.golang.org/[email protected]/internal/transport/http2_client.go:1585 +0x22d
created by google.golang.org/grpc/internal/transport.newHTTP2Client in goroutine 48
/go/pkg/mod/google.golang.org/[email protected]/internal/transport/http2_client.go:397 +0x1d33
goroutine 79 [IO wait]:
internal/poll.runtime_pollWait(0x7f6b8ee056f0, 0x72)
/usr/local/go/src/runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0xc00090c180?, 0xc000a08000?, 0x0)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc00090c180, {0xc000a08000, 0x8000, 0x8000})
/usr/local/go/src/internal/poll/fd_unix.go:164 +0x27a
net.(*netFD).Read(0xc00090c180, {0xc000a08000?, 0x1060100000000?, 0x8?})
/usr/local/go/src/net/fd_posix.go:55 +0x25
net.(*conn).Read(0xc0000180b8, {0xc000a08000?, 0x800010601?, 0xc000000000?})
/usr/local/go/src/net/net.go:179 +0x45
bufio.(*Reader).Read(0xc0000e1620, {0xc00002e040, 0x9, 0xc000100008?})
/usr/local/go/src/bufio/bufio.go:241 +0x197
io.ReadAtLeast({0x1b455c0, 0xc0000e1620}, {0xc00002e040, 0x9, 0x9}, 0x9)
/usr/local/go/src/io/io.go:335 +0x90
io.ReadFull(...)
/usr/local/go/src/io/io.go:354
golang.org/x/net/http2.readFrameHeader({0xc00002e040, 0x9, 0xc0006ef0f8?}, {0x1b455c0?, 0xc0000e1620?})
/go/pkg/mod/golang.org/x/[email protected]/http2/frame.go:237 +0x65
golang.org/x/net/http2.(*Framer).ReadFrame(0xc00002e000)
/go/pkg/mod/golang.org/x/[email protected]/http2/frame.go:501 +0x85
google.golang.org/grpc/internal/transport.(*http2Client).reader(0xc00057e008, 0xc0000e1a40)
/go/pkg/mod/google.golang.org/[email protected]/internal/transport/http2_client.go:1585 +0x22d
created by google.golang.org/grpc/internal/transport.newHTTP2Client in goroutine 44
/go/pkg/mod/google.golang.org/[email protected]/internal/transport/http2_client.go:397 +0x1d33
goroutine 81 [select, 37 minutes]:
google.golang.org/grpc/internal/grpcsync.(*CallbackSerializer).run(0xc00079d160, {0x1b67f10, 0xc0004d91d0})
/go/pkg/mod/google.golang.org/[email protected]/internal/grpcsync/callback_serializer.go:83 +0x112
created by google.golang.org/grpc/internal/grpcsync.NewCallbackSerializer in goroutine 1
/go/pkg/mod/google.golang.org/[email protected]/internal/grpcsync/callback_serializer.go:55 +0x11a
goroutine 143 [select]:
google.golang.org/grpc/internal/transport.(*controlBuffer).get(0xc0000ebef0, 0x1)
/go/pkg/mod/google.golang.org/[email protected]/internal/transport/controlbuf.go:418 +0x113
google.golang.org/grpc/internal/transport.(*loopyWriter).run(0xc0001a9570)
/go/pkg/mod/google.golang.org/[email protected]/internal/transport/controlbuf.go:552 +0x86
google.golang.org/grpc/internal/transport.NewServerTransport.func2()
/go/pkg/mod/google.golang.org/[email protected]/internal/transport/http2_server.go:336 +0xd5
created by google.golang.org/grpc/internal/transport.NewServerTransport in goroutine 142
/go/pkg/mod/google.golang.org/[email protected]/internal/transport/http2_server.go:333 +0x1a8c
goroutine 2239 [sync.Cond.Wait, 1 minutes]:
sync.runtime_notifyListWait(0xc001333810, 0xc)
/usr/local/go/src/runtime/sema.go:569 +0x159
sync.(*Cond).Wait(0x0?)
/usr/local/go/src/sync/cond.go:70 +0x85
github.com/segmentio/kafka-go.(*batchQueue).Get(0xc000e0f938)
/go/pkg/mod/github.com/segmentio/[email protected]/writer.go:953 +0x93
github.com/segmentio/kafka-go.(*partitionWriter).writeBatches(0xc000e0f920)
/go/pkg/mod/github.com/segmentio/[email protected]/writer.go:1013 +0x38
github.com/segmentio/kafka-go.(*Writer).spawn.func1()
/go/pkg/mod/github.com/segmentio/[email protected]/writer.go:547 +0x59
created by github.com/segmentio/kafka-go.(*Writer).spawn in goroutine 2159
/go/pkg/mod/github.com/segmentio/[email protected]/writer.go:545 +0x7c
goroutine 80 [select]:
google.golang.org/grpc/internal/transport.(*controlBuffer).get(0xc0004b5d60, 0x1)
/go/pkg/mod/google.golang.org/[email protected]/internal/transport/controlbuf.go:418 +0x113
google.golang.org/grpc/internal/transport.(*loopyWriter).run(0xc00045e930)
/go/pkg/mod/google.golang.org/[email protected]/internal/transport/controlbuf.go:552 +0x86
google.golang.org/grpc/internal/transport.newHTTP2Client.func6()
/go/pkg/mod/google.golang.org/[email protected]/internal/transport/http2_client.go:451 +0x85
created by google.golang.org/grpc/internal/transport.newHTTP2Client in goroutine 44
/go/pkg/mod/google.golang.org/[email protected]/internal/transport/http2_client.go:449 +0x22d3
"}]
[2] tail.0: [[1723666344.654377000, {}], {"log"=>"another line...
"}]
[2024/08/14 23:12:25] [debug] [out flush] cb_destroy coro_id=0
[2024/08/14 23:12:25] [debug] [task] destroy task=0x600000484000 (task_id=0)
[2024/08/14 23:12:30] [engine] caught signal (SIGINT)
[2024/08/14 23:12:30] [ info] [input] pausing tail.0
[2024/08/14 23:12:30] [ info] [output:stdout:stdout.0] thread worker #0 stopping...
[2024/08/14 23:12:30] [ info] [output:stdout:stdout.0] thread worker #0 stopped
[2024/08/14 23:12:30] [debug] [input:tail:tail.0] inode=21864457 removing file name test.log
thanks for your contribution.
In order to review it, please include a unit test for this change:
ref: https://github.com/fluent/fluent-bit/blob/master/tests/internal/multiline.c#L1468
@edsiper Added
This PR is stale because it has been open 45 days with no activity. Remove stale label or comment or this will be closed in 10 days.
The go_goroutine regexp should be updated as well, since recent Go versions include additional data in fatal error stack traces:
https://github.com/golang/go/commit/3a9254636c35b8d99826b203e73f335fbcd07fa9
ret = rule(mlp,
"go_goroutine",
- "/^goroutine \\d+ \\[[^\\]]+\\]:$/",
+ "/^goroutine \\d+ (\\w+=\\w+ )*\\[[^\\]]+\\]:$/",
"go_frame_1", NULL);
if (ret != 0) {
rule_error(mlp);
Example:
fatal error: fatal error: out of memory
goroutine 1 gp=0x140000021c0 m=0 mp=0x10051c0a0 [running]:
runtime.throw({0x1004581bb?, 0x0?})
/opt/homebrew/Cellar/go/1.22.4/libexec/src/runtime/panic.go:1023 +0x40 fp=0x140000c5e80 sp=0x140000c5e50 pc=0x1003f0320