be a little more careful to catch common failure cases when parsing ArtifactPathInfo