Streamlit terminates when using st.feedback

Running locally on Windows:

(.venv) PS C:\folder> python --version; streamlit --version
Python 3.12.5
Streamlit, version 1.38.0

With a page as simple as:

import streamlit as st
st.feedback(options='thumbs')

When I run the app, a browser tab opens, starts to load, then streamlit crashes:

(.venv) PS C:\folder> streamlit run test.py

  You can now view your Streamlit app in your browser.

  Local URL: http://localhost:8501
  Network URL: http://192.168.10.10:8501

When I run headless (--server.headless true), it doesn’t crash until a browser connects.
I did have this working last week. This symptom has shown up at the same time as Streamlit terminating abruptly when logger.level is set to debug and it feels the same, I wonder if they’re related.

I cannot reproduce it on macOS. I have replied in the other thread, but did this start to happen only with version 1.38? And does this only happen for the st.feedback command or any other Streamlit command as well?

I reverted to 1.37 and reproduced as well. I have not found another Streamlit command (besides --logger.loglevel=debug from the other thread) that causes this crash.

For what its worth, I am in a corporate environment. My outgoing web requests go through an SSL intercepting proxy, and we have several security agents on our machines, primarily SentinelOne. I’ve been using Streamlit successfully for 4+ months, and st.feedback successfully for a week or so before this started.

I’ve been playing with Process Monitor and Fiddler to try to nail down the difference when Streamlit crashes with st.feedback and doesn’t with , for example, just st.write, but nothing yet.

I can reproduce this. Windows 3.10, python 3.12.5, streamlit 1.38.0.

1 Like

Thank you for reproducing this! The team usually develops on macOS and our CI/CD pipeline runs on Linux, so Windows is admittedly a little bit of a blind spot. We will look into this though, it just might take a little bit longer for us to get to the bottom of it.

I made some progress here:

Create a repro.py and run with the following contents:

from streamlit.proto.ButtonGroup_pb2 import ButtonGroup as ButtonGroupProto

print("Start")
test = ButtonGroupProto().__repr__() # Crashes
print("Test: ", test, "end")

I copied this import line by following the st.feedback code, I didn’t check where it is used, but this consistently crashes like the other issue.

2 Likes

Hey y’all, this seems to be an issue with the newest protobuf release (see this GitHub thread) on Windows. For me, downgrading to protobuf 5.27.0 fixed the issue: pip install protobuf==5.27.0.
It’d be great if you could try it out and report back here whether this also fixes the issue on your end :slightly_smiling_face:

1 Like