Back to build
Raw log | Switch to full mode | Login

python -u /b/swarming/w/ir/kitchen-checkout/build/scripts/tools/runit.py --show-path --with-third-party-lib -- python /b/swarming/w/ir/kitchen-checkout/build/scripts/slave/recipe_modules/chromium_swarming/resources/collect_task.py --verbose -o /b/swarming/w/ir/tmp/t/tmp9ZHpmv.json --task-output-dir /b/swarming/w/ir/tmp/t/tmp2pdDlc --merge-script /b/swarming/w/ir/cache/builder/src/testing/merge_scripts/standard_gtest_merge.py --merge-script-stdout-file /b/swarming/w/ir/tmp/t/tmpW_n0Ipmerge_script_log --merge-additional-args '[]' --build-properties '{"bot_id": "swarm849-c4", "branch": "refs/heads/master", "buildbucket": {"build": {"bucket": "luci.chromium.ci", "created_by": "project:chromium", "created_ts": 1552982158901439, "id": "8918573895706074144", "project": "chromium", "tags": ["build_address:luci.chromium.ci/linux-blink-heap-verification/14649", "builder:linux-blink-heap-verification", "buildset:commit/git/37247cc91bffdc95e4ea208fea1c5c02b354a33c", "buildset:commit/gitiles/chromium.googlesource.com/chromium/src/+/37247cc91bffdc95e4ea208fea1c5c02b354a33c", "gitiles_ref:refs/heads/master", "scheduler_invocation_id:9084003957724469744", "scheduler_job_id:chromium/linux-blink-heap-verification", "user_agent:luci-scheduler"]}, "hostname": "cr-buildbucket.appspot.com"}, "buildername": "linux-blink-heap-verification", "buildnumber": 14649, "got_angle_revision": "38e282570676f3e434482f8a02ea539b286fd1fa", "got_dawn_revision": "fef613365afe5234c1bae9fe33c3d30698d27078", "got_nacl_revision": "1ed9878b8eb68c1e0d0268754dafcf83e747fa8f", "got_revision": "37247cc91bffdc95e4ea208fea1c5c02b354a33c", "got_revision_cp": "refs/heads/master@{#641826}", "got_swarming_client_revision": "7a61cf37d6a0163f0ec02d495289a1d038e62457", "got_v8_revision": "36585c1b6b1fd69d093706a6c4ad9775506a7885", "got_v8_revision_cp": "refs/heads/7.5.62@{#1}", "got_webrtc_revision": "7dbc0eb2efa4708da5e3e44d2a15bfdee4ceb474", "got_webrtc_revision_cp": "refs/heads/master@{#27160}", "mastername": "chromium.fyi", "path_config": "generic", "recipe": "chromium", "repository": "https://chromium.googlesource.com/chromium/src.git", "revision": "37247cc91bffdc95e4ea208fea1c5c02b354a33c"}' --summary-json-file /b/swarming/w/ir/tmp/t/tmp87hcTP.json -- swarming collect -server https://chromium-swarm.appspot.com -worker 50 -task-summary-python -task-output-stdout all -verbose -requests-json /b/swarming/w/ir/tmp/t/tmpJYQ9lS.json in dir /b/swarming/w/ir/k: allow_subannotations: True cmd: ['python', '-u', '/b/swarming/w/ir/kitchen-checkout/build/scripts/tools/runit.py', '--show-path', '--with-third-party-lib', '--', 'python', '/b/swarming/w/ir/kitchen-checkout/build/scripts/slave/recipe_modules/chromium_swarming/resources/collect_task.py', '--verbose', '-o', '/b/swarming/w/ir/tmp/t/tmp9ZHpmv.json', '--task-output-dir', '/b/swarming/w/ir/tmp/t/tmp2pdDlc', '--merge-script', '/b/swarming/w/ir/cache/builder/src/testing/merge_scripts/standard_gtest_merge.py', '--merge-script-stdout-file', '/b/swarming/w/ir/tmp/t/tmpW_n0Ipmerge_script_log', '--merge-additional-args', '[]', '--build-properties', '{"bot_id": "swarm849-c4", "branch": "refs/heads/master", "buildbucket": {"build": {"bucket": "luci.chromium.ci", "created_by": "project:chromium", "created_ts": 1552982158901439, "id": "8918573895706074144", "project": "chromium", "tags": ["build_address:luci.chromium.ci/linux-blink-heap-verification/14649", "builder:linux-blink-heap-verification", "buildset:commit/git/37247cc91bffdc95e4ea208fea1c5c02b354a33c", "buildset:commit/gitiles/chromium.googlesource.com/chromium/src/+/37247cc91bffdc95e4ea208fea1c5c02b354a33c", "gitiles_ref:refs/heads/master", "scheduler_invocation_id:9084003957724469744", "scheduler_job_id:chromium/linux-blink-heap-verification", "user_agent:luci-scheduler"]}, "hostname": "cr-buildbucket.appspot.com"}, "buildername": "linux-blink-heap-verification", "buildnumber": 14649, "got_angle_revision": "38e282570676f3e434482f8a02ea539b286fd1fa", "got_dawn_revision": "fef613365afe5234c1bae9fe33c3d30698d27078", "got_nacl_revision": "1ed9878b8eb68c1e0d0268754dafcf83e747fa8f", "got_revision": "37247cc91bffdc95e4ea208fea1c5c02b354a33c", "got_revision_cp": "refs/heads/master@{#641826}", "got_swarming_client_revision": "7a61cf37d6a0163f0ec02d495289a1d038e62457", "got_v8_revision": "36585c1b6b1fd69d093706a6c4ad9775506a7885", "got_v8_revision_cp": "refs/heads/7.5.62@{#1}", "got_webrtc_revision": "7dbc0eb2efa4708da5e3e44d2a15bfdee4ceb474", "got_webrtc_revision_cp": "refs/heads/master@{#27160}", "mastername": "chromium.fyi", "path_config": "generic", "recipe": "chromium", "repository": "https://chromium.googlesource.com/chromium/src.git", "revision": "37247cc91bffdc95e4ea208fea1c5c02b354a33c"}', '--summary-json-file', '/b/swarming/w/ir/tmp/t/tmp87hcTP.json', '--', 'swarming', 'collect', '-server', 'https://chromium-swarm.appspot.com', '-worker', '50', '-task-summary-python', '-task-output-stdout', 'all', '-verbose', '-requests-json', '/b/swarming/w/ir/tmp/t/tmpJYQ9lS.json'] env: {'CHROME_HEADLESS': '1'} env_prefixes: {'PATH': '/b/swarming/w/ir/cache/swarming_client'} env_suffixes: {} infra_step: False name_tokens: ('gin_unittests',) ok_ret: frozenset([0]) step_test_data: <lambda>(...) trigger_specs: () full environment: ADDRFAM: inet BOTO_CONFIG: /b/swarming/w/ir/tmp/gsutil_task/.boto BUILDBUCKET_EXPERIMENTAL: FALSE CHROME_HEADLESS: 1 CIPD_CACHE_DIR: /b/swarming/cipd_cache/cache CIPD_PROTOCOL: v2 DEVSHELL_CLIENT_PORT: 34049 DOCKER_CONFIG: /b/swarming/w/ir/tmp/docker_cfg_task DOCKER_TMPDIR: /b/swarming/w/ir/tmp/docker_tmp_task GIT_CONFIG_NOSYSTEM: 1 GIT_TERMINAL_PROMPT: 0 HOME: /home/chrome-bot IFACE: eth0 INFRA_GIT_WRAPPER_HOME: /b/swarming/w/ir/tmp/git_home_task LOGDOG_COORDINATOR_HOST: logs.chromium.org LOGDOG_STREAM_PREFIX: buildbucket/cr-buildbucket.appspot.com/8918573895706074144 LOGDOG_STREAM_PROJECT: chromium LOGDOG_STREAM_SERVER_PATH: unix:/b/swarming/w/ir/tmp/ld.sock LOGICAL: eth0 LUCI_CONTEXT: /b/swarming/w/itTok9Jq/luci_context.692157503 MAC_CHROMIUM_TMPDIR: /b/swarming/w/ir/tmp/t METHOD: dhcp NO_GCE_CHECK: False PATH: /b/swarming/w/ir/cache/swarming_client:/b/swarming/w/ir/cipd_bin_packages:/b/swarming/w/ir/cipd_bin_packages/bin:/b/swarming/cipd_cache/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin PWD: /b/swarming/w/ir/k PYTHONIOENCODING: UTF-8 PYTHONUNBUFFERED: 1 ROOT_SETUP_LOG: /var/log/messages/chromebuild/root-setup.log SHLVL: 1 STARTUP_LOG: /var/log/messages/chromebuild/startup.log SWARMING_BOT_ID: swarm849-c4 SWARMING_EXTERNAL_BOT_SETUP: 1 SWARMING_HEADLESS: 1 SWARMING_SERVER: https://chromium-swarm.appspot.com SWARMING_TASK_ID: 43adc4b732244e11 TEMP: /b/swarming/w/ir/tmp/t TEMPDIR: /b/swarming/w/ir/tmp/t TERM: linux TMP: /b/swarming/w/ir/tmp/t TMPDIR: /b/swarming/w/ir/tmp/t UPSTART_EVENTS: net-device-up UPSTART_INSTANCE: UPSTART_JOB: chromebuild-startup USER: chrome-bot USERNAME: chrome-bot VPYTHON_VIRTUALENV_ROOT: /b/swarming/w/ir/cache/vpython _: /b/swarming/w/ir/cipd_bin_packages/vpython Set PYTHONPATH: /b/swarming/w/ir/kitchen-checkout/build/scripts:/b/swarming/w/ir/kitchen-checkout/build/site_config:/b/swarming/w/ir/kitchen-checkout/build/third_party:/b/swarming/w/ir/kitchen-checkout/build/third_party/buildbot_8_4p1:/b/swarming/w/ir/kitchen-checkout/build/third_party/buildbot_slave_8_4:/b/swarming/w/ir/kitchen-checkout/build/third_party/coverage-3.7.1:/b/swarming/w/ir/kitchen-checkout/build/third_party/decorator_3_3_1:/b/swarming/w/ir/kitchen-checkout/build/third_party/google_api_python_client:/b/swarming/w/ir/kitchen-checkout/build/third_party/httplib2/python2:/b/swarming/w/ir/kitchen-checkout/build/third_party/infra_libs:/b/swarming/w/ir/kitchen-checkout/build/third_party/jinja2:/b/swarming/w/ir/kitchen-checkout/build/third_party/markupsafe:/b/swarming/w/ir/kitchen-checkout/build/third_party/oauth2client:/b/swarming/w/ir/kitchen-checkout/build/third_party/pyasn1:/b/swarming/w/ir/kitchen-checkout/build/third_party/pyasn1-modules:/b/swarming/w/ir/kitchen-checkout/build/third_party/python-rsa:/b/swarming/w/ir/kitchen-checkout/build/third_party/requests_2_10_0:/b/swarming/w/ir/kitchen-checkout/build/third_party/setuptools-0.6c11:/b/swarming/w/ir/kitchen-checkout/build/third_party/sqlalchemy_0_7_1:/b/swarming/w/ir/kitchen-checkout/build/third_party/sqlalchemy_migrate_0_7_1:/b/swarming/w/ir/kitchen-checkout/build/third_party/tempita_0_5:/b/swarming/w/ir/kitchen-checkout/build/third_party/twisted_10_2:/b/swarming/w/ir/kitchen-checkout/build/third_party/uritemplate:/b/swarming/w/ir/kitchen-checkout/build/third_party/site-packages 2019-03-19 01:02:55,427 - root: [DEBUG] Using task_output_dir: '/b/swarming/w/ir/tmp/t/tmp2pdDlc' 2019-03-19 01:02:55,428 - root: [WARNING] task_output_dir '/b/swarming/w/ir/tmp/t/tmp2pdDlc' already exists! 2019-03-19 01:02:55,428 - root: [WARNING] task_output_dir existing content: [] 2019-03-19 01:02:55,428 - root: [INFO] collect_cmd: swarming collect -server https://chromium-swarm.appspot.com -worker 50 -task-summary-python -task-output-stdout all -verbose -requests-json /b/swarming/w/ir/tmp/t/tmpJYQ9lS.json -output-dir /b/swarming/w/ir/tmp/t/tmp2pdDlc -task-summary-json /b/swarming/w/ir/tmp/t/tmp87hcTP.json [D2019-03-19T01:02:55.435760-07:00 13880 0 auth.go:1265] Minting a new token {"key":"luci_ctx/3ac417de21c35bff8ea47e880ac1219f11eb337194f0d3b19f4c07b0c2966785", "scopes":"https://www.googleapis.com/auth/userinfo.email"} [D2019-03-19T01:02:55.435828-07:00 13880 0 luci_ctx.go:138] POST http://127.0.0.1:42337/rpc/LuciLocalAuthService.GetOAuthToken {"key":"luci_ctx/3ac417de21c35bff8ea47e880ac1219f11eb337194f0d3b19f4c07b0c2966785", "scopes":"https://www.googleapis.com/auth/userinfo.email"} [D2019-03-19T01:02:55.438057-07:00 13880 0 auth.go:1222] Token expires in 38m1.562091284s {"key":"luci_ctx/3ac417de21c35bff8ea47e880ac1219f11eb337194f0d3b19f4c07b0c2966785", "scopes":"https://www.googleapis.com/auth/userinfo.email"} 43adc85deb5bc710: exit 0 Additional test environment: CHROME_DEVEL_SANDBOX=/opt/chromium/chrome_sandbox CHROME_HEADLESS=1 LANG=en_US.UTF-8 Command: ./gin_unittests --test-launcher-bot-mode --cfi-diag=0 --test-launcher-summary-output=/b/s/w/iolwBhUq/output.json IMPORTANT DEBUGGING NOTE: batches of tests are run inside their own process. For debugging a test inside a debugger, use the --gtest_filter=<your_test_name> flag along with --single-process-tests. Using sharding settings from environment. This is shard 0/1 Using 8 parallel jobs. [1/35] WrappableTest.MethodInvocationErrorsOnNamedObject (69 ms) [2/35] WrappableTest.LazyPropertyGetterIsCalledOnce (67 ms) [3/35] WrappableTest.LazyPropertyGetterCanBeSetFirst (66 ms) [4/35] WrappableTest.LazyPropertyGetterCanBindSpecialArguments (67 ms) [5/35] GinShellTest.HelloWorld (73 ms) [6/35] V8MemoryDumpProviderTest.DumpStatistics (70 ms) [7/35] V8MemoryDumpProviderTest.DumpContextStatistics (67 ms) [8/35] V8MemoryDumpProviderTest.DumpCodeStatistics (67 ms) [9/35] V8MemoryDumpProviderWorkerTest.DumpContextStatistics (67 ms) [10/35] V8PlatformTest.TraceStateObserverAPI (0 ms) [11/35] V8PlatformTest.TraceStateObserverFired (0 ms) [12/35] WrappableTest.WrapAndUnwrap (67 ms) [13/35] WrappableTest.UnwrapFailures (67 ms) [14/35] WrappableTest.GetAndSetProperty (66 ms) [15/35] WrappableTest.MethodInvocationErrorsOnUnnamedObject (66 ms) [16/35] ArgumentsTest.TestArgumentsHolderCreationContext (71 ms) [17/35] ArgumentsTest.TestGetAll (66 ms) [18/35] ArrayBufferTest.AllocateAndFreeBuffer (68 ms) [19/35] ConverterTest.Bool (67 ms) [20/35] ConverterTest.Int32 (67 ms) [21/35] ConverterTest.Vector (66 ms) [22/35] ConverterTest.VectorOfVectors (66 ms) [23/35] ConverterTest.VectorOfWrappables (67 ms) [24/35] DataObjectBuilderTest.CreatesDataProperties (67 ms) [25/35] DataObjectBuilderTest.DoesNotInvokeSetters (67 ms) [26/35] DataObjectBuilderTest.UnusableAfterBuild (72 ms) [27/35] DataObjectBuilderTest.ReplacesExistingProperties (66 ms) [28/35] DataObjectBuilderTest.CreatesDataPropertiesForIndices (67 ms) [29/35] InterceptorTest.NamedInterceptor (68 ms) [30/35] InterceptorTest.NamedInterceptorCall (66 ms) [31/35] InterceptorTest.IndexedInterceptor (68 ms) [32/35] InterceptorTest.BypassInterceptorAllowed (68 ms) [33/35] InterceptorTest.BypassInterceptorForbidden (67 ms) [34/35] PerContextDataTest.LookupAndDestruction (68 ms) [35/35] RunnerTest.Run (68 ms) SUCCESS: all tests passed. Tests took 0 seconds. 2019-03-19 01:02:55,795 - root: [DEBUG] Contents of task_output_dir: ['/b/swarming/w/ir/tmp/t/tmp2pdDlc/43adc85deb5bc710'] 2019-03-19 01:02:55,795 - root: [DEBUG] Found shard_json_files: ['/b/swarming/w/ir/tmp/t/tmp2pdDlc/43adc85deb5bc710/output.json'] 2019-03-19 01:02:55,795 - root: [INFO] merge_cmd: /b/swarming/w/ir/cache/vpython/ba947a/bin/python /b/swarming/w/ir/cache/builder/src/testing/merge_scripts/standard_gtest_merge.py --build-properties {"bot_id": "swarm849-c4", "branch": "refs/heads/master", "buildbucket": {"build": {"bucket": "luci.chromium.ci", "created_by": "project:chromium", "created_ts": 1552982158901439, "id": "8918573895706074144", "project": "chromium", "tags": ["build_address:luci.chromium.ci/linux-blink-heap-verification/14649", "builder:linux-blink-heap-verification", "buildset:commit/git/37247cc91bffdc95e4ea208fea1c5c02b354a33c", "buildset:commit/gitiles/chromium.googlesource.com/chromium/src/+/37247cc91bffdc95e4ea208fea1c5c02b354a33c", "gitiles_ref:refs/heads/master", "scheduler_invocation_id:9084003957724469744", "scheduler_job_id:chromium/linux-blink-heap-verification", "user_agent:luci-scheduler"]}, "hostname": "cr-buildbucket.appspot.com"}, "buildername": "linux-blink-heap-verification", "buildnumber": 14649, "got_angle_revision": "38e282570676f3e434482f8a02ea539b286fd1fa", "got_dawn_revision": "fef613365afe5234c1bae9fe33c3d30698d27078", "got_nacl_revision": "1ed9878b8eb68c1e0d0268754dafcf83e747fa8f", "got_revision": "37247cc91bffdc95e4ea208fea1c5c02b354a33c", "got_revision_cp": "refs/heads/master@{#641826}", "got_swarming_client_revision": "7a61cf37d6a0163f0ec02d495289a1d038e62457", "got_v8_revision": "36585c1b6b1fd69d093706a6c4ad9775506a7885", "got_v8_revision_cp": "refs/heads/7.5.62@{#1}", "got_webrtc_revision": "7dbc0eb2efa4708da5e3e44d2a15bfdee4ceb474", "got_webrtc_revision_cp": "refs/heads/master@{#27160}", "mastername": "chromium.fyi", "path_config": "generic", "recipe": "chromium", "repository": "https://chromium.googlesource.com/chromium/src.git", "revision": "37247cc91bffdc95e4ea208fea1c5c02b354a33c"} --summary-json /b/swarming/w/ir/tmp/t/tmp87hcTP.json --task-output-dir /b/swarming/w/ir/tmp/t/tmp2pdDlc -o /b/swarming/w/ir/tmp/t/tmp9ZHpmv.json /b/swarming/w/ir/tmp/t/tmp2pdDlc/43adc85deb5bc710/output.json Running ['/b/swarming/w/ir/cache/vpython/ba947a/bin/python', '/b/swarming/w/ir/cache/builder/src/testing/merge_scripts/standard_gtest_merge.py', '--build-properties', '{"bot_id": "swarm849-c4", "branch": "refs/heads/master", "buildbucket": {"build": {"bucket": "luci.chromium.ci", "created_by": "project:chromium", "created_ts": 1552982158901439, "id": "8918573895706074144", "project": "chromium", "tags": ["build_address:luci.chromium.ci/linux-blink-heap-verification/14649", "builder:linux-blink-heap-verification", "buildset:commit/git/37247cc91bffdc95e4ea208fea1c5c02b354a33c", "buildset:commit/gitiles/chromium.googlesource.com/chromium/src/+/37247cc91bffdc95e4ea208fea1c5c02b354a33c", "gitiles_ref:refs/heads/master", "scheduler_invocation_id:9084003957724469744", "scheduler_job_id:chromium/linux-blink-heap-verification", "user_agent:luci-scheduler"]}, "hostname": "cr-buildbucket.appspot.com"}, "buildername": "linux-blink-heap-verification", "buildnumber": 14649, "got_angle_revision": "38e282570676f3e434482f8a02ea539b286fd1fa", "got_dawn_revision": "fef613365afe5234c1bae9fe33c3d30698d27078", "got_nacl_revision": "1ed9878b8eb68c1e0d0268754dafcf83e747fa8f", "got_revision": "37247cc91bffdc95e4ea208fea1c5c02b354a33c", "got_revision_cp": "refs/heads/master@{#641826}", "got_swarming_client_revision": "7a61cf37d6a0163f0ec02d495289a1d038e62457", "got_v8_revision": "36585c1b6b1fd69d093706a6c4ad9775506a7885", "got_v8_revision_cp": "refs/heads/7.5.62@{#1}", "got_webrtc_revision": "7dbc0eb2efa4708da5e3e44d2a15bfdee4ceb474", "got_webrtc_revision_cp": "refs/heads/master@{#27160}", "mastername": "chromium.fyi", "path_config": "generic", "recipe": "chromium", "repository": "https://chromium.googlesource.com/chromium/src.git", "revision": "37247cc91bffdc95e4ea208fea1c5c02b354a33c"}', '--summary-json', '/b/swarming/w/ir/tmp/t/tmp87hcTP.json', '--task-output-dir', '/b/swarming/w/ir/tmp/t/tmp2pdDlc', '-o', '/b/swarming/w/ir/tmp/t/tmp9ZHpmv.json', '/b/swarming/w/ir/tmp/t/tmp2pdDlc/43adc85deb5bc710/output.json'] in None (env: None) Command ['/b/swarming/w/ir/cache/vpython/ba947a/bin/python', '/b/swarming/w/ir/cache/builder/src/testing/merge_scripts/standard_gtest_merge.py', '--build-properties', '{"bot_id": "swarm849-c4", "branch": "refs/heads/master", "buildbucket": {"build": {"bucket": "luci.chromium.ci", "created_by": "project:chromium", "created_ts": 1552982158901439, "id": "8918573895706074144", "project": "chromium", "tags": ["build_address:luci.chromium.ci/linux-blink-heap-verification/14649", "builder:linux-blink-heap-verification", "buildset:commit/git/37247cc91bffdc95e4ea208fea1c5c02b354a33c", "buildset:commit/gitiles/chromium.googlesource.com/chromium/src/+/37247cc91bffdc95e4ea208fea1c5c02b354a33c", "gitiles_ref:refs/heads/master", "scheduler_invocation_id:9084003957724469744", "scheduler_job_id:chromium/linux-blink-heap-verification", "user_agent:luci-scheduler"]}, "hostname": "cr-buildbucket.appspot.com"}, "buildername": "linux-blink-heap-verification", "buildnumber": 14649, "got_angle_revision": "38e282570676f3e434482f8a02ea539b286fd1fa", "got_dawn_revision": "fef613365afe5234c1bae9fe33c3d30698d27078", "got_nacl_revision": "1ed9878b8eb68c1e0d0268754dafcf83e747fa8f", "got_revision": "37247cc91bffdc95e4ea208fea1c5c02b354a33c", "got_revision_cp": "refs/heads/master@{#641826}", "got_swarming_client_revision": "7a61cf37d6a0163f0ec02d495289a1d038e62457", "got_v8_revision": "36585c1b6b1fd69d093706a6c4ad9775506a7885", "got_v8_revision_cp": "refs/heads/7.5.62@{#1}", "got_webrtc_revision": "7dbc0eb2efa4708da5e3e44d2a15bfdee4ceb474", "got_webrtc_revision_cp": "refs/heads/master@{#27160}", "mastername": "chromium.fyi", "path_config": "generic", "recipe": "chromium", "repository": "https://chromium.googlesource.com/chromium/src.git", "revision": "37247cc91bffdc95e4ea208fea1c5c02b354a33c"}', '--summary-json', '/b/swarming/w/ir/tmp/t/tmp87hcTP.json', '--task-output-dir', '/b/swarming/w/ir/tmp/t/tmp2pdDlc', '-o', '/b/swarming/w/ir/tmp/t/tmp9ZHpmv.json', '/b/swarming/w/ir/tmp/t/tmp2pdDlc/43adc85deb5bc710/output.json'] returned exit code 0