fluent-bit icon indicating copy to clipboard operation
fluent-bit copied to clipboard

add "fatal error:" start_state to golang built-in multiline parser

Open BarRozner-Salt opened this issue 1 year ago • 7 comments


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-test label 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.

BarRozner-Salt avatar Aug 14 '24 19:08 BarRozner-Salt

conf file:

[INPUT]
    name             tail
    path             test.log
    read_from_head   true 
    multiline.parser go

[OUTPUT]
    name             stdout
    match            *

BarRozner-Salt avatar Aug 14 '24 19:08 BarRozner-Salt

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

BarRozner-Salt avatar Aug 14 '24 20:08 BarRozner-Salt

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 avatar Aug 22 '24 02:08 edsiper

@edsiper Added

BarRozner-Salt avatar Sep 01 '24 15:09 BarRozner-Salt

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.

github-actions[bot] avatar Dec 15 '24 02:12 github-actions[bot]

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

voronin-ilya avatar Aug 26 '25 07:08 voronin-ilya