Bug 2043333 - Update telemetry for stories to support a source parameter to distinguish between homepage and stories screen events. r=gl#312
Closed
devotaaabel wants to merge 4 commits into
firefoxci-taskcluster / source-test-android-detekt-detekt-fenix
succeeded
Jul 2, 2026 in 7m 20s
FirefoxCI (pull_request)
Run detekt over all modules (Treeherder job)
Details
View task in Taskcluster | View logs in Taskcluster | View task group in Taskcluster
Task Status
Started: 2026-07-02T22:26:37.510Z
Resolved: 2026-07-02T22:33:57.668Z
Task Execution Time: 7 minutes, 20 seconds, 158 milliseconds
Task Status: completed
Reason Resolved: completed
TaskId: amKEAS65QsmWeqVnS8bnmQ
RunId: 0
Artifacts
- public/fetch/perfherder-data-fetch-content.json
- public/logs/live_backing.log
- public/logs/live.log
- public/reports/suppressions.txt
[taskcluster 2026-07-02T22:26:37.702Z] Worker Type (gecko-1/b-linux) settings:
[taskcluster 2026-07-02T22:26:37.702Z] {
[taskcluster 2026-07-02T22:26:37.702Z] "generic-worker": {
[taskcluster 2026-07-02T22:26:37.702Z] "config": {
[taskcluster 2026-07-02T22:26:37.702Z] "headlessTasks": true
[taskcluster 2026-07-02T22:26:37.702Z] },
[taskcluster 2026-07-02T22:26:37.702Z] "engine": "multiuser",
[taskcluster 2026-07-02T22:26:37.702Z] "go-arch": "amd64",
[taskcluster 2026-07-02T22:26:37.702Z] "go-os": "linux",
[taskcluster 2026-07-02T22:26:37.702Z] "go-version": "go1.26.2",
[taskcluster 2026-07-02T22:26:37.702Z] "release": "https://github.com/taskcluster/taskcluster/releases/tag/v99.2.1",
[taskcluster 2026-07-02T22:26:37.702Z] "revision": "ddb9ce7efdb98ae2d0917b69778e9f3cd125e07f",
[taskcluster 2026-07-02T22:26:37.702Z] "source": "https://github.com/taskcluster/taskcluster/commits/ddb9ce7efdb98ae2d0917b69778e9f3cd125e07f",
[taskcluster 2026-07-02T22:26:37.702Z] "version": "99.2.1"
[taskcluster 2026-07-02T22:26:37.702Z] },
[taskcluster 2026-07-02T22:26:37.702Z] "image": "projects/taskcluster-imaging/global/images/gw-fxci-gcp-l1-2404-amd64-headless-googlecompute-2026-05-04",
[taskcluster 2026-07-02T22:26:37.702Z] "instance-id": "3676916780676898210",
[taskcluster 2026-07-02T22:26:37.702Z] "instance-type": "projects/887720501152/machineTypes/c2-standard-16",
[taskcluster 2026-07-02T22:26:37.702Z] "local-ipv4": "10.128.0.101",
[taskcluster 2026-07-02T22:26:37.702Z] "project-id": "fxci-production-level1-workers",
...(1606 lines hidden)...
[task 2026-07-02T22:32:48.702+00:00] > Task :publicsuffixlist:processResources
[task 2026-07-02T22:32:55.102+00:00] > Task :publicsuffixlist:compileKotlin
[task 2026-07-02T22:32:55.102+00:00] > Task :publicsuffixlist:compileJava NO-SOURCE
[task 2026-07-02T22:32:55.102+00:00] > Task :publicsuffixlist:classes
[task 2026-07-02T22:32:55.102+00:00] > Task :publicsuffixlist:jar
[task 2026-07-02T22:32:56.702+00:00]
[task 2026-07-02T22:32:56.702+00:00] > Configure project :components:service-nimbus
[task 2026-07-02T22:32:56.702+00:00] Requires glean_parser 20.0
[task 2026-07-02T22:32:59.902+00:00] HTML report location set on detekt {} extension will be ignored for detekt task. See https://detekt.dev/gradle.html#reports
[task 2026-07-02T22:33:00.802+00:00]
[task 2026-07-02T22:33:00.802+00:00] > Task :components:tooling-detekt:checkKotlinGradlePluginConfigurationErrors SKIPPED
[task 2026-07-02T22:33:00.803+00:00] > Task :mozilla-detekt-rules:checkKotlinGradlePluginConfigurationErrors SKIPPED
[task 2026-07-02T22:33:00.803+00:00] > Task :mozilla-detekt-rules:processTestResources NO-SOURCE
[task 2026-07-02T22:33:00.803+00:00] > Task :mozilla-detekt-rules:processResources
[task 2026-07-02T22:33:00.803+00:00] > Task :components:tooling-detekt:processResources
[task 2026-07-02T22:33:00.803+00:00]
[task 2026-07-02T22:33:00.803+00:00] > Task :listRepositories
[task 2026-07-02T22:33:00.803+00:00] Repositories:
[task 2026-07-02T22:33:00.803+00:00] Name: maven; url: file:/builds/worker/fetches/geckoview
[task 2026-07-02T22:33:00.803+00:00] Name: maven2; url: file:/builds/worker/fetches/android-gradle-dependencies/mozilla/
[task 2026-07-02T22:33:00.803+00:00] Name: maven3; url: file:/builds/worker/fetches/android-gradle-dependencies/google/
[task 2026-07-02T22:33:00.803+00:00] Name: maven4; url: file:/builds/worker/fetches/android-gradle-dependencies/central/
[task 2026-07-02T22:33:00.803+00:00] Name: maven5; url: file:/builds/worker/fetches/android-gradle-dependencies/gradle-plugins/
[task 2026-07-02T22:33:00.803+00:00] Name: maven6; url: file:/builds/worker/fetches/android-gradle-dependencies/plugins.gradle.org/m2/
[task 2026-07-02T22:33:00.803+00:00] Name: maven7; url: file:/builds/worker/workspace/obj-build/gradle/maven
[task 2026-07-02T22:33:02.803+00:00]
[task 2026-07-02T22:33:02.803+00:00] > Task :app:detekt
[task 2026-07-02T22:33:02.803+00:00] Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=utf-8
[task 2026-07-02T22:33:02.803+00:00] To honour the JVM settings for this build a single-use Daemon process will be forked. For more on this, please refer to https://docs.gradle.org/9.6.1/userguide/gradle_daemon.html#sec:disabling_the_daemon in the Gradle documentation.
[task 2026-07-02T22:33:03.002+00:00] Daemon will be stopped at the end of the build
[task 2026-07-02T22:33:03.502+00:00] Configuration on demand is an incubating feature.
[task 2026-07-02T22:33:04.602+00:00] Calculating task graph as no cached configuration is available for tasks: :detekt
[task 2026-07-02T22:33:11.502+00:00]
[task 2026-07-02T22:33:11.502+00:00] > Configure project :conventions
[task 2026-07-02T22:33:11.502+00:00] WARNING: Unsupported Kotlin plugin version.
[task 2026-07-02T22:33:11.502+00:00] The `embedded-kotlin` and `kotlin-dsl` plugins rely on features of Kotlin `2.3.21` that might work differently than in the requested version `2.4.0`.
[task 2026-07-02T22:33:11.502+00:00] Using the `kotlin-dsl` plugin together with a different Kotlin version (for example, by using the Kotlin Gradle plugin (`kotlin(jvm)`)) in the same project is not recommended.
[task 2026-07-02T22:33:11.502+00:00]
[task 2026-07-02T22:33:11.502+00:00] See https://docs.gradle.org/9.6.1/userguide/kotlin_dsl.html#sec:kotlin-dsl_plugin for more details on how the `kotlin-dsl` plugin works (same applies to `embedded-kotlin`).
[task 2026-07-02T22:33:11.503+00:00] It applies a certain version of the `org.jetbrains.kotlin.jvm` plugin and also add a dependency on the Kotlin Standard Library.
[task 2026-07-02T22:33:11.503+00:00]
[task 2026-07-02T22:33:11.503+00:00] Applying other version of the `org.jetbrains.kotlin.jvm` plugin in the build and/or adding dependencies to different versions of the Kotlin Standard Library can cause incompatibilities.
[task 2026-07-02T22:33:11.503+00:00] See https://docs.gradle.org/9.6.1/userguide/kotlin_dsl.html#sec:kotlin
[task 2026-07-02T22:33:14.502+00:00]
[task 2026-07-02T22:33:14.503+00:00] > Configure project :dependencies
[task 2026-07-02T22:33:14.503+00:00] The Dependency Analysis plugin is only known to work with versions of AGP between 8.10.0 and 9.1.0. You are using 9.2.1. Proceed at your own risk.
[task 2026-07-02T22:33:14.802+00:00]
[task 2026-07-02T22:33:14.803+00:00] > Configure project :publicsuffixlist
[task 2026-07-02T22:33:14.803+00:00] The Dependency Analysis plugin is only known to work with versions of AGP between 8.10.0 and 9.1.0. You are using 9.2.1. Proceed at your own risk.
[task 2026-07-02T22:33:16.002+00:00]
[task 2026-07-02T22:33:16.002+00:00] > Task :conventions:checkKotlinGradlePluginConfigurationErrors SKIPPED
[task 2026-07-02T22:33:16.002+00:00] > Task :dependencies:checkKotlinGradlePluginConfigurationErrors SKIPPED
[task 2026-07-02T22:33:16.102+00:00] > Task :conventions:compileKotlin UP-TO-DATE
[task 2026-07-02T22:33:16.102+00:00] > Task :dependencies:compileKotlin UP-TO-DATE
[task 2026-07-02T22:33:16.102+00:00] > Task :conventions:compileJava NO-SOURCE
[task 2026-07-02T22:33:16.102+00:00] > Task :dependencies:compileJava NO-SOURCE
[task 2026-07-02T22:33:16.102+00:00] > Task :conventions:pluginDescriptors UP-TO-DATE
[task 2026-07-02T22:33:16.103+00:00] > Task :dependencies:pluginDescriptors UP-TO-DATE
[task 2026-07-02T22:33:16.202+00:00] > Task :dependencies:processResources
[task 2026-07-02T22:33:16.202+00:00] > Task :conventions:processResources
[task 2026-07-02T22:33:16.202+00:00] > Task :dependencies:classes
[task 2026-07-02T22:33:16.202+00:00] > Task :conventions:classes
[task 2026-07-02T22:33:16.202+00:00] > Task :dependencies:jar
[task 2026-07-02T22:33:16.202+00:00] > Task :conventions:jar
[task 2026-07-02T22:33:16.502+00:00] SettingsPlugin> Disabled auto-publication of application-services. Enable it by settings 'autoPublish.application-services.dir' in local.properties
[task 2026-07-02T22:33:16.502+00:00] SettingsPlugin> Disabled auto-publication of Glean. Enable it by settings 'autoPublish.glean.dir' in local.properties
[task 2026-07-02T22:33:16.802+00:00]
[task 2026-07-02T22:33:16.802+00:00] > Task :mozilla-detekt-rules:compileKotlin
[task 2026-07-02T22:33:16.802+00:00] > Task :components:tooling-detekt:compileKotlin
[task 2026-07-02T22:33:16.802+00:00] > Task :components:tooling-detekt:compileJava NO-SOURCE
[task 2026-07-02T22:33:16.802+00:00] > Task :mozilla-detekt-rules:compileJava NO-SOURCE
[task 2026-07-02T22:33:16.802+00:00] > Task :components:tooling-detekt:classes
[task 2026-07-02T22:33:16.802+00:00] > Task :mozilla-detekt-rules:classes
[task 2026-07-02T22:33:16.802+00:00] > Task :mozilla-detekt-rules:jar
[task 2026-07-02T22:33:16.802+00:00] > Task :components:tooling-detekt:jar
[task 2026-07-02T22:33:18.402+00:00] > Task :mozilla-detekt-rules:compileTestKotlin
[task 2026-07-02T22:33:18.503+00:00] > Task :mozilla-detekt-rules:compileTestJava NO-SOURCE
[task 2026-07-02T22:33:18.503+00:00] > Task :mozilla-detekt-rules:testClasses UP-TO-DATE
[task 2026-07-02T22:33:21.002+00:00]
[task 2026-07-02T22:33:21.002+00:00] > Task :app:detekt
[task 2026-07-02T22:33:21.002+00:00] > Task :config:checkKotlinGradlePluginConfigurationErrors SKIPPED
[task 2026-07-02T22:33:21.102+00:00] > Task :config:compileKotlin UP-TO-DATE
[task 2026-07-02T22:33:21.102+00:00] > Task :config:compileJava NO-SOURCE
[task 2026-07-02T22:33:21.102+00:00] > Task :config:pluginDescriptors UP-TO-DATE
[task 2026-07-02T22:33:21.102+00:00] > Task :config:processResources
[task 2026-07-02T22:33:21.102+00:00] > Task :config:classes
[task 2026-07-02T22:33:21.102+00:00] > Task :config:jar
[task 2026-07-02T22:33:21.202+00:00]
[task 2026-07-02T22:33:21.202+00:00] > Configure project :
[task 2026-07-02T22:33:21.202+00:00] The Dependency Analysis plugin is only known to work with versions of AGP between 8.10.0 and 9.1.0. You are using 9.2.1. Proceed at your own risk.
[task 2026-07-02T22:33:21.302+00:00]
[task 2026-07-02T22:33:21.302+00:00] > Task :mozilla-detekt-rules:test
[task 2026-07-02T22:33:23.202+00:00]
[task 2026-07-02T22:33:23.202+00:00] > Task :app:detekt
[task 2026-07-02T22:33:23.202+00:00] HTML report location set on detekt {} extension will be ignored for detekt task. See https://detekt.dev/gradle.html#reports
[task 2026-07-02T22:33:23.202+00:00]
[task 2026-07-02T22:33:23.202+00:00] > Task :mozilla-detekt-rules:checkKotlinGradlePluginConfigurationErrors SKIPPED
[task 2026-07-02T22:33:23.202+00:00] > Task :components:tooling-detekt:checkKotlinGradlePluginConfigurationErrors SKIPPED
[task 2026-07-02T22:33:23.202+00:00] > Task :mozilla-detekt-rules:processResources
[task 2026-07-02T22:33:23.202+00:00] > Task :components:tooling-detekt:processResources
[task 2026-07-02T22:33:23.202+00:00] > Task :mozilla-detekt-rules:compileKotlin UP-TO-DATE
[task 2026-07-02T22:33:23.203+00:00] > Task :components:tooling-detekt:compileKotlin UP-TO-DATE
[task 2026-07-02T22:33:23.203+00:00] > Task :components:tooling-detekt:compileJava NO-SOURCE
[task 2026-07-02T22:33:23.203+00:00] > Task :mozilla-detekt-rules:compileJava NO-SOURCE
[task 2026-07-02T22:33:23.203+00:00] > Task :components:tooling-detekt:classes
[task 2026-07-02T22:33:23.203+00:00] > Task :mozilla-detekt-rules:classes
[task 2026-07-02T22:33:23.203+00:00] > Task :mozilla-detekt-rules:jar
[task 2026-07-02T22:33:23.203+00:00] > Task :components:tooling-detekt:jar
[task 2026-07-02T22:33:46.802+00:00]
[task 2026-07-02T22:33:46.802+00:00] > Task :detekt
[task 2026-07-02T22:33:51.802+00:00] Complexity Report:
[task 2026-07-02T22:33:51.802+00:00] - 212,531 lines of code (loc)
[task 2026-07-02T22:33:51.802+00:00] - 158,335 source lines of code (sloc)
[task 2026-07-02T22:33:51.802+00:00] - 109,616 logical lines of code (lloc)
[task 2026-07-02T22:33:51.802+00:00] - 32,220 comment lines of code (cloc)
[task 2026-07-02T22:33:51.802+00:00] - 17,734 cyclomatic complexity (mcc)
[task 2026-07-02T22:33:51.802+00:00] - 9,633 cognitive complexity
[task 2026-07-02T22:33:51.802+00:00] - 0 number of total code smells
[task 2026-07-02T22:33:51.802+00:00] - 20% comment source ratio
[task 2026-07-02T22:33:51.802+00:00] - 161 mcc per 1,000 lloc
[task 2026-07-02T22:33:51.802+00:00] - 0 code smells per 1,000 lloc
[task 2026-07-02T22:33:51.802+00:00]
[task 2026-07-02T22:33:51.802+00:00] Project Statistics:
[task 2026-07-02T22:33:51.802+00:00] - number of properties: 8631
[task 2026-07-02T22:33:51.802+00:00] - number of functions: 7080
[task 2026-07-02T22:33:51.802+00:00] - number of classes: 2978
[task 2026-07-02T22:33:51.802+00:00] - number of packages: 338
[task 2026-07-02T22:33:51.802+00:00] - number of kt files: 1437
[task 2026-07-02T22:33:51.802+00:00]
[task 2026-07-02T22:33:51.802+00:00] Successfully generated SARIF: a standard format for the output of static analysis tools at file:///builds/worker/workspace/obj-build/gradle/build/mobile/android/fenix/reports/detekt/detekt.sarif
[task 2026-07-02T22:33:51.802+00:00] Successfully generated Checkstyle XML report at file:///builds/worker/workspace/obj-build/gradle/build/mobile/android/fenix/reports/detekt/detekt.xml
[task 2026-07-02T22:33:51.802+00:00] Successfully generated plain text report at file:///builds/worker/workspace/obj-build/gradle/build/mobile/android/fenix/reports/detekt/detekt.txt
[task 2026-07-02T22:33:51.802+00:00] Successfully generated HTML report at file:///builds/worker/workspace/obj-build/gradle/build/mobile/android/fenix/reports/detekt/detekt.html
[task 2026-07-02T22:33:51.802+00:00] Successfully generated Markdown report at file:///builds/worker/workspace/obj-build/gradle/build/mobile/android/fenix/reports/detekt/detekt.md
[task 2026-07-02T22:33:51.802+00:00] Successfully generated Suppressions report at file:///builds/worker/checkouts/gecko/mobile/android/fenix/build/reports/suppressions.txt
[task 2026-07-02T22:33:52.902+00:00]
[task 2026-07-02T22:33:52.902+00:00] > Task :app:detekt
[task 2026-07-02T22:33:52.902+00:00] > Task :detekt
[task 2026-07-02T22:33:54.802+00:00] Complexity Report:
[task 2026-07-02T22:33:54.802+00:00] - 212,531 lines of code (loc)
[task 2026-07-02T22:33:54.802+00:00] - 158,335 source lines of code (sloc)
[task 2026-07-02T22:33:54.802+00:00] - 109,616 logical lines of code (lloc)
[task 2026-07-02T22:33:54.802+00:00] - 32,220 comment lines of code (cloc)
[task 2026-07-02T22:33:54.802+00:00] - 17,734 cyclomatic complexity (mcc)
[task 2026-07-02T22:33:54.802+00:00] - 9,633 cognitive complexity
[task 2026-07-02T22:33:54.802+00:00] - 0 number of total code smells
[task 2026-07-02T22:33:54.802+00:00] - 20% comment source ratio
[task 2026-07-02T22:33:54.802+00:00] - 161 mcc per 1,000 lloc
[task 2026-07-02T22:33:54.802+00:00] - 0 code smells per 1,000 lloc
[task 2026-07-02T22:33:54.802+00:00]
[task 2026-07-02T22:33:54.802+00:00] Project Statistics:
[task 2026-07-02T22:33:54.802+00:00] - number of properties: 8631
[task 2026-07-02T22:33:54.802+00:00] - number of functions: 7080
[task 2026-07-02T22:33:54.802+00:00] - number of classes: 2978
[task 2026-07-02T22:33:54.802+00:00] - number of packages: 338
[task 2026-07-02T22:33:54.802+00:00] - number of kt files: 1437
[task 2026-07-02T22:33:54.802+00:00]
[task 2026-07-02T22:33:54.802+00:00] Successfully generated SARIF: a standard format for the output of static analysis tools at file:///builds/worker/workspace/obj-build/gradle/build/mobile/android/fenix/reports/detekt/detekt.sarif
[task 2026-07-02T22:33:54.802+00:00] Successfully generated Checkstyle XML report at file:///builds/worker/workspace/obj-build/gradle/build/mobile/android/fenix/reports/detekt/detekt.xml
[task 2026-07-02T22:33:54.802+00:00] Successfully generated plain text report at file:///builds/worker/workspace/obj-build/gradle/build/mobile/android/fenix/reports/detekt/detekt.txt
[task 2026-07-02T22:33:54.802+00:00] Successfully generated HTML report at file:///builds/worker/workspace/obj-build/gradle/build/mobile/android/fenix/reports/detekt/detekt.html
[task 2026-07-02T22:33:54.802+00:00] Successfully generated Markdown report at file:///builds/worker/workspace/obj-build/gradle/build/mobile/android/fenix/reports/detekt/detekt.md
[task 2026-07-02T22:33:54.802+00:00] Successfully generated Suppressions report at file:///builds/worker/checkouts/gecko/mobile/android/fenix/build/reports/suppressions.txt
[task 2026-07-02T22:33:54.902+00:00]
[task 2026-07-02T22:33:54.902+00:00] [Incubating] Problems report is available at: file:///builds/worker/workspace/obj-build/gradle/build/mobile/android/fenix/reports/problems/problems-report.html
[task 2026-07-02T22:33:54.902+00:00]
[task 2026-07-02T22:33:54.902+00:00] Deprecated Gradle features were used in this build, making it incompatible with Gradle 10.
[task 2026-07-02T22:33:54.902+00:00]
[task 2026-07-02T22:33:54.902+00:00] You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
[task 2026-07-02T22:33:54.902+00:00]
[task 2026-07-02T22:33:54.902+00:00] For more on this, please refer to https://docs.gradle.org/9.6.1/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.
[task 2026-07-02T22:33:54.902+00:00]
[task 2026-07-02T22:33:54.902+00:00] BUILD SUCCESSFUL in 53s
[task 2026-07-02T22:33:54.902+00:00] 19 actionable tasks: 11 executed, 8 up-to-date
[task 2026-07-02T22:33:54.902+00:00] Configuration cache entry stored.
[task 2026-07-02T22:33:55.184+00:00]
[task 2026-07-02T22:33:55.184+00:00] [Incubating] Problems report is available at: file:///builds/worker/workspace/obj-build/gradle/build/mobile/android/fenix/reports/problems/problems-report.html
[task 2026-07-02T22:33:55.184+00:00]
[task 2026-07-02T22:33:55.184+00:00] Deprecated Gradle features were used in this build, making it incompatible with Gradle 10.
[task 2026-07-02T22:33:55.184+00:00]
[task 2026-07-02T22:33:55.184+00:00] You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
[task 2026-07-02T22:33:55.184+00:00]
[task 2026-07-02T22:33:55.184+00:00] For more on this, please refer to https://docs.gradle.org/9.6.1/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.
[task 2026-07-02T22:33:55.184+00:00]
[task 2026-07-02T22:33:55.184+00:00] BUILD SUCCESSFUL in 2m 15s
[task 2026-07-02T22:33:55.184+00:00] 35 actionable tasks: 27 executed, 8 up-to-date
[task 2026-07-02T22:33:55.184+00:00] Configuration cache entry stored.
[task 2026-07-02T22:33:55.520+00:00] + eval
[taskcluster 2026-07-02T22:33:55.982Z] Exit Code: 0
[taskcluster 2026-07-02T22:33:55.982Z] User Time: 68.223ms
[taskcluster 2026-07-02T22:33:55.982Z] Kernel Time: 66.124ms
[taskcluster 2026-07-02T22:33:55.982Z] Wall Time: 7m1.997650563s
[taskcluster 2026-07-02T22:33:55.982Z] Average Available System Memory: 58.05 GiB
[taskcluster 2026-07-02T22:33:55.982Z] Average System Memory Used: 4.74 GiB
[taskcluster 2026-07-02T22:33:55.982Z] Peak System Memory Used: 11.09 GiB
[taskcluster 2026-07-02T22:33:55.982Z] Total System Memory: 62.79 GiB
[taskcluster 2026-07-02T22:33:55.982Z] Result: SUCCEEDED
[taskcluster 2026-07-02T22:33:55.982Z] === Task Finished ===
[taskcluster 2026-07-02T22:33:55.982Z] Task Duration: 7m1.998063567s
[taskcluster 2026-07-02T22:33:57.239Z] [mounts] Preserving cache: Moving "/home/task_178303106588117/cache0" to "/home/generic-worker/caches/MoIzwIKNR2mqIKmSuIF32g"
Loading