Skip to content

FileUpload makes the Kernel die on file_obj read with (ipykernel > 6.29) #336

@Alexboiboi

Description

@Alexboiboi

Description

When using the FileInput widget from ipyvuetify.extra, file uploads work as expected with ipykernel versions below 6.30. However, with ipykernel 6.30 and above, the widget no longer responds to file uploads and crashes the kernel.

Minimal example:

from ipyvuetify.extra import FileInput

def on_file_input_change(change):
    files = fi.get_files()
    for file in files:
        file["file_obj"].seek(0)
        file["file_obj"].read()

fi = FileInput()
fi.observe(on_file_input_change, names="file_info")
fi

Steps to reproduce:

Install ipykernel<6.30 and run the code above – file uploads work.
Upgrade to ipykernel>=6.30 and run the same code – file uploads work up to the read step and then kernel crashes.
Expected behavior: File uploads should work with newer versions of ipykernel.

Environment:

OS: Windows
ipyvuetify version: 1.11.3
ipykernel version: 6.30+ (broken), 6.29.5 (works)
Jupyter environment: [e.g., JupyterLab, VS Code, etc.]

Note

I also tested with ipykernel==7.0.0a1 and the kernel does not crash but the code fails differently:
AttributeError: 'IPythonKernel' object has no attribute 'msg_queue'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions