DCP Error Reference

No packing lists found in asset map

The index exists, but the document it should point to is missing. Some servers will play it anyway. You still cannot verify a single file in the package.

The message you saw

No packing lists found in asset map

Emitted by dcpomatic2_verify (DCP-o-matic 2.16.91, libdcp verify 1.8.103). Our browser check reports: No packing list (PKL) could be located via the ASSETMAP.

How a server reads a package

Ingest follows a chain. The ASSETMAP names a packing list, flagged with PackingList set to true. That packing list carries the size and hash of every asset. The composition playlist then references those assets by UUID to describe playback order.

Break that link and nothing downstream can be validated. A server has no way to know whether the MXF sitting next to the ASSETMAP is the one that belongs there. It may well play the file regardless, which is the part worth understanding.

Where the packing list went

Partial copies are the usual explanation, the same way they explain a missing ASSETMAP. Packing lists are small XML files, typically under 20 KB, and they finish copying at a different moment than a 40 GB reel.

A hand-edited ASSETMAP is the other cause worth naming. When somebody repairs a package by editing paths, the PackingList flag is easy to drop, and the file is then present on disk but invisible to every tool that looks for it properly.

What to do

Look for a file ending _pkl.xml, or any XML whose root element is PackingList. Found one? Then the ASSETMAP has lost its reference, and the package should be re-fetched rather than patched by hand.

If no such file exists, ask for the package again rather than patching it. This is the one claim on this page we will make without hedging: a DCP with no packing list carries no integrity record, so nothing in it can be checked against anything. Every hash comparison a verifier would run reads its expected value from that file.

Servers are more forgiving than this sounds

A cinema engineer reported on the Film-Tech forum in July 2024 that a GDC server will ingest a DCP with no packing list at all. He noted the consequence in the same breath: the CPL cannot then be hash-checked, because the checksum that would prove it lives in the file that is missing.

That is the right way to hold this finding. The package is not necessarily unplayable. It is unverifiable, which is a different problem and, for anyone accepting submissions from strangers, a worse one.

It is also worth remembering that playing is not the test a submission has to pass. A festival running its own checks before ingest will bounce a package missing its packing list whether or not the booth would have coped.

Find out before the festival does.

The free browser check walks the ASSETMAP to the packing list the same way a server does, and tells you where the chain breaks.

Run the free check