Skip to content

[Bug] RAM check silently undercounts a multimodal model's footprint if mmprojSizeBytes is missing #70

Open

Description

@ASahu16

Problem

RamCheckService._combinedSizeMb (lib/core/services/ram_check_service.dart:18) silently falls back to 0 when a multimodal model's mmprojSizeBytes is null, undercounting its true memory footprint.

Failure scenario

A future or sideloaded multimodal catalog entry that sets mmprojFilename but omits mmprojSizeBytes would have isLargeModel() skip the RAM-warning dialog, letting a genuine OOM during load surface as a raw native exception instead of the friendly "not enough free memory" message (#25).

Not reachable with today's two curated multimodal entries (Gemma 4 E2B/E4B, #22) — both fields are always set together — so this is latent/dormant rather than a live bug, and the surrounding code already acknowledges the gap in comments. Filed so it doesn't get missed if a future catalog entry (e.g. Bonsai 27B, #23) or a sideloaded model omits the size.

Found during v1.2.0 release-readiness code review of the main...develop diff.

Fix direction

Either require mmprojSizeBytes whenever mmprojFilename is set (validate at catalog/parse time), or have _combinedSizeMb treat a missing size as "unknown" (triggering the warning path conservatively) rather than 0.

Activity

  1. added
    bugSomething isn't working
    multimodalMultimodal vision support
    modelsModel catalog
    on Sep 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingmodelsModel catalogmultimodalMultimodal vision support

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions