Skip to content

shot_switching_extension crashes with AttributeError: 'list' object has no attribute 'device' #15

Description

@calrizien

We are hitting a reproducible crash in shot_switching_extension while integrating SkyReels V3 into a production Modal runtime.

What works in the same environment:

  • reference_to_video
  • talking_avatar
  • single_shot_extension

What fails:

  • shot_switching_extension

Environment

  • Repo commit: 28c771e8456341be6a213e3d1133ed1fd19bf75d
  • GPU: H100
  • Runtime: Modal container
  • Model: Skywork/SkyReels-V3-Video-Extension
  • We invoke generate_video.py with --task_type shot_switching_extension ... --offload

Observed behavior
The request is accepted, the input video is staged correctly, the model loads, and execution enters the shot switching pipeline. It then crashes inside the transformer path.

Relevant log excerpt

2026-03-13 08:10:00 - skyreels_v3 - INFO - [generate_video.py:274 - <module>] - input params: Namespace(task_type='shot_switching_extension', model_id='/cache/hub/models--Skywork--SkyReels-V3-Video-Extension/snapshots/68def6119d5731ab5f11faeda18a4a6bf65ff52e', duration=5, prompt='<redacted>.', resolution='720P', seed=42, use_usp=False, offload=True, low_vram=False, input_video='/inputs/holoscript/7160c867-dfe8-439b-b6b8-92a609649f0f-seg-1-retry-0/input_video.mp4', ...)
...
Traceback (most recent call last):
  File "/root/SkyReels-V3/generate_video.py", line 286, in <module>
    video_out = pipe.extend_video(args.input_video, args.prompt, args.duration, args.seed, resolution=args.resolution)
  File "/root/SkyReels-V3/skyreels_v3/pipelines/shot_switching_extension_pipeline.py", line 114, in extend_video
    video_frames = self.__call__(
  File "/usr/local/lib/python3.12/site-packages/torch/utils/_contextlib.py", line 120, in decorate_context
    return func(*args, **kwargs)
  File "/root/SkyReels-V3/skyreels_v3/pipelines/shot_switching_extension_pipeline.py", line 217, in __call__
    noise_pred = self.transformer(
  File "/usr/local/lib/python3.12/site-packages/torch/nn/modules/module.py", line 1784, in _call_impl
    return forward_call(*args, **kwargs)
  File "/root/SkyReels-V3/skyreels_v3/modules/transformer.py", line 738, in forward
    if not block_offload and self.freqs.device != x.device and isinstance(x, torch.Tensor):
AttributeError: 'list' object has no attribute 'device'

Using the same environment and the same model family, single_shot_extension succeeds on our source videos. This suggests the failure is specific to the shot_switching_extension code path rather than a general deployment/configuration problem.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions