Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

could not reduce file size #1605

Closed
sandip094 opened this issue Jan 6, 2025 · 22 comments
Closed

could not reduce file size #1605

sandip094 opened this issue Jan 6, 2025 · 22 comments
Assignees
Milestone

Comments

@sandip094
Copy link

Which version of blobfuse was used?

blobfuse2 version: 2.4.0

Which OS distribution and version are you using?

CentOS Linux release 7.9.2009 (Core)

What was the issue encountered?
Getting the below error while running the RMAN backup.
released channel: C1 RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of backup plus archivelog command at 01/06/2025 11:53:13 ORA-19510: failed to set size of 1758986 blocks for file "/rman-backup/step/0/2025-01-03_1146/STEP_148867_1_c33ei92k_20250106.incr0" (block size=8192) ORA-27059: could not reduce file size Linux-x86_64 Error: 103: Software caused connection abort Additional information: 2

Configuration file is as below -/etc/blobfuse/blobfuseconfig.yaml
`# Refer ./setup/baseConfig.yaml for full set of config parameters
#allow-other: false

logging:
type: base
level: log_info
max-file-size-mb: 32
file-count: 10
track-time: true
max-concurrency: 8
components:

  • libfuse
  • file_cache
  • azstorage

libfuse:
default-permission: 0644
attribute-expiration-sec: 120
entry-expiration-sec: 120
negative-entry-expiration-sec: 240
ignore-open-flags: true

file_cache:
path: /mnt/blobfusetmp
timeout-sec: 20
max-size-mb: 75776
allow-non-empty-temp: true
cleanup-on-start: true

azstorage:
type: block
account-name: x
account-key: x
mode: key
container: x
blobfuse2.log
`

So far tried these options:

  • Changed the RMAN backup location from blobfuse container to disk and its completed successfully
  • Changed the temp storage ~74GB and still it fails. Database is not big so not sure the reason for the failure
  • Attached the logs for further reference
@vibhansa-msft
Copy link
Member

I do not see any failure logs in the shared log file. Neither could I find any reference to ""/rman-backup/step/0/2025-01-03_1146/STEP_148867_1_c33ei92k_20250106.incr0" file in the logs. Are you sure correct logs are shared. As per logs the last mount was just trying to create blobfuse2.log file on the container, which makes me curious about the log file location. Are you trying to save blobfuse logs in the mounted container itself ?

@sandip094
Copy link
Author

@vibhansa-msft , @ashruti-msft : Attached the fresh logs now.

Starting backup at 07-JAN-2025 11:27:58
channel C1: starting incremental level 0 datafile backup set
channel C1: specifying datafile(s) in backup set
input datafile file number=00015 name=/database/db1/oradata/step/stepsysdata_step_3.dbf
channel C1: starting piece 1 at 07-JAN-2025 11:27:59
released channel: C1
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of backup plus archivelog command at 01/07/2025 11:29:34
ORA-19510: failed to set size of 1758986 blocks for file "/rman-backup/step/0/2025-01-03_1146/STEP_148978_1_fi3eks1v_20250107.incr0" (block size=8192)
ORA-27059: could not reduce file size
Linux-x86_64 Error: 103: Software caused connection abort
Additional information: 2

blobfuse2-07-01.log

@ashruti-msft
Copy link
Collaborator

Hi @sandip094 your logs end at timestamp 11:29:25 and after a break logs indicate blobfuse was mounted again. Can you explain what might be the reason for this? Since the error occurred at 11:29:34 and there are no logs around that time I cannot debug further.

@sandip094
Copy link
Author

Hello @ashruti-msft ,

As soon as the error occurs /rman-backup gets disconnected and had to remout manually which i did.
I have tried to recereate the issue again and was able to. Attached the complete logs for the reference.
blobfuselogs-08.zip

Starting backup at 08-JAN-2025 12:38:24
channel C1: starting incremental level 0 datafile backup set
channel C1: specifying datafile(s) in backup set
input datafile file number=00015 name=/database/db1/oradata/step/stepsysdata_step_3.dbf
channel C1: starting piece 1 at 08-JAN-2025 12:38:25
released channel: C1
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of backup plus archivelog command at 01/08/2025 12:40:00
ORA-19510: failed to set size of 1758986 blocks for file "/rman-backup/step/0/2025-01-03_1146/STEP_149101_1_jd3enki1_20250108.incr0" (block size=8192)
ORA-27059: could not reduce file size
Linux-x86_64 Error: 103: Software caused connection abort
Additional information: 2

@ashruti-msft
Copy link
Collaborator

Hi @sandip094 after analyzing the logs I could not find any indication of an issue from Blobfuse during the transfer. It looks like there is a connection abort due to which the backup fails. Could you please confirm if there are no network issues or any other reason causing this error?

@sandip094
Copy link
Author

@ashruti-msft : I can confirm that there has been no network issue. However, what’s puzzling is why the /rman-backup mount gets disconnected every time the error occurs. Is there a way to ensure that this mount remains connected and doesn’t get disconnected?

@vibhansa-msft
Copy link
Member

Do you mean to say in case of error the mount is not longer valid ?
If so, I suspect blobfuse might be crashing. To root-cause that we want you to mount blobfuse with "--foreground" cli option. This will block the shell where you mount and blobfuse will run as a user application. From another shell you can try doing a backup and in case of crash the mount shell will dump the backtrace on the console. You can share that output and we can take it up from there.

@sandip094
Copy link
Author

@vibhansa-msft : Yes thats right. Attached the dump logs as requested

`/usr/local/go/src/bufio/bufio.go:148 +0x53 fp=0xc000c67d80 sp=0xc000c67d60 pc=0x8d59f3
net/http.(*persistConn).readLoop(0xc00015fc20)
/usr/local/go/src/net/http/transport.go:2205 +0x185 fp=0xc000c67fc8 sp=0xc000c67d80 pc=0xb81305
net/http.(*Transport).dialConn.gowrap2()
/usr/local/go/src/net/http/transport.go:1874 +0x25 fp=0xc000c67fe0 sp=0xc000c67fc8 pc=0xb7fc65
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc000c67fe8 sp=0xc000c67fe0 pc=0x7ab361
created by net/http.(*Transport).dialConn in goroutine 2986
/usr/local/go/src/net/http/transport.go:1874 +0x154f

goroutine 224 gp=0xc0005df6c0 m=nil [IO wait, 1 minutes]:
runtime.gopark(0x5feab454ac6da3a?, 0x1108524c338d8943?, 0x3a?, 0xda?, 0xb?)
/usr/local/go/src/runtime/proc.go:424 +0xce fp=0xc000861730 sp=0xc000861710 pc=0x7a2f8e
runtime.netpollblock(0x80b798?, 0x730d66?, 0x0?)
/usr/local/go/src/runtime/netpoll.go:575 +0xf7 fp=0xc000861768 sp=0xc000861730 pc=0x762f77
internal/poll.runtime_pollWait(0x7f8fc5f19ed0, 0x72)
/usr/local/go/src/runtime/netpoll.go:351 +0x85 fp=0xc000861788 sp=0xc000861768 pc=0x7a1945
internal/poll.(*pollDesc).wait(0xc0005f2480?, 0xc000aba000?, 0x0)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x27 fp=0xc0008617b0 sp=0xc000861788 pc=0x82ca87
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc0005f2480, {0xc000aba000, 0xa000, 0xa000})
/usr/local/go/src/internal/poll/fd_unix.go:165 +0x27a fp=0xc000861848 sp=0xc0008617b0 pc=0x82deba
net.(*netFD).Read(0xc0005f2480, {0xc000aba000?, 0x73adde?, 0xc0008619d0?})
/usr/local/go/src/net/fd_posix.go:55 +0x25 fp=0xc000861890 sp=0xc000861848 pc=0x8a7c05
net.(*conn).Read(0xc00056c510, {0xc000aba000?, 0xc000211440?, 0x8d6433?})
/usr/local/go/src/net/net.go:189 +0x45 fp=0xc0008618d8 sp=0xc000861890 pc=0x8b9905
net.(*TCPConn).Read(0xd8f?, {0xc000aba000?, 0x18?, 0xc000861998?})
:1 +0x25 fp=0xc000861908 sp=0xc0008618d8 pc=0x8cf365
crypto/tls.(*atLeastReader).Read(0xc001166768, {0xc000aba000?, 0x0?, 0xc001166768?})
/usr/local/go/src/crypto/tls/conn.go:809 +0x3b fp=0xc000861950 sp=0xc000861908 pc=0xa9a95b
bytes.(*Buffer).ReadFrom(0xc0007a9438, {0x11eb860, 0xc001166768})
/usr/local/go/src/bytes/buffer.go:211 +0x98 fp=0xc0008619a8 sp=0xc000861950 pc=0x860898
crypto/tls.(*Conn).readFromUntil(0xc0007a9188, {0x11eb580, 0xc00056c510}, 0xc000861a40?)
/usr/local/go/src/crypto/tls/conn.go:831 +0xde fp=0xc0008619e0 sp=0xc0008619a8 pc=0xa9ab3e
crypto/tls.(*Conn).readRecordOrCCS(0xc0007a9188, 0x0)
/usr/local/go/src/crypto/tls/conn.go:629 +0x3cf fp=0xc000861c58 sp=0xc0008619e0 pc=0xa97c4f
crypto/tls.(*Conn).readRecord(...)
/usr/local/go/src/crypto/tls/conn.go:591
crypto/tls.(*Conn).Read(0xc0007a9188, {0xc000ce4000, 0x1000, 0x0?})
/usr/local/go/src/crypto/tls/conn.go:1385 +0x150 fp=0xc000861cc8 sp=0xc000861c58 pc=0xa9e4b0
net/http.(*persistConn).Read(0xc00059afc0, {0xc000ce4000?, 0xb791c5?, 0xf81240?})
/usr/local/go/src/net/http/transport.go:2052 +0x4a fp=0xc000861d28 sp=0xc000861cc8 pc=0xb807ca
bufio.(*Reader).fill(0xc000cc6f60)
/usr/local/go/src/bufio/bufio.go:110 +0x103 fp=0xc000861d60 sp=0xc000861d28 pc=0x8d5863
bufio.(*Reader).Peek(0xc000cc6f60, 0x1)
/usr/local/go/src/bufio/bufio.go:148 +0x53 fp=0xc000861d80 sp=0xc000861d60 pc=0x8d59f3
net/http.(*persistConn).readLoop(0xc00059afc0)
/usr/local/go/src/net/http/transport.go:2205 +0x185 fp=0xc000861fc8 sp=0xc000861d80 pc=0xb81305
net/http.(*Transport).dialConn.gowrap2()
/usr/local/go/src/net/http/transport.go:1874 +0x25 fp=0xc000861fe0 sp=0xc000861fc8 pc=0xb7fc65
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc000861fe8 sp=0xc000861fe0 pc=0x7ab361
created by net/http.(*Transport).dialConn in goroutine 45
/usr/local/go/src/net/http/transport.go:1874 +0x154f

goroutine 3166 gp=0xc00080e000 m=nil [IO wait, 1 minutes]:
runtime.gopark(0x451f6c310f1ac677?, 0x20dfb36e30156f9c?, 0x77?, 0xc6?, 0xb?)
/usr/local/go/src/runtime/proc.go:424 +0xce fp=0xc00024f730 sp=0xc00024f710 pc=0x7a2f8e
runtime.netpollblock(0x80b798?, 0x730d66?, 0x0?)
/usr/local/go/src/runtime/netpoll.go:575 +0xf7 fp=0xc00024f768 sp=0xc00024f730 pc=0x762f77
internal/poll.runtime_pollWait(0x7f8f7c40a8e0, 0x72)
/usr/local/go/src/runtime/netpoll.go:351 +0x85 fp=0xc00024f788 sp=0xc00024f768 pc=0x7a1945
internal/poll.(*pollDesc).wait(0xc0005f2380?, 0xc0009ba000?, 0x0)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x27 fp=0xc00024f7b0 sp=0xc00024f788 pc=0x82ca87
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc0005f2380, {0xc0009ba000, 0xa000, 0xa000})
/usr/local/go/src/internal/poll/fd_unix.go:165 +0x27a fp=0xc00024f848 sp=0xc00024f7b0 pc=0x82deba
net.(*netFD).Read(0xc0005f2380, {0xc0009ba000?, 0x4800?, 0xc00024f9d0?})
/usr/local/go/src/net/fd_posix.go:55 +0x25 fp=0xc00024f890 sp=0xc00024f848 pc=0x8a7c05
net.(*conn).Read(0xc0004ae050, {0xc0009ba000?, 0xc00070e7a0?, 0x8d6433?})
/usr/local/go/src/net/net.go:189 +0x45 fp=0xc00024f8d8 sp=0xc00024f890 pc=0x8b9905
net.(*TCPConn).Read(0xd8f?, {0xc0009ba000?, 0x18?, 0x4800?})
:1 +0x25 fp=0xc00024f908 sp=0xc00024f8d8 pc=0x8cf365
crypto/tls.(*atLeastReader).Read(0xc0001e9e48, {0xc0009ba000?, 0x0?, 0xc0001e9e48?})
/usr/local/go/src/crypto/tls/conn.go:809 +0x3b fp=0xc00024f950 sp=0xc00024f908 pc=0xa9a95b
bytes.(*Buffer).ReadFrom(0xc0001e17b8, {0x11eb860, 0xc0001e9e48})
/usr/local/go/src/bytes/buffer.go:211 +0x98 fp=0xc00024f9a8 sp=0xc00024f950 pc=0x860898
crypto/tls.(*Conn).readFromUntil(0xc0001e1508, {0x11eb580, 0xc0004ae050}, 0xc00024fa40?)
/usr/local/go/src/crypto/tls/conn.go:831 +0xde fp=0xc00024f9e0 sp=0xc00024f9a8 pc=0xa9ab3e
crypto/tls.(*Conn).readRecordOrCCS(0xc0001e1508, 0x0)
/usr/local/go/src/crypto/tls/conn.go:629 +0x3cf fp=0xc00024fc58 sp=0xc00024f9e0 pc=0xa97c4f
crypto/tls.(*Conn).readRecord(...)
/usr/local/go/src/crypto/tls/conn.go:591
crypto/tls.(*Conn).Read(0xc0001e1508, {0xc000712000, 0x1000, 0x0?})
/usr/local/go/src/crypto/tls/conn.go:1385 +0x150 fp=0xc00024fcc8 sp=0xc00024fc58 pc=0xa9e4b0
net/http.(*persistConn).Read(0xc00012a900, {0xc000712000?, 0xb791c5?, 0xf81240?})
/usr/local/go/src/net/http/transport.go:2052 +0x4a fp=0xc00024fd28 sp=0xc00024fcc8 pc=0xb807ca
bufio.(*Reader).fill(0xc0004fe960)
/usr/local/go/src/bufio/bufio.go:110 +0x103 fp=0xc00024fd60 sp=0xc00024fd28 pc=0x8d5863
bufio.(*Reader).Peek(0xc0004fe960, 0x1)
/usr/local/go/src/bufio/bufio.go:148 +0x53 fp=0xc00024fd80 sp=0xc00024fd60 pc=0x8d59f3
net/http.(*persistConn).readLoop(0xc00012a900)
/usr/local/go/src/net/http/transport.go:2205 +0x185 fp=0xc00024ffc8 sp=0xc00024fd80 pc=0xb81305
net/http.(*Transport).dialConn.gowrap2()
/usr/local/go/src/net/http/transport.go:1874 +0x25 fp=0xc00024ffe0 sp=0xc00024ffc8 pc=0xb7fc65
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc00024ffe8 sp=0xc00024ffe0 pc=0x7ab361
created by net/http.(*Transport).dialConn in goroutine 3034
/usr/local/go/src/net/http/transport.go:1874 +0x154f

goroutine 219 gp=0xc000235c00 m=nil [select, 1 minutes]:
runtime.gopark(0xc0005d8f48?, 0x2?, 0x0?, 0x5c?, 0xc0005d8ef4?)
/usr/local/go/src/runtime/proc.go:424 +0xce fp=0xc0005d8d90 sp=0xc0005d8d70 pc=0x7a2f8e
runtime.selectgo(0xc0005d8f48, 0xc0005d8ef0, 0xc0004cb780?, 0x0, 0xc0002653e0?, 0x1)
/usr/local/go/src/runtime/select.go:335 +0x7a5 fp=0xc0005d8eb8 sp=0xc0005d8d90 pc=0x77d405
net/http.(*persistConn).writeLoop(0xc00015e7e0)
/usr/local/go/src/net/http/transport.go:2519 +0xe7 fp=0xc0005d8fc8 sp=0xc0005d8eb8 pc=0xb82f87
net/http.(*Transport).dialConn.gowrap3()
/usr/local/go/src/net/http/transport.go:1875 +0x25 fp=0xc0005d8fe0 sp=0xc0005d8fc8 pc=0xb7fc05
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc0005d8fe8 sp=0xc0005d8fe0 pc=0x7ab361
created by net/http.(*Transport).dialConn in goroutine 108
/usr/local/go/src/net/http/transport.go:1875 +0x15a5

goroutine 3167 gp=0xc00080e700 m=nil [select, 1 minutes]:
runtime.gopark(0xc000592f48?, 0x2?, 0x0?, 0xe7?, 0xc000592ef4?)
/usr/local/go/src/runtime/proc.go:424 +0xce fp=0xc000592d90 sp=0xc000592d70 pc=0x7a2f8e
runtime.selectgo(0xc000592f48, 0xc000592ef0, 0xc00060ac40?, 0x0, 0xc000898270?, 0x1)
/usr/local/go/src/runtime/select.go:335 +0x7a5 fp=0xc000592eb8 sp=0xc000592d90 pc=0x77d405
net/http.(*persistConn).writeLoop(0xc00012a900)
/usr/local/go/src/net/http/transport.go:2519 +0xe7 fp=0xc000592fc8 sp=0xc000592eb8 pc=0xb82f87
net/http.(*Transport).dialConn.gowrap3()
/usr/local/go/src/net/http/transport.go:1875 +0x25 fp=0xc000592fe0 sp=0xc000592fc8 pc=0xb7fc05
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc000592fe8 sp=0xc000592fe0 pc=0x7ab361
created by net/http.(*Transport).dialConn in goroutine 3034
/usr/local/go/src/net/http/transport.go:1875 +0x15a5

goroutine 3170 gp=0xc00080ee00 m=nil [IO wait, 1 minutes]:
runtime.gopark(0x147e9803d44bd6c0?, 0xf53a2983636694e2?, 0xc0?, 0xd6?, 0xb?)
/usr/local/go/src/runtime/proc.go:424 +0xce fp=0xc000589730 sp=0xc000589710 pc=0x7a2f8e
runtime.netpollblock(0x80b798?, 0x730d66?, 0x0?)
/usr/local/go/src/runtime/netpoll.go:575 +0xf7 fp=0xc000589768 sp=0xc000589730 pc=0x762f77
internal/poll.runtime_pollWait(0x7f8f7c40a7d8, 0x72)
/usr/local/go/src/runtime/netpoll.go:351 +0x85 fp=0xc000589788 sp=0xc000589768 pc=0x7a1945
internal/poll.(*pollDesc).wait(0xc0000d8100?, 0xc000a3c000?, 0x0)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x27 fp=0xc0005897b0 sp=0xc000589788 pc=0x82ca87
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc0000d8100, {0xc000a3c000, 0xa000, 0xa000})
/usr/local/go/src/internal/poll/fd_unix.go:165 +0x27a fp=0xc000589848 sp=0xc0005897b0 pc=0x82deba
net.(*netFD).Read(0xc0000d8100, {0xc000a3c000?, 0x4800?, 0xc0005899d0?})
/usr/local/go/src/net/fd_posix.go:55 +0x25 fp=0xc000589890 sp=0xc000589848 pc=0x8a7c05
net.(*conn).Read(0xc00056c000, {0xc000a3c000?, 0x0?, 0x8d6433?})
/usr/local/go/src/net/net.go:189 +0x45 fp=0xc0005898d8 sp=0xc000589890 pc=0x8b9905
net.(*TCPConn).Read(0xd8f?, {0xc000a3c000?, 0x18?, 0x7f8fc609af68?})
:1 +0x25 fp=0xc000589908 sp=0xc0005898d8 pc=0x8cf365
crypto/tls.(*atLeastReader).Read(0xc001167338, {0xc000a3c000?, 0x0?, 0xc001167338?})
/usr/local/go/src/crypto/tls/conn.go:809 +0x3b fp=0xc000589950 sp=0xc000589908 pc=0xa9a95b
bytes.(*Buffer).ReadFrom(0xc0000057b8, {0x11eb860, 0xc001167338})
/usr/local/go/src/bytes/buffer.go:211 +0x98 fp=0xc0005899a8 sp=0xc000589950 pc=0x860898
crypto/tls.(*Conn).readFromUntil(0xc000005508, {0x11eb580, 0xc00056c000}, 0xc000589a40?)
/usr/local/go/src/crypto/tls/conn.go:831 +0xde fp=0xc0005899e0 sp=0xc0005899a8 pc=0xa9ab3e
crypto/tls.(*Conn).readRecordOrCCS(0xc000005508, 0x0)
/usr/local/go/src/crypto/tls/conn.go:629 +0x3cf fp=0xc000589c58 sp=0xc0005899e0 pc=0xa97c4f
crypto/tls.(*Conn).readRecord(...)
/usr/local/go/src/crypto/tls/conn.go:591
crypto/tls.(*Conn).Read(0xc000005508, {0xc000bd6000, 0x1000, 0x0?})
/usr/local/go/src/crypto/tls/conn.go:1385 +0x150 fp=0xc000589cc8 sp=0xc000589c58 pc=0xa9e4b0
net/http.(*persistConn).Read(0xc00015e480, {0xc000bd6000?, 0xb791c5?, 0xf81240?})
/usr/local/go/src/net/http/transport.go:2052 +0x4a fp=0xc000589d28 sp=0xc000589cc8 pc=0xb807ca
bufio.(*Reader).fill(0xc000b857a0)
/usr/local/go/src/bufio/bufio.go:110 +0x103 fp=0xc000589d60 sp=0xc000589d28 pc=0x8d5863
bufio.(*Reader).Peek(0xc000b857a0, 0x1)
/usr/local/go/src/bufio/bufio.go:148 +0x53 fp=0xc000589d80 sp=0xc000589d60 pc=0x8d59f3
net/http.(*persistConn).readLoop(0xc00015e480)
/usr/local/go/src/net/http/transport.go:2205 +0x185 fp=0xc000589fc8 sp=0xc000589d80 pc=0xb81305
net/http.(*Transport).dialConn.gowrap2()
/usr/local/go/src/net/http/transport.go:1874 +0x25 fp=0xc000589fe0 sp=0xc000589fc8 pc=0xb7fc65
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc000589fe8 sp=0xc000589fe0 pc=0x7ab361
created by net/http.(*Transport).dialConn in goroutine 2976
/usr/local/go/src/net/http/transport.go:1874 +0x154f

goroutine 3191 gp=0xc000892700 m=nil [IO wait, 1 minutes]:
runtime.gopark(0x7a7e7ee53d249338?, 0x9280f4fefdf76b2f?, 0x38?, 0x93?, 0xb?)
/usr/local/go/src/runtime/proc.go:424 +0xce fp=0xc0005d6730 sp=0xc0005d6710 pc=0x7a2f8e
runtime.netpollblock(0x80b798?, 0x730d66?, 0x0?)
/usr/local/go/src/runtime/netpoll.go:575 +0xf7 fp=0xc0005d6768 sp=0xc0005d6730 pc=0x762f77
internal/poll.runtime_pollWait(0x7f8f7c1b0c10, 0x72)
/usr/local/go/src/runtime/netpoll.go:351 +0x85 fp=0xc0005d6788 sp=0xc0005d6768 pc=0x7a1945
internal/poll.(*pollDesc).wait(0xc0004aa600?, 0xc0009da000?, 0x0)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x27 fp=0xc0005d67b0 sp=0xc0005d6788 pc=0x82ca87
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc0004aa600, {0xc0009da000, 0xa000, 0xa000})
/usr/local/go/src/internal/poll/fd_unix.go:165 +0x27a fp=0xc0005d6848 sp=0xc0005d67b0 pc=0x82deba
net.(*netFD).Read(0xc0004aa600, {0xc0009da000?, 0x4800?, 0xc0005d69d0?})
/usr/local/go/src/net/fd_posix.go:55 +0x25 fp=0xc0005d6890 sp=0xc0005d6848 pc=0x8a7c05
net.(*conn).Read(0xc0000580d0, {0xc0009da000?, 0x0?, 0x8d6433?})
/usr/local/go/src/net/net.go:189 +0x45 fp=0xc0005d68d8 sp=0xc0005d6890 pc=0x8b9905
net.(*TCPConn).Read(0xd97?, {0xc0009da000?, 0x18?, 0x7f8fc609bbe8?})
:1 +0x25 fp=0xc0005d6908 sp=0xc0005d68d8 pc=0x8cf365
crypto/tls.(*atLeastReader).Read(0xc001167800, {0xc0009da000?, 0x0?, 0xc001167800?})
/usr/local/go/src/crypto/tls/conn.go:809 +0x3b fp=0xc0005d6950 sp=0xc0005d6908 pc=0xa9a95b
bytes.(*Buffer).ReadFrom(0xc0005077b8, {0x11eb860, 0xc001167800})
/usr/local/go/src/bytes/buffer.go:211 +0x98 fp=0xc0005d69a8 sp=0xc0005d6950 pc=0x860898
crypto/tls.(*Conn).readFromUntil(0xc000507508, {0x11eb580, 0xc0000580d0}, 0xc0005d6a40?)
/usr/local/go/src/crypto/tls/conn.go:831 +0xde fp=0xc0005d69e0 sp=0xc0005d69a8 pc=0xa9ab3e
crypto/tls.(*Conn).readRecordOrCCS(0xc000507508, 0x0)
/usr/local/go/src/crypto/tls/conn.go:629 +0x3cf fp=0xc0005d6c58 sp=0xc0005d69e0 pc=0xa97c4f
crypto/tls.(*Conn).readRecord(...)
/usr/local/go/src/crypto/tls/conn.go:591
crypto/tls.(*Conn).Read(0xc000507508, {0xc000cd8000, 0x1000, 0x0?})
/usr/local/go/src/crypto/tls/conn.go:1385 +0x150 fp=0xc0005d6cc8 sp=0xc0005d6c58 pc=0xa9e4b0
net/http.(*persistConn).Read(0xc00086a240, {0xc000cd8000?, 0xb791c5?, 0xf81240?})
/usr/local/go/src/net/http/transport.go:2052 +0x4a fp=0xc0005d6d28 sp=0xc0005d6cc8 pc=0xb807ca
bufio.(*Reader).fill(0xc000112d80)
/usr/local/go/src/bufio/bufio.go:110 +0x103 fp=0xc0005d6d60 sp=0xc0005d6d28 pc=0x8d5863
bufio.(*Reader).Peek(0xc000112d80, 0x1)
/usr/local/go/src/bufio/bufio.go:148 +0x53 fp=0xc0005d6d80 sp=0xc0005d6d60 pc=0x8d59f3
net/http.(*persistConn).readLoop(0xc00086a240)
/usr/local/go/src/net/http/transport.go:2205 +0x185 fp=0xc0005d6fc8 sp=0xc0005d6d80 pc=0xb81305
net/http.(*Transport).dialConn.gowrap2()
/usr/local/go/src/net/http/transport.go:1874 +0x25 fp=0xc0005d6fe0 sp=0xc0005d6fc8 pc=0xb7fc65
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc0005d6fe8 sp=0xc0005d6fe0 pc=0x7ab361
created by net/http.(*Transport).dialConn in goroutine 3060
/usr/local/go/src/net/http/transport.go:1874 +0x154f

goroutine 3116 gp=0xc0007a7340 m=nil [select, 1 minutes]:
runtime.gopark(0xc000597f48?, 0x2?, 0x40?, 0x73?, 0xc000597ef4?)
/usr/local/go/src/runtime/proc.go:424 +0xce fp=0xc000597d90 sp=0xc000597d70 pc=0x7a2f8e
runtime.selectgo(0xc000597f48, 0xc000597ef0, 0xc0000830c0?, 0x0, 0xc00011ec30?, 0x1)
/usr/local/go/src/runtime/select.go:335 +0x7a5 fp=0xc000597eb8 sp=0xc000597d90 pc=0x77d405
net/http.(*persistConn).writeLoop(0xc00012b440)
/usr/local/go/src/net/http/transport.go:2519 +0xe7 fp=0xc000597fc8 sp=0xc000597eb8 pc=0xb82f87
net/http.(*Transport).dialConn.gowrap3()
/usr/local/go/src/net/http/transport.go:1875 +0x25 fp=0xc000597fe0 sp=0xc000597fc8 pc=0xb7fc05
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc000597fe8 sp=0xc000597fe0 pc=0x7ab361
created by net/http.(*Transport).dialConn in goroutine 3071
/usr/local/go/src/net/http/transport.go:1875 +0x15a5

goroutine 225 gp=0xc0007a76c0 m=nil [select, 1 minutes]:
runtime.gopark(0xc000ef0f48?, 0x2?, 0xc0?, 0x76?, 0xc000ef0ef4?)
/usr/local/go/src/runtime/proc.go:424 +0xce fp=0xc000ef0d90 sp=0xc000ef0d70 pc=0x7a2f8e
runtime.selectgo(0xc000ef0f48, 0xc000ef0ef0, 0xc000cce100?, 0x0, 0xc00011f5f0?, 0x1)
/usr/local/go/src/runtime/select.go:335 +0x7a5 fp=0xc000ef0eb8 sp=0xc000ef0d90 pc=0x77d405
net/http.(*persistConn).writeLoop(0xc00059afc0)
/usr/local/go/src/net/http/transport.go:2519 +0xe7 fp=0xc000ef0fc8 sp=0xc000ef0eb8 pc=0xb82f87
net/http.(*Transport).dialConn.gowrap3()
/usr/local/go/src/net/http/transport.go:1875 +0x25 fp=0xc000ef0fe0 sp=0xc000ef0fc8 pc=0xb7fc05
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc000ef0fe8 sp=0xc000ef0fe0 pc=0x7ab361
created by net/http.(*Transport).dialConn in goroutine 45
/usr/local/go/src/net/http/transport.go:1875 +0x15a5

goroutine 3218 gp=0xc000838a80 m=nil [select]:
runtime.gopark(0xc00085ff48?, 0x2?, 0x80?, 0x8a?, 0xc00085fef4?)
/usr/local/go/src/runtime/proc.go:424 +0xce fp=0xc00085fd90 sp=0xc00085fd70 pc=0x7a2f8e
runtime.selectgo(0xc00085ff48, 0xc00085fef0, 0xc0004c26c0?, 0x0, 0xc000b70810?, 0x1)
/usr/local/go/src/runtime/select.go:335 +0x7a5 fp=0xc00085feb8 sp=0xc00085fd90 pc=0x77d405
net/http.(*persistConn).writeLoop(0xc0000c8fc0)
/usr/local/go/src/net/http/transport.go:2519 +0xe7 fp=0xc00085ffc8 sp=0xc00085feb8 pc=0xb82f87
net/http.(*Transport).dialConn.gowrap3()
/usr/local/go/src/net/http/transport.go:1875 +0x25 fp=0xc00085ffe0 sp=0xc00085ffc8 pc=0xb7fc05
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc00085ffe8 sp=0xc00085ffe0 pc=0x7ab361
created by net/http.(*Transport).dialConn in goroutine 3055
/usr/local/go/src/net/http/transport.go:1875 +0x15a5

goroutine 341 gp=0xc000978a80 m=44 mp=0xc0006df808 [syscall, locked to thread]:
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc0008affe8 sp=0xc0008affe0 pc=0x7ab361

goroutine 342 gp=0xc000978fc0 m=45 mp=0xc00060f808 [syscall, locked to thread]:
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc000c73fe8 sp=0xc000c73fe0 pc=0x7ab361

goroutine 343 gp=0xc0006ba380 m=46 mp=0xc000103108 [syscall, locked to thread]:
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc0008d5fe8 sp=0xc0008d5fe0 pc=0x7ab361

goroutine 362 gp=0xc000979500 m=49 mp=0xc00075c708 [syscall, locked to thread]:
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc000039fe8 sp=0xc000039fe0 pc=0x7ab361

goroutine 507 gp=0xc0006bae00 m=50 mp=0xc00075ce08 [syscall, locked to thread]:
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc0007c5fe8 sp=0xc0007c5fe0 pc=0x7ab361

goroutine 508 gp=0xc00074e8c0 m=51 mp=0xc0008a4008 [syscall, locked to thread]:
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc000777fe8 sp=0xc000777fe0 pc=0x7ab361

goroutine 3154 gp=0xc00074fc00 m=nil [select]:
runtime.gopark(0xc000ef6f48?, 0x2?, 0x0?, 0xfc?, 0xc000ef6ef4?)
/usr/local/go/src/runtime/proc.go:424 +0xce fp=0xc000ef6d90 sp=0xc000ef6d70 pc=0x7a2f8e
runtime.selectgo(0xc000ef6f48, 0xc000ef6ef0, 0xc0004c2bc0?, 0x0, 0xc000487d10?, 0x1)
/usr/local/go/src/runtime/select.go:335 +0x7a5 fp=0xc000ef6eb8 sp=0xc000ef6d90 pc=0x77d405
net/http.(*persistConn).writeLoop(0xc00015fc20)
/usr/local/go/src/net/http/transport.go:2519 +0xe7 fp=0xc000ef6fc8 sp=0xc000ef6eb8 pc=0xb82f87
net/http.(*Transport).dialConn.gowrap3()
/usr/local/go/src/net/http/transport.go:1875 +0x25 fp=0xc000ef6fe0 sp=0xc000ef6fc8 pc=0xb7fc05
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc000ef6fe8 sp=0xc000ef6fe0 pc=0x7ab361
created by net/http.(*Transport).dialConn in goroutine 2986
/usr/local/go/src/net/http/transport.go:1875 +0x15a5

goroutine 3159 gp=0xc0006bb6c0 m=nil [IO wait, 1 minutes]:
runtime.gopark(0x3cc9dc3a42c31428?, 0xfb6646047cb18e36?, 0x28?, 0x14?, 0xb?)
/usr/local/go/src/runtime/proc.go:424 +0xce fp=0xc00068f730 sp=0xc00068f710 pc=0x7a2f8e
runtime.netpollblock(0x80b798?, 0x730d66?, 0x0?)
/usr/local/go/src/runtime/netpoll.go:575 +0xf7 fp=0xc00068f768 sp=0xc00068f730 pc=0x762f77
internal/poll.runtime_pollWait(0x7f8fc5f19dc8, 0x72)
/usr/local/go/src/runtime/netpoll.go:351 +0x85 fp=0xc00068f788 sp=0xc00068f768 pc=0x7a1945
internal/poll.(*pollDesc).wait(0xc00013a580?, 0xc00098c000?, 0x0)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x27 fp=0xc00068f7b0 sp=0xc00068f788 pc=0x82ca87
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc00013a580, {0xc00098c000, 0xa000, 0xa000})
/usr/local/go/src/internal/poll/fd_unix.go:165 +0x27a fp=0xc00068f848 sp=0xc00068f7b0 pc=0x82deba
net.(*netFD).Read(0xc00013a580, {0xc00098c000?, 0x4800?, 0xc00068f9d0?})
/usr/local/go/src/net/fd_posix.go:55 +0x25 fp=0xc00068f890 sp=0xc00068f848 pc=0x8a7c05
net.(*conn).Read(0xc00056c038, {0xc00098c000?, 0xc0004d69e0?, 0x8d6433?})
/usr/local/go/src/net/net.go:189 +0x45 fp=0xc00068f8d8 sp=0xc00068f890 pc=0x8b9905
net.(*TCPConn).Read(0xd8f?, {0xc00098c000?, 0x18?, 0x4800?})
:1 +0x25 fp=0xc00068f908 sp=0xc00068f8d8 pc=0x8cf365
crypto/tls.(*atLeastReader).Read(0xc0001e9530, {0xc00098c000?, 0x0?, 0xc0001e9530?})
/usr/local/go/src/crypto/tls/conn.go:809 +0x3b fp=0xc00068f950 sp=0xc00068f908 pc=0xa9a95b
bytes.(*Buffer).ReadFrom(0xc0001697b8, {0x11eb860, 0xc0001e9530})
/usr/local/go/src/bytes/buffer.go:211 +0x98 fp=0xc00068f9a8 sp=0xc00068f950 pc=0x860898
crypto/tls.(*Conn).readFromUntil(0xc000169508, {0x11eb580, 0xc00056c038}, 0xc00068fa40?)
/usr/local/go/src/crypto/tls/conn.go:831 +0xde fp=0xc00068f9e0 sp=0xc00068f9a8 pc=0xa9ab3e
crypto/tls.(*Conn).readRecordOrCCS(0xc000169508, 0x0)
/usr/local/go/src/crypto/tls/conn.go:629 +0x3cf fp=0xc00068fc58 sp=0xc00068f9e0 pc=0xa97c4f
crypto/tls.(*Conn).readRecord(...)
/usr/local/go/src/crypto/tls/conn.go:591
crypto/tls.(*Conn).Read(0xc000169508, {0xc000c36000, 0x1000, 0x0?})
/usr/local/go/src/crypto/tls/conn.go:1385 +0x150 fp=0xc00068fcc8 sp=0xc00068fc58 pc=0xa9e4b0
net/http.(*persistConn).Read(0xc00015ec60, {0xc000c36000?, 0xb791c5?, 0xf81240?})
/usr/local/go/src/net/http/transport.go:2052 +0x4a fp=0xc00068fd28 sp=0xc00068fcc8 pc=0xb807ca
bufio.(*Reader).fill(0xc000c34720)
/usr/local/go/src/bufio/bufio.go:110 +0x103 fp=0xc00068fd60 sp=0xc00068fd28 pc=0x8d5863
bufio.(*Reader).Peek(0xc000c34720, 0x1)
/usr/local/go/src/bufio/bufio.go:148 +0x53 fp=0xc00068fd80 sp=0xc00068fd60 pc=0x8d59f3
net/http.(*persistConn).readLoop(0xc00015ec60)
/usr/local/go/src/net/http/transport.go:2205 +0x185 fp=0xc00068ffc8 sp=0xc00068fd80 pc=0xb81305
net/http.(*Transport).dialConn.gowrap2()
/usr/local/go/src/net/http/transport.go:1874 +0x25 fp=0xc00068ffe0 sp=0xc00068ffc8 pc=0xb7fc65
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc00068ffe8 sp=0xc00068ffe0 pc=0x7ab361
created by net/http.(*Transport).dialConn in goroutine 2979
/usr/local/go/src/net/http/transport.go:1874 +0x154f

goroutine 3171 gp=0xc0006bba40 m=nil [select, 1 minutes]:
runtime.gopark(0xc000ef7f48?, 0x2?, 0x40?, 0xba?, 0xc000ef7ef4?)
/usr/local/go/src/runtime/proc.go:424 +0xce fp=0xc000ef7d90 sp=0xc000ef7d70 pc=0x7a2f8e
runtime.selectgo(0xc000ef7f48, 0xc000ef7ef0, 0xc00060b240?, 0x0, 0xc00011f8c0?, 0x1)
/usr/local/go/src/runtime/select.go:335 +0x7a5 fp=0xc000ef7eb8 sp=0xc000ef7d90 pc=0x77d405
net/http.(*persistConn).writeLoop(0xc00015e480)
/usr/local/go/src/net/http/transport.go:2519 +0xe7 fp=0xc000ef7fc8 sp=0xc000ef7eb8 pc=0xb82f87
net/http.(*Transport).dialConn.gowrap3()
/usr/local/go/src/net/http/transport.go:1875 +0x25 fp=0xc000ef7fe0 sp=0xc000ef7fc8 pc=0xb7fc05
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc000ef7fe8 sp=0xc000ef7fe0 pc=0x7ab361
created by net/http.(*Transport).dialConn in goroutine 2976
/usr/local/go/src/net/http/transport.go:1875 +0x15a5

goroutine 3219 gp=0xc0006bbdc0 m=nil [IO wait, 1 minutes]:
runtime.gopark(0xaa0fc8438d5f6b85?, 0x62959917e98d9c6f?, 0x85?, 0x6b?, 0xb?)
/usr/local/go/src/runtime/proc.go:424 +0xce fp=0xc000439730 sp=0xc000439710 pc=0x7a2f8e
runtime.netpollblock(0x80b798?, 0x730d66?, 0x0?)
/usr/local/go/src/runtime/netpoll.go:575 +0xf7 fp=0xc000439768 sp=0xc000439730 pc=0x762f77
internal/poll.runtime_pollWait(0x7f8f7c1b1450, 0x72)
/usr/local/go/src/runtime/netpoll.go:351 +0x85 fp=0xc000439788 sp=0xc000439768 pc=0x7a1945
internal/poll.(*pollDesc).wait(0xc0000d8300?, 0xc000bda000?, 0x0)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x27 fp=0xc0004397b0 sp=0xc000439788 pc=0x82ca87
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc0000d8300, {0xc000bda000, 0xa000, 0xa000})
/usr/local/go/src/internal/poll/fd_unix.go:165 +0x27a fp=0xc000439848 sp=0xc0004397b0 pc=0x82deba
net.(*netFD).Read(0xc0000d8300, {0xc000bda000?, 0x4800?, 0xc0004399d0?})
/usr/local/go/src/net/fd_posix.go:55 +0x25 fp=0xc000439890 sp=0xc000439848 pc=0x8a7c05
net.(*conn).Read(0xc0000580b0, {0xc000bda000?, 0xc0004d63c0?, 0x8d6433?})
/usr/local/go/src/net/net.go:189 +0x45 fp=0xc0004398d8 sp=0xc000439890 pc=0x8b9905
net.(*TCPConn).Read(0xd8f?, {0xc000bda000?, 0x18?, 0x4800?})
:1 +0x25 fp=0xc000439908 sp=0xc0004398d8 pc=0x8cf365
crypto/tls.(*atLeastReader).Read(0xc001167248, {0xc000bda000?, 0x0?, 0xc001167248?})
/usr/local/go/src/crypto/tls/conn.go:809 +0x3b fp=0xc000439950 sp=0xc000439908 pc=0xa9a95b
bytes.(*Buffer).ReadFrom(0xc000506d38, {0x11eb860, 0xc001167248})
/usr/local/go/src/bytes/buffer.go:211 +0x98 fp=0xc0004399a8 sp=0xc000439950 pc=0x860898
crypto/tls.(*Conn).readFromUntil(0xc000506a88, {0x11eb580, 0xc0000580b0}, 0xc000439a40?)
/usr/local/go/src/crypto/tls/conn.go:831 +0xde fp=0xc0004399e0 sp=0xc0004399a8 pc=0xa9ab3e
crypto/tls.(*Conn).readRecordOrCCS(0xc000506a88, 0x0)
/usr/local/go/src/crypto/tls/conn.go:629 +0x3cf fp=0xc000439c58 sp=0xc0004399e0 pc=0xa97c4f
crypto/tls.(*Conn).readRecord(...)
/usr/local/go/src/crypto/tls/conn.go:591
crypto/tls.(*Conn).Read(0xc000506a88, {0xc000dff000, 0x1000, 0x0?})
/usr/local/go/src/crypto/tls/conn.go:1385 +0x150 fp=0xc000439cc8 sp=0xc000439c58 pc=0xa9e4b0
net/http.(*persistConn).Read(0xc00012ad80, {0xc000dff000?, 0xb791c5?, 0xf81240?})
/usr/local/go/src/net/http/transport.go:2052 +0x4a fp=0xc000439d28 sp=0xc000439cc8 pc=0xb807ca
bufio.(*Reader).fill(0xc00049efc0)
/usr/local/go/src/bufio/bufio.go:110 +0x103 fp=0xc000439d60 sp=0xc000439d28 pc=0x8d5863
bufio.(*Reader).Peek(0xc00049efc0, 0x1)
/usr/local/go/src/bufio/bufio.go:148 +0x53 fp=0xc000439d80 sp=0xc000439d60 pc=0x8d59f3
net/http.(*persistConn).readLoop(0xc00012ad80)
/usr/local/go/src/net/http/transport.go:2205 +0x185 fp=0xc000439fc8 sp=0xc000439d80 pc=0xb81305
net/http.(*Transport).dialConn.gowrap2()
/usr/local/go/src/net/http/transport.go:1874 +0x25 fp=0xc000439fe0 sp=0xc000439fc8 pc=0xb7fc65
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc000439fe8 sp=0xc000439fe0 pc=0x7ab361
created by net/http.(*Transport).dialConn in goroutine 3036
/usr/local/go/src/net/http/transport.go:1874 +0x154f

goroutine 3133 gp=0xc000568380 m=nil [select, 1 minutes]:
runtime.gopark(0xc000f19f48?, 0x2?, 0x80?, 0x83?, 0xc000f19ef4?)
/usr/local/go/src/runtime/proc.go:424 +0xce fp=0xc000f19d90 sp=0xc000f19d70 pc=0x7a2f8e
runtime.selectgo(0xc000f19f48, 0xc000f19ef0, 0xc00059ec00?, 0x0, 0xc0002650e0?, 0x1)
/usr/local/go/src/runtime/select.go:335 +0x7a5 fp=0xc000f19eb8 sp=0xc000f19d90 pc=0x77d405
net/http.(*persistConn).writeLoop(0xc00012b8c0)
/usr/local/go/src/net/http/transport.go:2519 +0xe7 fp=0xc000f19fc8 sp=0xc000f19eb8 pc=0xb82f87
net/http.(*Transport).dialConn.gowrap3()
/usr/local/go/src/net/http/transport.go:1875 +0x25 fp=0xc000f19fe0 sp=0xc000f19fc8 pc=0xb7fc05
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc000f19fe8 sp=0xc000f19fe0 pc=0x7ab361
created by net/http.(*Transport).dialConn in goroutine 3073
/usr/local/go/src/net/http/transport.go:1875 +0x15a5

goroutine 3132 gp=0xc0008921c0 m=nil [IO wait, 1 minutes]:
runtime.gopark(0xe09766dba16a3f9f?, 0x32695b9c68d968a9?, 0x9f?, 0x3f?, 0xb?)
/usr/local/go/src/runtime/proc.go:424 +0xce fp=0xc000683730 sp=0xc000683710 pc=0x7a2f8e
runtime.netpollblock(0x80b798?, 0x730d66?, 0x0?)
/usr/local/go/src/runtime/netpoll.go:575 +0xf7 fp=0xc000683768 sp=0xc000683730 pc=0x762f77
internal/poll.runtime_pollWait(0x7f8f7c40a9e8, 0x72)
/usr/local/go/src/runtime/netpoll.go:351 +0x85 fp=0xc000683788 sp=0xc000683768 pc=0x7a1945
internal/poll.(*pollDesc).wait(0xc0000d8500?, 0xc000bf2000?, 0x0)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x27 fp=0xc0006837b0 sp=0xc000683788 pc=0x82ca87
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc0000d8500, {0xc000bf2000, 0xa000, 0xa000})
/usr/local/go/src/internal/poll/fd_unix.go:165 +0x27a fp=0xc000683848 sp=0xc0006837b0 pc=0x82deba
net.(*netFD).Read(0xc0000d8500, {0xc000bf2000?, 0x4800?, 0xc0006839d0?})
/usr/local/go/src/net/fd_posix.go:55 +0x25 fp=0xc000683890 sp=0xc000683848 pc=0x8a7c05
net.(*conn).Read(0xc000122028, {0xc000bf2000?, 0x0?, 0x8d6433?})
/usr/local/go/src/net/net.go:189 +0x45 fp=0xc0006838d8 sp=0xc000683890 pc=0x8b9905
net.(*TCPConn).Read(0xd8f?, {0xc000bf2000?, 0x18?, 0x7f8f7c5978c0?})
:1 +0x25 fp=0xc000683908 sp=0xc0006838d8 pc=0x8cf365
crypto/tls.(*atLeastReader).Read(0xc0005db740, {0xc000bf2000?, 0x0?, 0xc0005db740?})
/usr/local/go/src/crypto/tls/conn.go:809 +0x3b fp=0xc000683950 sp=0xc000683908 pc=0xa9a95b
bytes.(*Buffer).ReadFrom(0xc0007a89b8, {0x11eb860, 0xc0005db740})
/usr/local/go/src/bytes/buffer.go:211 +0x98 fp=0xc0006839a8 sp=0xc000683950 pc=0x860898
crypto/tls.(*Conn).readFromUntil(0xc0007a8708, {0x11eb580, 0xc000122028}, 0xc000683a40?)
/usr/local/go/src/crypto/tls/conn.go:831 +0xde fp=0xc0006839e0 sp=0xc0006839a8 pc=0xa9ab3e
crypto/tls.(*Conn).readRecordOrCCS(0xc0007a8708, 0x0)
/usr/local/go/src/crypto/tls/conn.go:629 +0x3cf fp=0xc000683c58 sp=0xc0006839e0 pc=0xa97c4f
crypto/tls.(*Conn).readRecord(...)
/usr/local/go/src/crypto/tls/conn.go:591
crypto/tls.(*Conn).Read(0xc0007a8708, {0xc000266000, 0x1000, 0x0?})
/usr/local/go/src/crypto/tls/conn.go:1385 +0x150 fp=0xc000683cc8 sp=0xc000683c58 pc=0xa9e4b0
net/http.(*persistConn).Read(0xc00012b8c0, {0xc000266000?, 0xb791c5?, 0xf81240?})
/usr/local/go/src/net/http/transport.go:2052 +0x4a fp=0xc000683d28 sp=0xc000683cc8 pc=0xb807ca
bufio.(*Reader).fill(0xc000207020)
/usr/local/go/src/bufio/bufio.go:110 +0x103 fp=0xc000683d60 sp=0xc000683d28 pc=0x8d5863
bufio.(*Reader).Peek(0xc000207020, 0x1)
/usr/local/go/src/bufio/bufio.go:148 +0x53 fp=0xc000683d80 sp=0xc000683d60 pc=0x8d59f3
net/http.(*persistConn).readLoop(0xc00012b8c0)
/usr/local/go/src/net/http/transport.go:2205 +0x185 fp=0xc000683fc8 sp=0xc000683d80 pc=0xb81305
net/http.(*Transport).dialConn.gowrap2()
/usr/local/go/src/net/http/transport.go:1874 +0x25 fp=0xc000683fe0 sp=0xc000683fc8 pc=0xb7fc65
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc000683fe8 sp=0xc000683fe0 pc=0x7ab361
created by net/http.(*Transport).dialConn in goroutine 3073
/usr/local/go/src/net/http/transport.go:1874 +0x154f

goroutine 3220 gp=0xc0001736c0 m=nil [select, 1 minutes]:
runtime.gopark(0xc000595f48?, 0x2?, 0xc0?, 0x36?, 0xc000595ef4?)
/usr/local/go/src/runtime/proc.go:424 +0xce fp=0xc000595d90 sp=0xc000595d70 pc=0x7a2f8e
runtime.selectgo(0xc000595f48, 0xc000595ef0, 0xc0004c2a00?, 0x0, 0xc000265980?, 0x1)
/usr/local/go/src/runtime/select.go:335 +0x7a5 fp=0xc000595eb8 sp=0xc000595d90 pc=0x77d405
net/http.(*persistConn).writeLoop(0xc00012ad80)
/usr/local/go/src/net/http/transport.go:2519 +0xe7 fp=0xc000595fc8 sp=0xc000595eb8 pc=0xb82f87
net/http.(*Transport).dialConn.gowrap3()
/usr/local/go/src/net/http/transport.go:1875 +0x25 fp=0xc000595fe0 sp=0xc000595fc8 pc=0xb7fc05
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc000595fe8 sp=0xc000595fe0 pc=0x7ab361
created by net/http.(*Transport).dialConn in goroutine 3036
/usr/local/go/src/net/http/transport.go:1875 +0x15a5

goroutine 3192 gp=0xc0008ec540 m=nil [select, 1 minutes]:
runtime.gopark(0xc0005d4f48?, 0x2?, 0x40?, 0xc5?, 0xc0005d4ef4?)
/usr/local/go/src/runtime/proc.go:424 +0xce fp=0xc0005d4d90 sp=0xc0005d4d70 pc=0x7a2f8e
runtime.selectgo(0xc0005d4f48, 0xc0005d4ef0, 0xc00059ed40?, 0x0, 0xc000264ae0?, 0x1)
/usr/local/go/src/runtime/select.go:335 +0x7a5 fp=0xc0005d4eb8 sp=0xc0005d4d90 pc=0x77d405
net/http.(*persistConn).writeLoop(0xc00086a240)
/usr/local/go/src/net/http/transport.go:2519 +0xe7 fp=0xc0005d4fc8 sp=0xc0005d4eb8 pc=0xb82f87
net/http.(*Transport).dialConn.gowrap3()
/usr/local/go/src/net/http/transport.go:1875 +0x25 fp=0xc0005d4fe0 sp=0xc0005d4fc8 pc=0xb7fc05
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc0005d4fe8 sp=0xc0005d4fe0 pc=0x7ab361
created by net/http.(*Transport).dialConn in goroutine 3060
/usr/local/go/src/net/http/transport.go:1875 +0x15a5

goroutine 3196 gp=0xc0008ec8c0 m=nil [select, 1 minutes]:
runtime.gopark(0xc000f03f48?, 0x2?, 0xc0?, 0xc8?, 0xc000f03ef4?)
/usr/local/go/src/runtime/proc.go:424 +0xce fp=0xc000f03d90 sp=0xc000f03d70 pc=0x7a2f8e
runtime.selectgo(0xc000f03f48, 0xc000f03ef0, 0xc00059f400?, 0x0, 0xc000265c50?, 0x1)
/usr/local/go/src/runtime/select.go:335 +0x7a5 fp=0xc000f03eb8 sp=0xc000f03d90 pc=0x77d405
net/http.(*persistConn).writeLoop(0xc00015f560)
/usr/local/go/src/net/http/transport.go:2519 +0xe7 fp=0xc000f03fc8 sp=0xc000f03eb8 pc=0xb82f87
net/http.(*Transport).dialConn.gowrap3()
/usr/local/go/src/net/http/transport.go:1875 +0x25 fp=0xc000f03fe0 sp=0xc000f03fc8 pc=0xb7fc05
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc000f03fe8 sp=0xc000f03fe0 pc=0x7ab361
created by net/http.(*Transport).dialConn in goroutine 2983
/usr/local/go/src/net/http/transport.go:1875 +0x15a5

goroutine 3216 gp=0xc0008ecfc0 m=nil [select, 1 minutes]:
runtime.gopark(0xc000593f48?, 0x2?, 0xc0?, 0xcf?, 0xc000593ef4?)
/usr/local/go/src/runtime/proc.go:424 +0xce fp=0xc000593d90 sp=0xc000593d70 pc=0x7a2f8e
runtime.selectgo(0xc000593f48, 0xc000593ef0, 0xc0004c23c0?, 0x0, 0xc00011f1a0?, 0x1)
/usr/local/go/src/runtime/select.go:335 +0x7a5 fp=0xc000593eb8 sp=0xc000593d90 pc=0x77d405
net/http.(*persistConn).writeLoop(0xc00015f7a0)
/usr/local/go/src/net/http/transport.go:2519 +0xe7 fp=0xc000593fc8 sp=0xc000593eb8 pc=0xb82f87
net/http.(*Transport).dialConn.gowrap3()
/usr/local/go/src/net/http/transport.go:1875 +0x25 fp=0xc000593fe0 sp=0xc000593fc8 pc=0xb7fc05
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc000593fe8 sp=0xc000593fe0 pc=0x7ab361
created by net/http.(*Transport).dialConn in goroutine 2984
/usr/local/go/src/net/http/transport.go:1875 +0x15a5

goroutine 3173 gp=0xc0008ed340 m=nil [select, 1 minutes]:
runtime.gopark(0xc000245f48?, 0x2?, 0x40?, 0xd3?, 0xc000245ef4?)
/usr/local/go/src/runtime/proc.go:424 +0xce fp=0xc000245d90 sp=0xc000245d70 pc=0x7a2f8e
runtime.selectgo(0xc000245f48, 0xc000245ef0, 0xc00060a400?, 0x0, 0xc00011ef00?, 0x1)
/usr/local/go/src/runtime/select.go:335 +0x7a5 fp=0xc000245eb8 sp=0xc000245d90 pc=0x77d405
net/http.(*persistConn).writeLoop(0xc0000c9b00)
/usr/local/go/src/net/http/transport.go:2519 +0xe7 fp=0xc000245fc8 sp=0xc000245eb8 pc=0xb82f87
net/http.(*Transport).dialConn.gowrap3()
/usr/local/go/src/net/http/transport.go:1875 +0x25 fp=0xc000245fe0 sp=0xc000245fc8 pc=0xb7fc05
runtime.goexit({})
/usr/local/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc000245fe8 sp=0xc000245fe0 pc=0x7ab361
created by net/http.(*Transport).dialConn in goroutine 3057
/usr/local/go/src/net/http/transport.go:1875 +0x15a5
`

@vibhansa-msft
Copy link
Member

Hey Sandip, thanks for sharing the screen logs. Unfortunately the logs are not complete and top part of the logs is rolled over. We need to get the console logs right from beginning as that will show the most important details of this crash. Either you can redirect these to a file or have a buffer which can help you scroll up and get the entire logs.

@sandip094
Copy link
Author

Hello @vibhansa-msft ,
Attached the output log now.

output.log

Addiitonal info:
`[oracle@traper-development-step-db-1 ~]$ nproc
4
[oracle@traper-development-step-db-1 ~]$ free -h
total used free shared buff/cache available
Mem: 15G 9G 227M 57M 5.5G 5.3G
Swap: 0B 0B 0B
[oracle@traper-development-step-db-1 ~]$ cat /etc/blobfuse/blobfuseconfig.yaml

Refer ./setup/baseConfig.yaml for full set of config parameters

#allow-other: false

logging:
type: base
level: log_debug
max-file-size-mb: 32
file-count: 10
track-time: true
max-concurrency: 8
components:

  • libfuse
  • file_cache
  • azstorage

libfuse:
default-permission: 0644
attribute-expiration-sec: 120
entry-expiration-sec: 120
negative-entry-expiration-sec: 240
ignore-open-flags: true

file_cache:
path: /mnt/blobfusetmp
timeout-sec: 20
max-size-mb: 75776
allow-non-empty-temp: true
cleanup-on-start: true

azstorage:
type: block
account-name: x
account-key: x
mode: key
container: x
`

@vibhansa-msft
Copy link
Member

vibhansa-msft commented Jan 15, 2025

From the crash log it appears you are running out of memory. Very first line in the output says
fatal error: runtime: out of memory

When blobfuse is running try to observe the free memory on your system. From your config it does not appear blobfuse shall be consuming too much of memory but for some reason system is running out of memory causing blobfuse to crash. This may also happen if system is already low on memory and then your backup application and blobfuse combined put system on pressure. You need to monitor the memory usage of blobfuse and your backup application when your workflow is running.

@sandip094
Copy link
Author

Hello @vibhansa-msft ,
Thank you for the update. I noticed the error, but I'm curious why Blobfuse is crashing specifically during the RMAN process. Is there an alternative way to determine whether the issue is originating from Blobfuse or the RMAN process?

@vibhansa-msft
Copy link
Member

For that you need to monitor the memory usage as your RMAN process is running. If blobfuse is found to be using more, maybe you can migrate to block-cache based config where memory is reallocated and blobfuse tries to run within that scope. If RMAN is using more, maybe you can try to reduce the parallel file operations or if there are any config to control the memory usage.

@mortenjoenby
Copy link

mortenjoenby commented Jan 23, 2025

@vibhansa-msft , I work with Sandeep.
We do see this error on several installations after the upgrade to v2.4.

I notice this warning:
Thu Jan 23 14:47:51 UTC 2025 : blobfuse2[31996] : [/rman-backup] LOG_WARNING [libfuse_handler.go (702)]: Libfuse::libfuse_open : Flags (8201) not supported to open step/0/2025-01-18_0100/resume-backup-2025-01-18_0100-incr0-4255136787
when write back cache is on. Ignoring unsupported flags.

config: (just added max-size-mb again as we thought it made a difference, but not the case)

logging:
  type: base
  level: log_info
  max-file-size-mb: 32
  file-count: 10
  track-time: true
  max-concurrency: 16
components:
  - libfuse
  - file_cache
  - azstorage

libfuse:
  default-permission: 0644
  attribute-expiration-sec: 120
  entry-expiration-sec: 120
  negative-entry-expiration-sec: 240
  ignore-open-flags: true

file_cache:
  path: /mnt/blobfusetmp
  timeout-sec: 20
  allow-non-empty-temp: true
  cleanup-on-start: true
  max-size-mb: 204800

azstorage:
  type: block

Mount point disappears ...

@vibhansa-msft
Copy link
Member

This file open flags is a warning and its safe to ignore that. When you say "mount disappears" what do you mean?
Can you share the log file where blobfuse failed to mount or if its crashing you can mount in foreground using "--foreground" cli flag and then share console output when it crashes. Foreground mount will block your shell so you will need to run your workflow on another shell.

@sandip094
Copy link
Author

Hello @vibhansa-msft ,

The issue occurs only with the latest version (2.4.0). After downgrading to version 2.3.2, the backup runs without any problems.

With the latest version, the system is running out of memory, causing Blobfuse to crash and the mount to disappear. Logs generated using the foreground option have already been shared.

@vibhansa-msft
Copy link
Member

Interesting that it used to work fine on 2.3.2. Post block-cache config also you observe the same ? I see that console log was shared earlier and it was crashing saying "out of memory" which means there is some sort of memory leak. In one of our other tool we observed the same some time back and was root-caused to a Go lang upgrade. I assume we are hitting the same here. Is it possible for you to build the code from source and validate this part ? I can help you on how to build the binary and all.

@sandip094
Copy link
Author

Hello @vibhansa-msft ,
Thanks for clarification.
I will be happy to build the code from source and validate,let me the know the process and will follow.

Regards
sandeep

@vibhansa-msft
Copy link
Member

You can git clone this repo and then checkout "blobfuse/2.4.1" branch where we have pushed this change set. To build the code just execute "./build.sh" on workspace root and it will create blobfuse binary for you. You just need to replace your existing binary with this new one and you are good to go.

Just in case you do not have golang installed on your system, on the workspace root you can execute "./go_installer.sh ../" and that shall do the trick. Once installed you can start with the build mentioned in above text.

@vibhansa-msft
Copy link
Member

Did it help ?

@sandip094
Copy link
Author

Hello @vibhansa-msft ,
Apologies for the delayed response. Unfortunately, we are unable to reproduce the issue even with the latest version. Strangely, the issue no longer appears in the latest version.

@vibhansa-msft
Copy link
Member

Great, then we will close this item here. If you hit the issue again you can reopen this or create a new one and we can investigate from there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants