{"action":"created","issue":{"url":"https://api.github.com/repos/iovisor/bpftrace/issues/705","repository_url":"https://api.github.com/repos/iovisor/bpftrace","labels_url":"https://api.github.com/repos/iovisor/bpftrace/issues/705/labels{/name}","comments_url":"https://api.github.com/repos/iovisor/bpftrace/issues/705/comments","events_url":"https://api.github.com/repos/iovisor/bpftrace/issues/705/events","html_url":"https://github.com/iovisor/bpftrace/issues/705","id":451083332,"node_id":"MDU6SXNzdWU0NTEwODMzMzI=","number":705,"title":"Heavy loads can delay the async exit() builtin","user":{"login":"caringi","id":2509235,"node_id":"MDQ6VXNlcjI1MDkyMzU=","avatar_url":"https://avatars2.githubusercontent.com/u/2509235?v=4","gravatar_id":"","url":"https://api.github.com/users/caringi","html_url":"https://github.com/caringi","followers_url":"https://api.github.com/users/caringi/followers","following_url":"https://api.github.com/users/caringi/following{/other_user}","gists_url":"https://api.github.com/users/caringi/gists{/gist_id}","starred_url":"https://api.github.com/users/caringi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/caringi/subscriptions","organizations_url":"https://api.github.com/users/caringi/orgs","repos_url":"https://api.github.com/users/caringi/repos","events_url":"https://api.github.com/users/caringi/events{/privacy}","received_events_url":"https://api.github.com/users/caringi/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2019-06-01T13:00:44Z","updated_at":"2019-06-04T23:18:04Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"Recently, the exit() builtin has been modified to fix #228 (exit() function bypasses END probe processing). As noted by @danobi, this change is causing bpftrace to delay the async exit under heavy loads.\r\n\r\n```\r\n./src/bpftrace --unsafe -e 'i:ms:1 { system(\"echo 'ok_system'\"); exit();} END { printf(\"end\")}'\r\nAttaching 2 probes...\r\nok_system\r\nok_system\r\nok_system\r\nok_system\r\nok_system\r\nok_system\r\nok_system\r\nok_system\r\nok_system\r\nok_system\r\nok_system\r\nok_system\r\nok_system\r\nok_system\r\nok_system\r\nok_system\r\n```\r\n\r\n\r\nI'll submit a PR soon to fix this issue."},"comment":{"url":"https://api.github.com/repos/iovisor/bpftrace/issues/comments/498878027","html_url":"https://github.com/iovisor/bpftrace/issues/705#issuecomment-498878027","issue_url":"https://api.github.com/repos/iovisor/bpftrace/issues/705","id":498878027,"node_id":"MDEyOklzc3VlQ29tbWVudDQ5ODg3ODAyNw==","user":{"login":"ajor","id":1007446,"node_id":"MDQ6VXNlcjEwMDc0NDY=","avatar_url":"https://avatars3.githubusercontent.com/u/1007446?v=4","gravatar_id":"","url":"https://api.github.com/users/ajor","html_url":"https://github.com/ajor","followers_url":"https://api.github.com/users/ajor/followers","following_url":"https://api.github.com/users/ajor/following{/other_user}","gists_url":"https://api.github.com/users/ajor/gists{/gist_id}","starred_url":"https://api.github.com/users/ajor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ajor/subscriptions","organizations_url":"https://api.github.com/users/ajor/orgs","repos_url":"https://api.github.com/users/ajor/repos","events_url":"https://api.github.com/users/ajor/events{/privacy}","received_events_url":"https://api.github.com/users/ajor/received_events","type":"User","site_admin":false},"created_at":"2019-06-04T23:18:04Z","updated_at":"2019-06-04T23:18:04Z","author_association":"MEMBER","body":"I think this script would still cause the exit to be dropped sometimes though:\r\n\r\n```\r\ntracepoint:sched:sched_switch\r\n{\r\n  system(\"ls\");\r\n}\r\n\r\ninterval:s:10\r\n{\r\n  exit();\r\n}\r\n```\r\n\r\nIt gets a ton of messages along the lines of \"Lost x events\", which could easily include the exit() too. One solution could be to have a separate perf event buffer just for exit events, so it could never get overwhelmed.\r\n\r\nActually, when I run that script I also can't terminate with Ctrl-C..."}}
{"actor":{"display_login":"ajor"}}