-
Notifications
You must be signed in to change notification settings - Fork 950
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Emulator stops without specific error #7779
Comments
Hey @exetico, sorry for the inconvenience here - we've recently made some changes to this part of the codebase to support a new VSCode extension, and it seems like that is causing your issue here. I'm looking into the error handling around this now to ensure that we are not innapropriately swallowing errors or triggering a shutdown somewhere. |
@joehan Thanks for the reply. Let me know, how it goes. |
Hi @joehan , how is it going with the patch? |
Hi @aalej. Thank you for the information. I've bumped the version and executed the same workflow. I can confirm that the issue is not present anymore. Side-note: What a impressive amount of mcve's! I'll try and remember that, if I need to reproduce a given bug 🐛 in the future. |
@aalej I just reopened this, as I'm experincing the same thing again. Now we're using I get the following errors at the end, just before the
I also get this:
But again, if I remove the Update: |
Update: Are we still in a situation where We don't use extensions. Again; The emulator should not just stop without actually inform the user about why it's actually stops; even before functions are started |
@aalej Take a look at the mcve to see the issues with the extensions. https://github.com/exetico/issues-7779/actions With only (=extensions excluded): https://github.com/exetico/issues-7779/actions/runs/11292281349/job/31407950327 The mcve looks a bit too complex, but I ended up trying to replicate something which came close to what I'm doing in one of the application where we're facing the mentioned error. We're not using extensions, so we don't expect the emulator to fail. On top of that, it fails without being specific about anything, and breaks the deploy flow for users who simply bumps the version of firebase-tools. |
Hey @exetico, sorry to hear you're still encountering this issue, and thanks for all the additional details. I appreciate your effort in gathering this information! I’m also now able to reproduce the issue on firebase-tools
At the moment, I’m not sure if |
Hey @exetico - thanks for the detailed MCVE. I noticed that in the MCVE, you're using what is maybe a fake project ('projectname-default') but are not using the I suspect this is the root cause of your issue here. The reason that excluding extensions made the test pass even with the fake project is because the extensions emulator tries to look up project number for real projects (as it is needed for correct secret param resolution). Having said that - this clearly is also a failure of our error handling and shouldn't fail silently like this. PR incoming to handle this more cleanly. |
@aalej Thank you. I still think it's important to know, why @joehan The project name are from @aalej 's MCVE. Normally I use a valid project ID, but the test session are not authorized to Google (like the GitHub Action workflow provided). The fact there's a We're talking about a tool, which does fail if To me it sounds like there's three things:
It sounds like we're able to explain what's going on, but I don't see that point 2 + 3 are fixed. I still see those two things as bugs in the code-base. The update and support for extensions even broke current CI/CD solutions, due to those changes. Do you guys agree on this? |
[REQUIRED] Environment info
GitHub Action execution on
ubuntu-latest
with Firebase CLI installed withnpm install -g firebase-tools
firebase-tools:
13.20.2
Platform:
Ubuntu
[REQUIRED] Test case
[REQUIRED] Steps to reproduce
firebase emulators:exec --only auth,functions,firestore,hosting,pubsub 'npm run __jest' --debug
and it's stopping without throwing a reason why it's terminating the emulator.node --experimental-vm-modules node_modules/jest/bin/jest.js --detectOpenHandles --verbose --ci --reporters=default --reporters=jest-junit
[REQUIRED] Expected behavior
I expect the emulator to continue starting the Emulators, or throw a error, so I know what's causing the issue.
[REQUIRED] Actual behavior
The emulator stops, without throwing a specific error. I've notived a "VSCode notifiation" debug-log, but that shouldn't trigger a shutdown. It's printed with
logger.debug
.Before this, I also tried running the emulator without the
--only
param. I expected the "extensions" support in firebase-tools to be the problem, even though, we're not using any extensions. But, it's the same story. It still stops without any specific error.Is it out of scope, to expect a thrown error, to be related, to why it's simply stopping the emulator right away?
firebase-tools/src/dataconnect/webhook.ts
Line 38 in a717346
Locally things works as expected. I'm meet by the
You are not signed in to the Firebase CLI
➕⚠ firestore: Did not find a Cloud Firestore rules file specified in a firebase.json config file.
➕⚠ firestore: The emulator will default to allowing all reads and writes.
➕Ignoring unsupported arg: auto_download
➕Ignoring unsupported arg: single_project_mode_error
. HereafterStarting Firestore Emulator with command
are printed out, and the Emulator starts up, and the jest test spins up as expected.Using "host": "0.0.0.0" / "127.0.0.1" / "localhost" does not change things.
I've previously submitted #7499 (solved) and #7624 (workaround applied), but after a few weeks, the CI/CD solution broke. I've tried to search through the issues, but I've not found anything like this.
How am I going to spot what's causing fire Emulator to stop in the Github Actions env.?
The text was updated successfully, but these errors were encountered: