Skip to content
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

turbo watch: "discovery failed: bad grpc status code: The operation was cancelled" on macOS case-sensitive volumes #9536

Open
1 task done
hrstkatomas opened this issue Nov 28, 2024 · 7 comments
Labels
kind: bug Something isn't working needs: triage New issues get this label. Remove it after triage

Comments

@hrstkatomas
Copy link

Verify canary release

  • I verified that the issue exists in the latest Turborepo canary release.

Link to code that reproduces this issue

https://github.com/hrstkatomas/test-monorepo-tooling

Which canary version will you have in your reproduction?

turbo 2.3.3

Enviroment information

turbo 2.3.3

CLI:
   Version: 2.3.3
   Path to executable: /Volumes/.../test-monorepo-tooling/node_modules/.pnpm/[email protected]/node_modules/turbo-darwin-arm64/bin/turbo
   Daemon status: Running
   Package manager: pnpm

Platform:
   Architecture: aarch64
   Operating system: macos
   WSL: false
   Available memory (MB): 14738
   Available CPU cores: 10

Environment:
   CI: None
   Terminal (TERM): xterm-256color
   Terminal program (TERM_PROGRAM): Apple_Terminal
   Terminal program version (TERM_PROGRAM_VERSION): 455
   Shell (SHELL): /opt/homebrew/bin/bash
   stdin: false

Expected behavior

Should run the project in watch mode without any issues on MacOS on both case-sensitive and case-insensitive file systems.

Actual behavior

When running turbo watch [command] on MacOS on case-sensitive volume, I get this error:

turbo 2.3.3

• Packages in scope: @repo/typescript-config, @repo/ui, tribalfootball
• Running build in 3 packages
• Remote caching disabled
  × failed to connect to daemon
  ╰─▶ server is unavailable: channel closed

After running turbo daemon clean I receive a slightly different error for the following run:

turbo 2.3.3

• Packages in scope: @repo/typescript-config, @repo/ui, tribalfootball
• Running build in 3 packages
• Remote caching disabled
  × discovery failed: bad grpc status code: The operation was cancelled

To Reproduce

  1. Mac required
  2. In Disk Utility add a new Volume and select Case-sensitive format
  3. Clone the repository onto newly created volume
  4. Run turbo watch build

Additional context

The same repository works as expected when I clone it onto case-insensitive volume

@hrstkatomas hrstkatomas added kind: bug Something isn't working needs: triage New issues get this label. Remove it after triage labels Nov 28, 2024
@anthonyshew anthonyshew changed the title 🐛 Bug: [MacOS][Case-sensitive volume] turbo watch: discovery failed: bad grpc status code: The operation was cancelled "turbo watch: discovery failed: bad grpc status code: The operation was cancelled" on macOS case-sensitive volumes Dec 2, 2024
@anthonyshew anthonyshew changed the title "turbo watch: discovery failed: bad grpc status code: The operation was cancelled" on macOS case-sensitive volumes turbo watch: "discovery failed: bad grpc status code: The operation was cancelled" on macOS case-sensitive volumes Dec 2, 2024
@jiahuijiang
Copy link

+1 seeing the same issue

@maour
Copy link

maour commented Dec 9, 2024

I had the same issue on linux (ubuntu 24.04).

Tried to run with TURBO_DAEMON=false turbo ... and started to work, then tried without it and still working, so not sure what was wrong. :/

@shotanue
Copy link

shotanue commented Dec 12, 2024

Try running turbo daemon start before executing turbo watch xxxxx, which is a workaround.
You can verify the daemon status with turbo daemon status.

While turbo watch works on macOS without explicitly starting the daemon, Linux environments seem to require this step to avoid gRPC errors.

This issue appears to occur when the daemon is not running.

I'm facing the same issue on devcontainer(mcr.microsoft.com/vscode/devcontainers/base:bullseye).

@CodingLukas
Copy link

CodingLukas commented Dec 28, 2024

The suggestions above didn't work for me. I even tried to start an application powered by turbo in APFS case-insensitive volume which didn't work either.

macOS version: 15.2
Repository: https://github.com/Jonghakseo/chrome-extension-boilerplate-react-vite

Temporary solution that worked:

  • I moved the project to the Downloads and ran the same command from there and the project started successfully.

@mikestopcontinues
Copy link

Consistent issue during docker build on non-persistent tasks.

@jurgob
Copy link

jurgob commented Jan 30, 2025

I got the same problem,
if I try to run turbo watch in a case sensitive directory, I got this error:

> all:watch
> TURBO_DAEMON=false turbo  watch build lint typecheck test:unit

turbo 2.3.4

 WARNING  daemon is required for watch, ignoring request to disable daemon
• Packages in scope: @repo/anomalies-service, @repo/auto-portal-app, @repo/auto-portal-gateway-service, @repo/business-rules, @repo/client-management-service, @repo/config-service, @repo/domain-data-service, @repo/eslint-config, @repo/estimate-generation-service, @repo/event-service, @repo/gateway, @repo/input-capture-app, @repo/input-capture-gateway-service, @repo/landing-page-app, @repo/localisation, @repo/notification-service, @repo/orchestration-service, @repo/pdf-generation-service, @repo/product-api-service, @repo/router-service, @repo/shared, @repo/template, @repo/trevor, @repo/typescript-config, @repo/ui-framework, @repo/ui-provider, @repo/ui-telemetry, ngnix_dev
• Running build, lint, typecheck, test:unit in 28 packages
• Remote caching disabled
  × Failed to connect to daemon.
  ╰─▶ server is unavailable: channel closed

disabling /enabling the deamon is not changing anything.
also restarting the deamon does not change anything.

thos are the deamon logs:

2025-01-30T12:31:07.305480Z  WARN turborepo_filewatch: failed to wait for initial filesystem cookie: filewatching failed to start: waiting for cookie timed out: deadline has elapsed
2025-01-30T12:31:07.306875Z ERROR turborepo_lib::daemon::server: package changes stream closed: channel closed
2025-01-30T12:31:13.504866Z ERROR turborepo_lib::daemon::server: package changes stream closed: channel closed
2025-01-30T12:32:12.052214Z ERROR turborepo_lib::daemon::server: package changes stream closed: channel closed
2025-01-30T12:37:36.703688Z ERROR turborepo_lib::daemon::server: package changes stream closed: channel closed
2025-01-30T12:39:37.984942Z  WARN daemon_server: turborepo_lib::commands::daemon: daemon already running
2025-01-30T12:39:41.804340Z  INFO turborepo_lib::daemon::server: triggering shutdown
2025-01-30T12:39:44.948249Z  WARN turborepo_filewatch: failed to wait for initial filesystem cookie: filewatching failed to start: waiting for cookie timed out: deadline has elapsed
2025-01-30T12:39:46.714379Z ERROR turborepo_lib::daemon::server: package changes stream closed: channel closed 

this is the deamon status output:

> npx turbo  daemon status                                                                                                                                                                                 [12:41:30]
turbo 2.3.4

✓ daemon is running
log file: /Volumes/WorkspaceNew/auto-platform-product/.turbo/daemon/166ab6830cc0b4dd-turbo.log.2025-01-30
uptime: 6m 851mss
pid file: /var/folders/21/f_18x3xj50b9d0cthh7k5lgh0000gq/T/turbod/166ab6830cc0b4dd/turbod.pid
socket file: /var/folders/21/f_18x3xj50b9d0cthh7k5lgh0000gq/T/turbod/166ab6830cc0b4dd/turbod.sock

@jroru
Copy link

jroru commented Feb 12, 2025

Is a path to a fix known for this? Case sensitive volumes are very common

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind: bug Something isn't working needs: triage New issues get this label. Remove it after triage
Projects
None yet
Development

No branches or pull requests

8 participants