Page MenuHomePhorge

RuntimeException using "Skip past this commit" to access a commit still importing: "reset() expects parameter 1 to be array, null given"
Open, Needs TriagePublic

Description

Upstreaming from https://phabricator.wikimedia.org/T274559; this is also the third stacktrace listed in https://secure.phabricator.com/T13667.

For random reasons out of scope for this task, imports of commits in Diffusion can get stuck, displaying Still Importing... This commit is still importing. Changes will be visible once the import finishes. That's why Phorge documentation for troubleshooting exists.

When using the "Skip past this commit" button in the leftmost column viewing a file in Diffusion to access the past of such a non-imported commit, Phabricator throws a RuntimeException: reset() expects parameter 1 to be array, null given.

Code handling should be more robust and not expose a raw RuntimeException to the user but handle the situation more gracefully.

Event Timeline

I'm trying to reproduce, creating a repository, stopping phlog, and pushing, and starting and immediately randomly stopping phlog.

I've obtained this page:

http://phorge.localhost/R2:c4ecdfa2a5c9164dd8207e6d253d27b346d95d49

That says this:

Still Importing... This commit is still importing. Changes will be visible once the import finishes.

image.png (955×1 px, 109 KB)

But I'm not able to find the Skip Past This Commit. Any additional tip?

Edited:

Continue to start/stop the phlog until at least you have some commits visible in your history. Then surf the repository and open all files and click on all {Skip Past This Commit} until it crashes.