Skip to content

crash (segfault?) on protobuf>=4.24.0 #3921

Closed

Description

@cburroughs

Expected Behavior

Feast should not crash.

Current Behavior

As commented in 028cc20, Feast crashes with protobuf>=4.24.0. The most recent version of protobuf that Feast can use is 4.23 which stopped being supported in August of 2023 https://protobuf.dev/support/version-support/

Steps to reproduce

I see this on feast apply, the original report is unclear.

Activity

  1. shuchu commented on Feb 2, 2024

    @shuchu
    Collaborator

    this one seems an urgent bug.

  2. shuchu commented on Feb 18, 2024

    @shuchu
    Collaborator

    working on this. I do see segmentation errors.

  3. shuchu commented on Mar 8, 2024

    @shuchu
    Collaborator

    I find this related issue from protobuf's Github repo: protocolbuffers/protobuf#13485 , especially, this comment: protocolbuffers/protobuf#13485 (comment)

  4. cburroughs commented on Mar 8, 2024

    @cburroughs
    ContributorAuthor

    Nice find. That seems to suggest the Feast constraint should be something along the lines be <24, or >=25?

  5. shuchu commented on Mar 8, 2024

    @shuchu
    Collaborator

    I have found the cause of this segment fault. Will have a PR to fix it today.

  6. shuchu commented on Mar 8, 2024

    @shuchu
    Collaborator

    Here is a piece of example code that can repoduce the segmentation fault:
    Please change the repo file path accordingly in your own computer.

    from pathlib import Path
    
    from feast import FeatureStore
    from feast.repo_config import load_repo_config
    from feast.infra.registry.file import FileRegistryStore
    from feast.repo_operations import parse_repo
    
    
    repo_path = Path("/home/ubuntu/feast_demo/notable_troll/")
    fs_yaml_file = "/home/ubuntu/feast_demo/notable_troll/feature_repo/feature_store.yaml"
    repo_config = load_repo_config(repo_path, fs_yaml_file)
    
    fs = FeatureStore(config=repo_config)
    repo = parse_repo(repo_path)
    
    fs.plan(repo)
  7. jeremyary commented on Mar 8, 2024

    @jeremyary
    Collaborator

    notable_troll is my new favorite init output 😆

  8. shuchu commented on Mar 8, 2024

    @shuchu
    Collaborator

    Nice find. That seems to suggest the Feast constraint should be something along the lines be <24, or >=25?

    Right now, I use ">=4.24.0". I pass the test with 4.25.3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions