google / gvisor

Application Kernel for Containers

Home Page:https://gvisor.dev

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

x86_64: Unhandled user fault: addr=0 ip=7efcd10002b4 access=r-- sig=11 err=bad address

chenchun opened this issue · comments

Description

Presto sql failed and pods kept crash when I run tpcds test against presto runsc ptrace container with hostnet. Whereas if I change to netstack, the sql runs ok.

Running sample-queries-tpcds/query2.sql, presto output:

Query 20220316_075854_00007_ievhn failed: Encountered too many errors talking to a worker node. The node may have crashed or be under too much load. This is probably a transient issue, so please retry your query in a few minutes. (http://172.16.0.187:8080/v1/task/20220316_075854_00007_ievhn.2.15/results/13/0 - 100 failures, failure duration 300.23s, total failed request time 302.41s)

Lots of presto worker pod dies frequently when sql starts running.

image

runsc throws "Unhandled user fault".

D0316 15:56:09.379086  104310 transport_flipcall.go:127] send [channel @0xc0002a6600] Twalkgetattr{FID: 543, NewFID: 598, Names: [jfr.jar]}
D0316 15:56:09.379138  104310 transport_flipcall.go:238] recv [channel @0xc0002a6600] Rlerror{Error: 2}
D0316 15:56:09.379464  104310 transport_flipcall.go:127] send [channel @0xc0002a6600] Twalkgetattr{FID: 538, NewFID: 598, Names: [classes]}
D0316 15:56:09.379525  104310 transport_flipcall.go:238] recv [channel @0xc0002a6600] Rlerror{Error: 2}
D0316 15:56:09.379650  104310 transport_flipcall.go:127] send [channel @0xc0002a6600] Twalkgetattr{FID: 543, NewFID: 598, Names: [meta-index]}
D0316 15:56:09.379743  104310 transport_flipcall.go:238] recv [channel @0xc0002a6600] Rwalkgetattr{Valid: AttrMask{with: Mode NLink UID GID RDev ATime MTime CTime Size Blocks}, Attr: Attr{Mode: 0o100644, UID: 0, GID: 0, NLink
: 1, RDev: 0, Size: 1922, BlockSize: 4096, Blocks: 8, ATime: {Sec: 1540231523, NanoSec: 0}, MTime: {Sec: 1540231523, NanoSec: 0}, CTime: {Sec: 1647414483, NanoSec: 458739639}, BTime: {Sec: 0, NanoSec: 0}, Gen: 0, DataVersion:
 0}, QIDs: [QID{Type: 0, Version: 0, Path: 1452687}]}
D0316 15:56:09.379757  104310 transport_flipcall.go:127] send [channel @0xc0002a6600] Twalk{FID: 598, NewFID: 599, Names: []}
D0316 15:56:09.379820  104310 transport_flipcall.go:238] recv [channel @0xc0002a6600] Rwalk{QIDs: []}
D0316 15:56:09.379831  104310 transport_flipcall.go:127] send [channel @0xc0002a6600] Tlopen{FID: 599, Flags: ReadOnly}
D0316 15:56:09.379888  104310 transport_flipcall.go:238] recv [channel @0xc0002a6600] Rlopen{QID: QID{Type: 0, Version: 0, Path: 1452687}, IoUnit: 0, File: FD: 275}
D0316 15:56:09.382509  104310 task_run.go:295] [   4:   8] Unhandled user fault: addr=0 ip=7efcd10002b4 access=r-- sig=11 err=bad address
D0316 15:56:09.382541  104310 task_log.go:87] [   4:   8] Registers:
D0316 15:56:09.382557  104310 task_log.go:94] [   4:   8] Cs       = 0000000000000033
D0316 15:56:09.382563  104310 task_log.go:94] [   4:   8] Ds       = 0000000000000000
D0316 15:56:09.382569  104310 task_log.go:94] [   4:   8] Eflags   = 0000000000210246
D0316 15:56:09.382575  104310 task_log.go:94] [   4:   8] Es       = 0000000000000000
D0316 15:56:09.382587  104310 task_log.go:94] [   4:   8] Fs       = 0000000000000000
D0316 15:56:09.382592  104310 task_log.go:94] [   4:   8] Fs_base  = 00007efce9d5b700
D0316 15:56:09.382598  104310 task_log.go:94] [   4:   8] Gs       = 0000000000000000
D0316 15:56:09.382603  104310 task_log.go:94] [   4:   8] Gs_base  = 0000000000000000
D0316 15:56:09.382609  104310 task_log.go:94] [   4:   8] Orig_rax = ffffffffffffffff
D0316 15:56:09.382614  104310 task_log.go:94] [   4:   8] R10      = 00007efcd1000364
D0316 15:56:09.382619  104310 task_log.go:94] [   4:   8] R11      = 0000000000000000
D0316 15:56:09.382625  104310 task_log.go:94] [   4:   8] R12      = 00007efce9d5aa30
D0316 15:56:09.382630  104310 task_log.go:94] [   4:   8] R13      = 00007efce8119a18
D0316 15:56:09.382635  104310 task_log.go:94] [   4:   8] R14      = 00007efce000cf50
D0316 15:56:09.382640  104310 task_log.go:94] [   4:   8] R15      = 00007efce000b950
D0316 15:56:09.382646  104310 task_log.go:94] [   4:   8] R8       = 0000000cffffffff
D0316 15:56:09.382653  104310 task_log.go:94] [   4:   8] R9       = 000000000000000c
D0316 15:56:09.382658  104310 task_log.go:94] [   4:   8] Rax      = 0000000000000006
D0316 15:56:09.382663  104310 task_log.go:94] [   4:   8] Rbp      = 00007efce8149400
D0316 15:56:09.382669  104310 task_log.go:94] [   4:   8] Rbx      = 00000000030c0800
D0316 15:56:09.382674  104310 task_log.go:94] [   4:   8] Rcx      = 00000000cafebabe
D0316 15:56:09.382679  104310 task_log.go:94] [   4:   8] Rdi      = 00007efce8149400
D0316 15:56:09.382684  104310 task_log.go:94] [   4:   8] Rdx      = 0000000000000000
D0316 15:56:09.382691  104310 task_log.go:94] [   4:   8] Rip      = 00007efcd10002b4
D0316 15:56:09.382696  104310 task_log.go:94] [   4:   8] Rsi      = 0000000000000000
D0316 15:56:09.382702  104310 task_log.go:94] [   4:   8] Rsp      = 00007efce9d5a7d8
D0316 15:56:09.382707  104310 task_log.go:94] [   4:   8] Ss       = 000000000000002b
D0316 15:56:09.382712  104310 task_log.go:111] [   4:   8] Stack:
D0316 15:56:09.382718  104310 task_log.go:128] [   4:   8] 7efce9d5a7d0: 21 01 00 2c 00 00 00 00 46 02 00 00 00 00 00 00
D0316 15:56:09.382725  104310 task_log.go:128] [   4:   8] 7efce9d5a7e0: 60 01 00 d1 fc 7e 00 00 bc 93 14 e8 fc 7e 00 00
D0316 15:56:09.382730  104310 task_log.go:128] [   4:   8] 7efce9d5a7f0: 00 aa d5 e9 fc 7e 00 00 1d d7 c7 e7 fc 7e 00 00
D0316 15:56:09.382736  104310 task_log.go:128] [   4:   8] 7efce9d5a800: 05 00 00 00 00 00 00 00 ff ff ff ff ff ff ff ff
D0316 15:56:09.382741  104310 task_log.go:128] [   4:   8] 7efce9d5a810: ff ff ff ff f0 00 00 00 b8 d8 06 e8 fc 7e 00 00
D0316 15:56:09.382747  104310 task_log.go:128] [   4:   8] 7efce9d5a820: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
D0316 15:56:09.382752  104310 task_log.go:128] [   4:   8] 7efce9d5a830: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
D0316 15:56:09.382758  104310 task_log.go:128] [   4:   8] 7efce9d5a840: 05 00 00 00 00 00 00 00 ff ff ff ff ff ff ff ff
D0316 15:56:09.382764  104310 task_log.go:128] [   4:   8] 7efce9d5a850: ff ff ff ff 10 00 00 00 b8 d8 06 e8 fc 7e 00 00
D0316 15:56:09.382770  104310 task_log.go:128] [   4:   8] 7efce9d5a860: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
D0316 15:56:09.382775  104310 task_log.go:128] [   4:   8] 7efce9d5a870: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
D0316 15:56:09.382781  104310 task_log.go:128] [   4:   8] 7efce9d5a880: 05 00 00 00 00 00 00 00 ff ff ff ff ff ff ff ff
D0316 15:56:09.382787  104310 task_log.go:128] [   4:   8] 7efce9d5a890: ff ff ff ff 20 00 00 00 b8 d8 06 e8 fc 7e 00 00
D0316 15:56:09.382792  104310 task_log.go:128] [   4:   8] 7efce9d5a8a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
D0316 15:56:09.382797  104310 task_log.go:128] [   4:   8] 7efce9d5a8b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
D0316 15:56:09.382803  104310 task_log.go:128] [   4:   8] 7efce9d5a8c0: 05 00 00 00 00 00 00 00 ff ff ff ff ff ff ff ff
D0316 15:56:09.382809  104310 task_log.go:128] [   4:   8] 7efce9d5a8d0: ff ff ff ff 60 00 00 00 b8 d8 06 e8 fc 7e 00 00
D0316 15:56:09.382826  104310 task_log.go:128] [   4:   8] 7efce9d5a8e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
D0316 15:56:09.382832  104310 task_log.go:128] [   4:   8] 7efce9d5a8f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
D0316 15:56:09.382837  104310 task_log.go:128] [   4:   8] 7efce9d5a900: 05 00 00 00 00 00 00 00 ff ff ff ff ff ff ff ff
D0316 15:56:09.382843  104310 task_log.go:128] [   4:   8] 7efce9d5a910: ff ff ff ff 50 00 00 00 b8 d8 06 e8 fc 7e 00 00
D0316 15:56:09.382848  104310 task_log.go:128] [   4:   8] 7efce9d5a920: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
D0316 15:56:09.382854  104310 task_log.go:128] [   4:   8] 7efce9d5a930: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
D0316 15:56:09.382867  104310 task_log.go:128] [   4:   8] 7efce9d5a940: 05 00 00 00 00 00 00 00 ff ff ff ff ff ff ff ff
D0316 15:56:09.382873  104310 task_log.go:128] [   4:   8] 7efce9d5a950: ff ff ff ff 40 00 00 00 b8 d8 06 e8 fc 7e 00 00
D0316 15:56:09.382878  104310 task_log.go:128] [   4:   8] 7efce9d5a960: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
D0316 15:56:09.382884  104310 task_log.go:128] [   4:   8] 7efce9d5a970: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
D0316 15:56:09.382890  104310 task_log.go:128] [   4:   8] 7efce9d5a980: 05 00 00 00 00 00 00 00 ff ff ff ff ff ff ff ff
D0316 15:56:09.382895  104310 task_log.go:128] [   4:   8] 7efce9d5a990: ff ff ff ff 00 00 00 00 b8 d8 06 e8 fc 7e 00 00
D0316 15:56:09.382901  104310 task_log.go:128] [   4:   8] 7efce9d5a9a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
D0316 15:56:09.382906  104310 task_log.go:128] [   4:   8] 7efce9d5a9b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
D0316 15:56:09.382913  104310 task_log.go:128] [   4:   8] 7efce9d5a9c0: 50 b9 00 e0 fc 7e 00 00 00 04 87 1b 8d 48 a9 a2
D0316 15:56:09.382918  104310 task_log.go:128] [   4:   8] 7efce9d5a9d0: 00 aa d5 e9 fc 7e 00 00 60 aa d5 e9 fc 7e 00 00
D0316 15:56:09.382924  104310 task_log.go:128] [   4:   8] 7efce9d5a9e0: 30 aa d5 e9 fc 7e 00 00 40 b9 00 e0 fc 7e 00 00
D0316 15:56:09.382930  104310 task_log.go:128] [   4:   8] 7efce9d5a9f0: 50 cf 00 e0 fc 7e 00 00 50 b9 00 e0 fc 7e 00 00
D0316 15:56:09.382936  104310 task_log.go:128] [   4:   8] 7efce9d5aa00: 20 ac d5 e9 fc 7e 00 00 06 eb c7 e7 fc 7e 00 00
D0316 15:56:09.382941  104310 task_log.go:128] [   4:   8] 7efce9d5aa10: 90 aa d5 e9 fc 7e 00 00 d8 03 00 00 00 00 00 00
D0316 15:56:09.382947  104310 task_log.go:128] [   4:   8] 7efce9d5aa20: d0 18 0f e8 fc 7e 00 00 28 bd 00 e0 fc 7e 00 00
D0316 15:56:09.382952  104310 task_log.go:128] [   4:   8] 7efce9d5aa30: d0 18 0f e8 fc 7e 00 00 50 b9 00 e0 fc 7e 00 00
D0316 15:56:09.382958  104310 task_log.go:128] [   4:   8] 7efce9d5aa40: 70 b4 01 e0 fc 7e 00 00 70 b4 01 e0 fc 7e 00 00
D0316 15:56:09.382964  104310 task_log.go:128] [   4:   8] 7efce9d5aa50: 00 00 00 00 00 00 00 00 07 00 00 00 00 00 00 00
D0316 15:56:09.382971  104310 task_log.go:128] [   4:   8] 7efce9d5aa60: 21 2c cb e7 fc 7e 00 00 00 00 00 00 00 00 00 00
D0316 15:56:09.382977  104310 task_log.go:128] [   4:   8] 7efce9d5aa70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
D0316 15:56:09.382982  104310 task_log.go:128] [   4:   8] 7efce9d5aa80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
D0316 15:56:09.382988  104310 task_log.go:128] [   4:   8] 7efce9d5aa90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
D0316 15:56:09.382993  104310 task_log.go:128] [   4:   8] 7efce9d5aaa0: 00 00 00 00 00 00 00 00 00 00 00 00 7c 00 00 00
D0316 15:56:09.382999  104310 task_log.go:128] [   4:   8] 7efce9d5aab0: 60 aa d5 e9 fc 7e 00 00 60 01 00 d1 fc 7e 00 00
D0316 15:56:09.383004  104310 task_log.go:128] [   4:   8] 7efce9d5aac0: 00 00 00 00 00 00 00 00 7b 03 00 d1 fc 7e 00 00
D0316 15:56:09.383010  104310 task_log.go:128] [   4:   8] 7efce9d5aad0: b8 03 00 d1 fc 7e 00 00 00 00 00 00 00 00 00 00
D0316 15:56:09.383015  104310 task_log.go:128] [   4:   8] 7efce9d5aae0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
D0316 15:56:09.383021  104310 task_log.go:128] [   4:   8] 7efce9d5aaf0: 60 01 00 d1 fc 7e 00 00 00 00 01 00 00 00 00 00
D0316 15:56:09.383029  104310 task_log.go:128] [   4:   8] 7efce9d5ab00: 60 aa d5 e9 fc 7e 00 00 00 00 00 00 00 00 00 00
D0316 15:56:09.383035  104310 task_log.go:128] [   4:   8] 7efce9d5ab10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
D0316 15:56:09.383042  104310 task_log.go:128] [   4:   8] 7efce9d5ab20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
D0316 15:56:09.383047  104310 task_log.go:128] [   4:   8] 7efce9d5ab30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
D0316 15:56:09.383053  104310 task_log.go:128] [   4:   8] 7efce9d5ab40: 00 00 00 00 00 00 00 00 00 00 02 e7 fc 7e 00 00
D0316 15:56:09.383058  104310 task_log.go:128] [   4:   8] 7efce9d5ab50: 60 aa d5 e9 fc 7e 00 00 00 00 00 00 00 00 00 00
D0316 15:56:09.383063  104310 task_log.go:128] [   4:   8] 7efce9d5ab60: 00 00 00 00 00 00 00 00 60 01 00 d1 fc 7e 00 00
D0316 15:56:09.383069  104310 task_log.go:128] [   4:   8] 7efce9d5ab70: 58 02 00 00 fc 7e 00 00 88 ab d5 e9 fc 7e 00 00
D0316 15:56:09.383074  104310 task_log.go:128] [   4:   8] 7efce9d5ab80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
D0316 15:56:09.383080  104310 task_log.go:128] [   4:   8] 7efce9d5ab90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
D0316 15:56:09.383086  104310 task_log.go:128] [   4:   8] 7efce9d5aba0: 00 00 00 00 00 00 00 00 00 04 87 1b 8d 48 a9 a2
D0316 15:56:09.383091  104310 task_log.go:128] [   4:   8] 7efce9d5abb0: 00 00 00 00 00 00 00 00 b0 02 ef 27 61 55 00 00
D0316 15:56:09.383097  104310 task_log.go:128] [   4:   8] 7efce9d5abc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
D0316 15:56:09.383102  104310 task_log.go:149] [   4:   8] Code:
D0316 15:56:09.383107  104310 task_log.go:167] [   4:   8] 7efcd1000270: 18 81 f9 00 00 00 18 75 57 33 c9 0f 01 d0 48 8d
D0316 15:56:09.383113  104310 task_log.go:167] [   4:   8] 7efcd1000280: b5 f0 00 00 00 89 06 89 56 04 83 e0 06 83 f8 06
D0316 15:56:09.383119  104310 task_log.go:167] [   4:   8] 7efcd1000290: 75 3e b9 be ba fe ca c5 f9 6e c1 c5 f9 70 c0 00
D0316 15:56:09.383124  104310 task_log.go:167] [   4:   8] 7efcd10002a0: c4 e3 7d 18 c0 01 c5 fe 6f f8 c5 7e 6f c0 c5 7e
D0316 15:56:09.383130  104310 task_log.go:167] [   4:   8] 7efcd10002b0: 6f f8 33 f6 8b 06 48 8d b5 f8 00 00 00 c5 fe 7f
D0316 15:56:09.383135  104310 task_log.go:167] [   4:   8] 7efcd10002c0: 06 c5 fe 7f 7e 20 c5 7e 7f 46 40 c5 7e 7f 7e 60
D0316 15:56:09.383140  104310 task_log.go:167] [   4:   8] 7efcd10002d0: b8 07 00 00 00 3b 45 00 7f 0d 33 c9 0f a2 48 8d
D0316 15:56:09.383146  104310 task_log.go:167] [   4:   8] 7efcd10002e0: 75 30 89 06 89 5e 04 b8 00 00 00 80 0f a2 81 f8
D0316 15:56:09.383151  104310 task_log.go:71] [   4:   8] Mappings:
VMAs:
556127cec000-556127ced000 r-xp 00000000 00:0f 712                        /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
556127eec000-556127eed000 r--p 00000000 00:0f 712                        /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
556127eed000-556127eee000 rw-p 00001000 00:0f 712                        /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
556127eee000-556127f0f000 rw-p 00000000 00:00 0                          [heap]
7efcd1000000-7efcd1270000 rwxp 00000000 00:00 0 
7efcd1270000-7efce0000000 ---p 00000000 00:00 0 
7efce0000000-7efce0021000 rw-p 00000000 00:00 0 
7efce0021000-7efce4000000 ---p 00000000 00:00 0 
7efce4200000-7efce420a000 rw-p 00000000 00:00 0 
7efce420a000-7efce45c0000 ---p 00000000 00:00 0 
7efce4600000-7efce4608000 r-xp 00000000 00:0f 891                        /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/libzip.so
7efce4608000-7efce4807000 ---p 00008000 00:0f 891                        /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/libzip.so
7efce4807000-7efce4808000 r--p 00007000 00:0f 891                        /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/libzip.so
7efce4808000-7efce4809000 rw-p 00008000 00:0f 891                        /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/libzip.so
7efce4a00000-7efce4a0a000 r-xp 00000000 00:0f 888                        /lib/x86_64-linux-gnu/libnss_files-2.24.so
7efce4a0a000-7efce4c0a000 ---p 0000a000 00:0f 888                        /lib/x86_64-linux-gnu/libnss_files-2.24.so
7efce4c0a000-7efce4c0b000 r--p 0000a000 00:0f 888                        /lib/x86_64-linux-gnu/libnss_files-2.24.so
7efce4c0b000-7efce4c0c000 rw-p 0000b000 00:0f 888                        /lib/x86_64-linux-gnu/libnss_files-2.24.so
7efce4c0c000-7efce4c12000 rw-p 00000000 00:00 0 
7efce4e00000-7efce4e0b000 r-xp 00000000 00:0f 886                        /lib/x86_64-linux-gnu/libnss_nis-2.24.so
7efce4e0b000-7efce500a000 ---p 0000b000 00:0f 886                        /lib/x86_64-linux-gnu/libnss_nis-2.24.so
7efce500a000-7efce500b000 r--p 0000a000 00:0f 886                        /lib/x86_64-linux-gnu/libnss_nis-2.24.so
7efce500b000-7efce500c000 rw-p 0000b000 00:0f 886                        /lib/x86_64-linux-gnu/libnss_nis-2.24.so
7efce5200000-7efce5214000 r-xp 00000000 00:0f 884                        /lib/x86_64-linux-gnu/libnsl-2.24.so
7efce5214000-7efce5414000 ---p 00014000 00:0f 884                        /lib/x86_64-linux-gnu/libnsl-2.24.so
7efce5414000-7efce5415000 r--p 00014000 00:0f 884                        /lib/x86_64-linux-gnu/libnsl-2.24.so
7efce5415000-7efce5416000 rw-p 00015000 00:0f 884                        /lib/x86_64-linux-gnu/libnsl-2.24.so
7efce5416000-7efce5418000 rw-p 00000000 00:00 0 
7efce5600000-7efce5607000 r-xp 00000000 00:0f 882                        /lib/x86_64-linux-gnu/libnss_compat-2.24.so
7efce5607000-7efce5806000 ---p 00007000 00:0f 882                        /lib/x86_64-linux-gnu/libnss_compat-2.24.so
7efce5806000-7efce5807000 r--p 00006000 00:0f 882                        /lib/x86_64-linux-gnu/libnss_compat-2.24.so
7efce5807000-7efce5808000 rw-p 00007000 00:0f 882                        /lib/x86_64-linux-gnu/libnss_compat-2.24.so
7efce5a00000-7efce5a2d000 r-xp 00000000 00:0f 717                        /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/libjava.so
7efce5a2d000-7efce5c2d000 ---p 0002d000 00:0f 717                        /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/libjava.so
7efce5c2d000-7efce5c2e000 r--p 0002d000 00:0f 717                        /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/libjava.so
7efce5c2e000-7efce5c30000 rw-p 0002e000 00:0f 717                        /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/libjava.so
7efce5e00000-7efce5e0f000 r-xp 00000000 00:0f 876                        /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/libverify.so
7efce5e0f000-7efce600f000 ---p 0000f000 00:0f 876                        /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/libverify.so
7efce600f000-7efce6011000 r--p 0000f000 00:0f 876                        /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/libverify.so
7efce6011000-7efce6012000 rw-p 00011000 00:0f 876                        /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/libverify.so
7efce6200000-7efce6207000 r-xp 00000000 00:0f 875                        /lib/x86_64-linux-gnu/librt-2.24.so
7efce6207000-7efce6406000 ---p 00007000 00:0f 875                        /lib/x86_64-linux-gnu/librt-2.24.so
7efce6406000-7efce6407000 r--p 00006000 00:0f 875                        /lib/x86_64-linux-gnu/librt-2.24.so
7efce6407000-7efce6408000 rw-p 00007000 00:0f 875                        /lib/x86_64-linux-gnu/librt-2.24.so
7efce6600000-7efce6616000 r-xp 00000000 00:0f 725                        /lib/x86_64-linux-gnu/libgcc_s.so.1
7efce6616000-7efce6815000 ---p 00016000 00:0f 725                        /lib/x86_64-linux-gnu/libgcc_s.so.1
7efce6815000-7efce6816000 r--p 00015000 00:0f 725                        /lib/x86_64-linux-gnu/libgcc_s.so.1
7efce6816000-7efce6817000 rw-p 00016000 00:0f 725                        /lib/x86_64-linux-gnu/libgcc_s.so.1
7efce6a00000-7efce6b03000 r-xp 00000000 00:0f 46                         /lib/x86_64-linux-gnu/libm-2.24.so
7efce6b03000-7efce6d02000 ---p 00103000 00:0f 46                         /lib/x86_64-linux-gnu/libm-2.24.so
7efce6d02000-7efce6d03000 r--p 00102000 00:0f 46                         /lib/x86_64-linux-gnu/libm-2.24.so
7efce6d03000-7efce6d04000 rw-p 00103000 00:0f 46                         /lib/x86_64-linux-gnu/libm-2.24.so
7efce6e00000-7efce6f72000 r-xp 00000000 00:0f 724                        /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.22
7efce6f72000-7efce7172000 ---p 00172000 00:0f 724                        /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.22
7efce7172000-7efce717c000 r--p 00172000 00:0f 724                        /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.22
7efce717c000-7efce717e000 rw-p 0017c000 00:0f 724                        /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.22
7efce717e000-7efce7182000 rw-p 00000000 00:00 0 
7efce7200000-7efce7e5f000 r-xp 00000000 00:0f 722                        /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/libjvm.so
7efce7e5f000-7efce805e000 ---p 00c5f000 00:0f 722                        /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/libjvm.so
7efce805e000-7efce80f2000 r--p 00c5e000 00:0f 722                        /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/libjvm.so
7efce80f2000-7efce811b000 rw-p 00cf2000 00:0f 722                        /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/libjvm.so
7efce811b000-7efce814b000 rw-p 00000000 00:00 0 
7efce8200000-7efce8395000 r-xp 00000000 00:0f 48                         /lib/x86_64-linux-gnu/libc-2.24.so
7efce8395000-7efce8595000 ---p 00195000 00:0f 48                         /lib/x86_64-linux-gnu/libc-2.24.so
7efce8595000-7efce8599000 r--p 00195000 00:0f 48                         /lib/x86_64-linux-gnu/libc-2.24.so
7efce8599000-7efce859b000 rw-p 00199000 00:0f 48                         /lib/x86_64-linux-gnu/libc-2.24.so
7efce859b000-7efce859f000 rw-p 00000000 00:00 0 
7efce8600000-7efce8603000 r-xp 00000000 00:0f 38                         /lib/x86_64-linux-gnu/libdl-2.24.so
7efce8603000-7efce8802000 ---p 00003000 00:0f 38                         /lib/x86_64-linux-gnu/libdl-2.24.so
7efce8802000-7efce8803000 r--p 00002000 00:0f 38                         /lib/x86_64-linux-gnu/libdl-2.24.so
7efce8803000-7efce8804000 rw-p 00003000 00:0f 38                         /lib/x86_64-linux-gnu/libdl-2.24.so
7efce8a00000-7efce8a0d000 r-xp 00000000 00:0f 716                        /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/jli/libjli.so
7efce8a0d000-7efce8c0d000 ---p 0000d000 00:0f 716                        /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/jli/libjli.so
7efce8c0d000-7efce8c0e000 r--p 0000d000 00:0f 716                        /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/jli/libjli.so
7efce8c0e000-7efce8c0f000 rw-p 0000e000 00:0f 716                        /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/jli/libjli.so
7efce8e00000-7efce8e19000 r-xp 00000000 00:0f 44                         /lib/x86_64-linux-gnu/libz.so.1.2.8
7efce8e19000-7efce9018000 ---p 00019000 00:0f 44                         /lib/x86_64-linux-gnu/libz.so.1.2.8
7efce9018000-7efce9019000 r--p 00018000 00:0f 44                         /lib/x86_64-linux-gnu/libz.so.1.2.8
7efce9019000-7efce901a000 rw-p 00019000 00:0f 44                         /lib/x86_64-linux-gnu/libz.so.1.2.8
7efce9200000-7efce9218000 r-xp 00000000 00:0f 36                         /lib/x86_64-linux-gnu/libpthread-2.24.so
7efce9218000-7efce9417000 ---p 00018000 00:0f 36                         /lib/x86_64-linux-gnu/libpthread-2.24.so
7efce9417000-7efce9418000 r--p 00017000 00:0f 36                         /lib/x86_64-linux-gnu/libpthread-2.24.so
7efce9418000-7efce9419000 rw-p 00018000 00:0f 36                         /lib/x86_64-linux-gnu/libpthread-2.24.so
7efce9419000-7efce941d000 rw-p 00000000 00:00 0 
7efce9600000-7efce9601000 r-xp 00000000 00:0f 704                        /presto/bin/procname/Linux-x86_64/libprocname.so
7efce9601000-7efce9800000 ---p 00001000 00:0f 704                        /presto/bin/procname/Linux-x86_64/libprocname.so
7efce9800000-7efce9801000 rw-p 00000000 00:0f 704                        /presto/bin/procname/Linux-x86_64/libprocname.so
7efce9a00000-7efce9a23000 r-xp 00000000 00:0f 33                         /lib/x86_64-linux-gnu/ld-2.24.so
7efce9c23000-7efce9c24000 r--p 00023000 00:0f 33                         /lib/x86_64-linux-gnu/ld-2.24.so
7efce9c24000-7efce9c25000 rw-p 00024000 00:0f 33                         /lib/x86_64-linux-gnu/ld-2.24.so
7efce9c25000-7efce9c26000 rw-p 00000000 00:00 0 
7efce9c53000-7efce9c5b000 rw-s 00000000 00:0f 890                        /tmp/hsperfdata_presto/3
7efce9c5b000-7efce9c5f000 ---p 00000000 00:00 0 
7efce9c5f000-7efce9d5e000 rw-p 00000000 00:00 0 
7efce9d61000-7efce9d62000 rw-p 00000000 00:00 0 
7efce9d62000-7efce9d63000 r--p 00000000 00:00 0 
7efce9d63000-7efce9d65000 rw-p 00000000 00:00 0 
7efce9d65000-7efce9d66000 r--p 00000000 00:00 0                          [vvar]
7efce9d66000-7efce9d68000 r-xp 00000000 00:00 0 
7fb88ba1d000-7fb88c21d000 rw-p 00000000 00:00 0                          [stack]
PMAs:
556127cec000-556127ced000 r-xp 00450000 *pgalloc.MemoryFile
556127eec000-556127eed000 r--p 005df000 *pgalloc.MemoryFile
556127eed000-556127eee000 rw-p 005e0000 *pgalloc.MemoryFile
556127eee000-556127f0f000 rw-p 00860000 *pgalloc.MemoryFile
7efcd1000000-7efcd1200000 rwxp 01200000 *pgalloc.MemoryFile
7efce0000000-7efce0021000 rw-p 009be000 *pgalloc.MemoryFile
7efce4200000-7efce420a000 rw-p 00896000 *pgalloc.MemoryFile
7efce4600000-7efce4608000 r-xs 00000000 *gofer.dentryPlatformFile
7efce4807000-7efce4808000 r--p 00894000 *pgalloc.MemoryFile
7efce4808000-7efce4809000 rw-p 00895000 *pgalloc.MemoryFile
7efce4a00000-7efce4a0a000 r-xs 00000000 *gofer.dentryPlatformFile
7efce4c0a000-7efce4c0b000 r--p 00889000 *pgalloc.MemoryFile
7efce4c0b000-7efce4c12000 rw-p 0088a000 *pgalloc.MemoryFile
7efce4e00000-7efce4e0b000 r-xs 00000000 *gofer.dentryPlatformFile
7efce500a000-7efce500b000 r--p 00887000 *pgalloc.MemoryFile
7efce500b000-7efce500c000 rw-p 00888000 *pgalloc.MemoryFile
7efce5200000-7efce5214000 r-xs 00000000 *gofer.dentryPlatformFile
7efce5414000-7efce5415000 r--p 00883000 *pgalloc.MemoryFile
7efce5415000-7efce5418000 rw-p 00884000 *pgalloc.MemoryFile
7efce5600000-7efce5607000 r-xs 00000000 *gofer.dentryPlatformFile
7efce5806000-7efce5807000 r--p 00881000 *pgalloc.MemoryFile
7efce5807000-7efce5808000 rw-p 00882000 *pgalloc.MemoryFile
7efce5a00000-7efce5a2d000 r-xs 00000000 *gofer.dentryPlatformFile
7efce5c2d000-7efce5c2e000 r--p 006c3000 *pgalloc.MemoryFile
7efce5c2e000-7efce5c30000 rw-p 006c4000 *pgalloc.MemoryFile
7efce5e00000-7efce5e0f000 r-xs 00000000 *gofer.dentryPlatformFile
7efce600f000-7efce6011000 r--p 006be000 *pgalloc.MemoryFile
7efce6011000-7efce6012000 rw-p 006c0000 *pgalloc.MemoryFile
7efce6200000-7efce6207000 r-xs 00000000 *gofer.dentryPlatformFile
7efce6406000-7efce6407000 r--p 006bc000 *pgalloc.MemoryFile
7efce6407000-7efce6408000 rw-p 006bd000 *pgalloc.MemoryFile
7efce6600000-7efce6616000 r-xs 00000000 *gofer.dentryPlatformFile
7efce6815000-7efce6816000 r--p 006ba000 *pgalloc.MemoryFile
7efce6816000-7efce6817000 rw-p 006bb000 *pgalloc.MemoryFile
7efce6a00000-7efce6b03000 r-xs 00000000 *gofer.dentryPlatformFile
7efce6d02000-7efce6d03000 r--p 005e4000 *pgalloc.MemoryFile
7efce6d03000-7efce6d04000 rw-p 005e5000 *pgalloc.MemoryFile
7efce6e00000-7efce6f72000 r-xs 00000000 *gofer.dentryPlatformFile
7efce7172000-7efce717c000 r--p 00604000 *pgalloc.MemoryFile
7efce717c000-7efce7182000 rw-p 0060e000 *pgalloc.MemoryFile
7efce7200000-7efce7e5f000 r-xs 00000000 *gofer.dentryPlatformFile
7efce805e000-7efce80f2000 r--p 00901000 *pgalloc.MemoryFile
7efce80f2000-7efce811b000 rw-p 00995000 *pgalloc.MemoryFile
7efce811b000-7efce814b000 rw-p 00b3b000 *pgalloc.MemoryFile
7efce8200000-7efce8395000 r-xs 00000000 *gofer.dentryPlatformFile
7efce8595000-7efce8599000 r--p 00449000 *pgalloc.MemoryFile
7efce8599000-7efce859b000 rw-p 0044d000 *pgalloc.MemoryFile
7efce859b000-7efce859f000 rw-p 005d9000 *pgalloc.MemoryFile
7efce8600000-7efce8603000 r-xs 00000000 *gofer.dentryPlatformFile
7efce8802000-7efce8803000 r--p 00447000 *pgalloc.MemoryFile
7efce8803000-7efce8804000 rw-p 00448000 *pgalloc.MemoryFile
7efce8a00000-7efce8a0d000 r-xs 00000000 *gofer.dentryPlatformFile
7efce8c0d000-7efce8c0e000 r--p 00445000 *pgalloc.MemoryFile
7efce8c0e000-7efce8c0f000 rw-p 00446000 *pgalloc.MemoryFile
7efce8e00000-7efce8e19000 r-xs 00000000 *gofer.dentryPlatformFile
7efce9018000-7efce9019000 r--p 00443000 *pgalloc.MemoryFile
7efce9019000-7efce901a000 rw-p 00444000 *pgalloc.MemoryFile
7efce9200000-7efce9218000 r-xs 00000000 *gofer.dentryPlatformFile
7efce9417000-7efce9418000 r--p 003d9000 *pgalloc.MemoryFile
7efce9418000-7efce9419000 rw-p 003da000 *pgalloc.MemoryFile
7efce9419000-7efce941d000 rw-p 0043f000 *pgalloc.MemoryFile
7efce9600000-7efce9601000 r-xs 00000000 *gofer.dentryPlatformFile
7efce9800000-7efce9801000 rw-p 00225000 *pgalloc.MemoryFile
7efce9a00000-7efce9a22000 r-xs 00000000 *gofer.dentryPlatformFile
7efce9a22000-7efce9a23000 r-xp 005e1000 *pgalloc.MemoryFile
7efce9c23000-7efce9c24000 r--p 005e2000 *pgalloc.MemoryFile
7efce9c24000-7efce9c25000 rw-p 005e3000 *pgalloc.MemoryFile
7efce9c25000-7efce9c26000 rw-p 00224000 *pgalloc.MemoryFile
7efce9c53000-7efce9c5b000 rw-s 00000000 *gofer.dentryPlatformFile
7efce9c5b000-7efce9c5c000 ---p 0106b000 *pgalloc.MemoryFile
7efce9c5c000-7efce9c5f000 ---p 00891000 *pgalloc.MemoryFile
7efce9c5f000-7efce9d5c000 rw-p 0106f000 *pgalloc.MemoryFile
7efce9d5c000-7efce9d5e000 rw-p 005dd000 *pgalloc.MemoryFile
7efce9d61000-7efce9d62000 rw-p 0044f000 *pgalloc.MemoryFile
7efce9d62000-7efce9d63000 r--p 003db000 *pgalloc.MemoryFile
7efce9d63000-7efce9d65000 rw-p 00228000 *pgalloc.MemoryFile
7efce9d65000-7efce9d66000 r--s 00002000 *pgalloc.MemoryFile
7efce9d66000-7efce9d68000 r-xs 00000000 *pgalloc.MemoryFile
7fb88c200000-7fb88c21d000 rw-p 005e7000 *pgalloc.MemoryFile

D0316 15:56:09.383526  104310 task_log.go:73] [   4:   8] FDTable:
        fd:0 => name /dev/null
        fd:1 => name host:[4]
        fd:2 => name host:[4]

D0316 15:56:09.383557  104310 task_signals.go:468] [   4:   8] Notified of signal 11
D0316 15:56:09.383569  104310 task_signals.go:221] [   4:   8] Signal 11: delivering to handler
D0316 15:56:09.487657  104310 transport_flipcall.go:127] send [channel @0xc0002a6600] Twalk{FID: 594, NewFID: 600, Names: []}
D0316 15:56:09.487791  104310 transport_flipcall.go:238] recv [channel @0xc0002a6600] Rwalk{QIDs: []}
D0316 15:56:09.487805  104310 transport_flipcall.go:127] send [channel @0xc0002a6600] Tlopen{FID: 600, Flags: ReadOnly}
D0316 15:56:09.487908  104310 transport_flipcall.go:238] recv [channel @0xc0002a6600] Rlopen{QID: QID{Type: 0, Version: 0, Path: 1452671}, IoUnit: 0, File: FD: 276}
D0316 15:56:09.519926  104310 transport_flipcall.go:127] send [channel @0xc0002a6600] Twalkgetattr{FID: 494, NewFID: 601, Names: [.hotspot_compiler]}
D0316 15:56:09.520279  104310 transport_flipcall.go:238] recv [channel @0xc0002a6600] Rlerror{Error: 2}
D0316 15:56:09.588547  104310 transport_flipcall.go:127] send [channel @0xc0002a6600] Twalkgetattr{FID: 543, NewFID: 601, Names: [ext]}
D0316 15:56:09.588754  104310 transport_flipcall.go:238] recv [channel @0xc0002a6600] Rwalkgetattr{Valid: AttrMask{with: Mode NLink UID GID RDev ATime MTime CTime Size Blocks}, Attr: Attr{Mode: 0o40755, UID: 0, GID: 0, NLink: 2, RDev: 0, Size: 4096, BlockSize: 4096, Blocks: 8, ATime: {Sec: 1549441859, NanoSec: 0}, MTime: {Sec: 1549441859, NanoSec: 0}, CTime: {Sec: 1647414484, NanoSec: 946765054}, BTime: {Sec: 0, NanoSec: 0}, Gen: 0, DataVersion: 0}, QIDs: [QID{Type: 128, Version: 0, Path: 1710998}]}

Steps to reproduce

I run tpcds test follow by https://github.com/hortonworks/hive-testbench.
I installed presto by https://github.com/wiwdata/presto-chart.

runsc version

latest master

No response

docker version (if using docker)

# containerd --version
containerd github.com/containerd/containerd v1.4.3 269548fa27e0089a8b8278fc4fc781d7f65a939b

uname

No response

kubectl (if using Kubernetes)

No response

repo state (if built from source)

No response

runsc debug logs (if available)

No response

Could you run it with strace enabled and provide the strace logs here?

Probably found what cause this problem but do not have proper solution.. @hbhasker

What happened in this issue:

  1. thread is in sentry context to send package using write/send
  2. Read end of this socket is closed, thread gets EPIPE and signal SIGPIPE
  3. sentry delivers SIGPIPE to init process of this pod.
  4. If init process use default action for SIGPIPE, it exits with 141.

So we may have two method to solve it.

  1. Do not forward SIGPIPE to sandbox.
  2. Forward SIGPIPE to right process.

Solution 1 is not good enough because we change the behavior of process.
Solution 2 is better but I have no idea to do this.

The reproducing step is as following.

  1. compile the following code gcc -lpthread server.c
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>                  
#include <errno.h>                   
#include <string.h>
#include <sys/types.h>                                                                      
#include <time.h>                                                                           
#include<pthread.h>
#include <signal.h>                    
                                                                                            
const char *addr ="127.0.0.1";           
int client(void)
{                                                                                           
        int sockfd = 0, n = 0;
        struct sockaddr_in serv_addr;

        if((sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0)      
        {             
                printf("\n Error : Could not create socket \n");
                return 1;
        }
                                              
        memset(&serv_addr, '0', sizeof(serv_addr));
        serv_addr.sin_family = AF_INET;
        serv_addr.sin_port = htons(5000);
        if(inet_pton(AF_INET, addr, &serv_addr.sin_addr)<=0)
        {                       
                printf("\n inet_pton error occured\n");
                return 1;
        }

        if( connect(sockfd, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) < 0)
        {                          
                printf("\n Error : Connect Failed \n");
                return 1;                                                                   
        }        
        sleep(1);                                                                           
        n = write(sockfd, "x", 1);
        if (n < 0) {
                perror("[client] failed to send");
        }
        printf("[client] sending for 2st time, expect broken pipe\n");
        n = write(sockfd, "x", 1);
        if (n < 0) {
                perror("[client] failed to send");
        }
        return 0;
}
int server()
{
        int listenfd = 0, connfd = 0;
        struct sockaddr_in serv_addr;

        listenfd = socket(AF_INET, SOCK_STREAM, 0);
        memset(&serv_addr, '0', sizeof(serv_addr));

        serv_addr.sin_family = AF_INET;
        serv_addr.sin_addr.s_addr = htonl(INADDR_ANY);
        serv_addr.sin_port = htons(5000);

        bind(listenfd, (struct sockaddr*)&serv_addr, sizeof(serv_addr));

        listen(listenfd, 10);

        connfd = accept(listenfd, (struct sockaddr*)NULL, NULL);
        close(connfd);
        printf("[server: fd closed\n");
}

void *thread_server(void *ptr) {
        printf("server starting\n");
        server();
}

void *thread_client(void *ptr) {
        printf("client starting\n");
        client();
}

void main(void) {
        pthread_t thread1, thread2;
        signal(SIGPIPE, SIG_IGN);
        pthread_create(&thread1, NULL, *thread_server, NULL);
        sleep(1);
        pthread_create(&thread2, NULL, *thread_client, NULL);
        pause();
}
  1. run a container with sleep as init and with network=host.
docker run -d   --name=test-sigpipe --runtime=runsc-hostnet -v $(pwd):/tmp ubuntu sleep 10000

  1. exec into test-sigpipe and execute. /tmp/a.out
docker exec  -ti test-sigpipe   bash
[root@dc0a494aab7d /]# /tmp/a.out 
server starting
client starting
[server: fd closed
[client] sending for 2st time, expect broken pipe
  1. container exited with signal 13
$ docker ps -a
CONTAINER ID   IMAGE       COMMAND         CREATED         STATUS                       PORTS     NAMES
dc0a494aab7d   ubuntu   "sleep 10000"   2 minutes ago   Exited (141) 2 minutes ago             test-sigpipe

@nixprime probably has better suggestions on signal handling. Though unclear on why sentry is sending the signal to the sleep rather than then binary that is doing the write. Let me look at the signal handling and get back to you.