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

vitest run hangs until timeout with UnoCSS Astro integration #3822

Closed
4 tasks done
TheJiahao opened this issue May 19, 2024 · 0 comments · Fixed by #3851
Closed
4 tasks done

vitest run hangs until timeout with UnoCSS Astro integration #3822

TheJiahao opened this issue May 19, 2024 · 0 comments · Fixed by #3851
Labels
astro bug Something isn't working

Comments

@TheJiahao
Copy link

TheJiahao commented May 19, 2024

UnoCSS version

0.60.2

Describe the bug

vitest run hangs until timeout when:

  • UnoCSS version is >=0.48.0, version 0.47.6 does not have the issue
  • UnoCSS Astro integration is loaded
  • vitest.config.ts uses getViteConfig from astro
  • and src/components/ contains anything

Reproduction

Minimal example in https://stackblitz.com/edit/stackblitz-starters-jz6f1i.

  1. Run pnpm install
  2. Run pnpm vitest run

System Info

pnpm, Astro 4.8.6 with UnoCSS integration, Vitest 1.6.0

Validations

Logs from Vitest hanging process reporter
There are 15 handle(s) keeping the process running

# Microtask
node:internal/async_hooks:41                                                                                                                     
node:internal/async_hooks:41                                                                                                                     
node:internal/process/task_queues:189                                                                                                            
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/run-parallel@1.2.0/node_modules/run-parallel/index.js:24                             - if (isSync) queueMicrotask(end)
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/run-parallel@1.2.0/node_modules/run-parallel/index.js:31                             - done(err)
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/run-parallel@1.2.0/node_modules/run-parallel/index.js:46                             - task(function (err, result) { each(i, err, result) })
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/providers/async.js:46 - done(null, entry);
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/run-parallel@1.2.0/node_modules/run-parallel/index.js:46                             - task(function (err, result) { each(i, err, result) })

# Microtask
node:internal/async_hooks:41                                                                                                      
node:internal/async_hooks:41                                                                                                      
node:internal/process/task_queues:189                                                                                             
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/vitest@1.6.0/node_modules/vitest/dist/vendor/cli-api.E07AF1Yq.js:1434 - });
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/vitest@1.6.0/node_modules/vitest/dist/vendor/cli-api.E07AF1Yq.js:1441 - 
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/vitest@1.6.0/node_modules/vitest/dist/vendor/cli-api.E07AF1Yq.js:1456 - */
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/vitest@1.6.0/node_modules/vitest/dist/vendor/cli-api.E07AF1Yq.js:1569 - const tasks = names.map((name) => {
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/vitest@1.6.0/node_modules/vitest/dist/vendor/cli-api.E07AF1Yq.js:1456 - */

# Microtask
node:internal/async_hooks:41                                                                                                      
node:internal/async_hooks:41                                                                                                      
node:internal/process/task_queues:189                                                                                             
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/vitest@1.6.0/node_modules/vitest/dist/vendor/cli-api.E07AF1Yq.js:1434 - });
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/vitest@1.6.0/node_modules/vitest/dist/vendor/cli-api.E07AF1Yq.js:1441 - 
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/vitest@1.6.0/node_modules/vitest/dist/vendor/cli-api.E07AF1Yq.js:1456 - */
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/vitest@1.6.0/node_modules/vitest/dist/vendor/cli-api.E07AF1Yq.js:1569 - const tasks = names.map((name) => {
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/vitest@1.6.0/node_modules/vitest/dist/vendor/cli-api.E07AF1Yq.js:1456 - */

# Microtask
node:internal/async_hooks:41                                                                                                      
node:internal/async_hooks:41                                                                                                      
node:internal/process/task_queues:189                                                                                             
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/vitest@1.6.0/node_modules/vitest/dist/vendor/cli-api.E07AF1Yq.js:1434 - });
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/vitest@1.6.0/node_modules/vitest/dist/vendor/cli-api.E07AF1Yq.js:1441 - 
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/vitest@1.6.0/node_modules/vitest/dist/vendor/cli-api.E07AF1Yq.js:1456 - */
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/vitest@1.6.0/node_modules/vitest/dist/vendor/cli-api.E07AF1Yq.js:1569 - const tasks = names.map((name) => {
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/vitest@1.6.0/node_modules/vitest/dist/vendor/cli-api.E07AF1Yq.js:1456 - */

# Microtask
node:internal/async_hooks:41                                                                                                      
node:internal/async_hooks:41                                                                                                      
node:internal/process/task_queues:189                                                                                             
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/vitest@1.6.0/node_modules/vitest/dist/vendor/cli-api.E07AF1Yq.js:1434 - });
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/vitest@1.6.0/node_modules/vitest/dist/vendor/cli-api.E07AF1Yq.js:1441 - 
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/vitest@1.6.0/node_modules/vitest/dist/vendor/cli-api.E07AF1Yq.js:1456 - */
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/vitest@1.6.0/node_modules/vitest/dist/vendor/cli-api.E07AF1Yq.js:1569 - const tasks = names.map((name) => {
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/vitest@1.6.0/node_modules/vitest/dist/vendor/cli-api.E07AF1Yq.js:1456 - */

# Tinypool
node:internal/async_hooks:41                                                                                                      
node:internal/async_hooks:41                                                                                                      
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/tinypool@0.8.4/node_modules/tinypool/dist/esm/index.js:64             - this.asyncResource.emitDestroy();
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/tinypool@0.8.4/node_modules/tinypool/dist/esm/index.js:85             - import { fileURLToPath as fileURLToPath3, URL } from "url";
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/tinypool@0.8.4/node_modules/tinypool/dist/esm/index.js:979            - ret.push(workerInfo.worker);
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/vitest@1.6.0/node_modules/vitest/dist/vendor/cli-api.E07AF1Yq.js:8215 - ctx.state.addProcessTimeoutCause(`Failed to terminate worker while running ${files.join(", ")}.
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/vitest@1.6.0/node_modules/vitest/dist/vendor/cli-api.E07AF1Yq.js:8868 - if (pool in factories) {
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/vitest@1.6.0/node_modules/vitest/dist/vendor/cli-api.E07AF1Yq.js:8893 - customReporterModule = await runner.executeId(path);

# Tinypool.Task
node:internal/async_hooks:41                                                                                                      
node:internal/async_hooks:41                                                                                                      
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/tinypool@0.8.4/node_modules/tinypool/dist/esm/index.js:400            - this.name = name;
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/tinypool@0.8.4/node_modules/tinypool/dist/esm/index.js:847            - const totalCapacity = this.options.maxQueue + this.pendingCapacity();
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/tinypool@0.8.4/node_modules/tinypool/dist/esm/index.js:988            - const pool = __privateGet(this, _pool);
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/vitest@1.6.0/node_modules/vitest/dist/vendor/cli-api.E07AF1Yq.js:8235 - };
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/vitest@1.6.0/node_modules/vitest/dist/vendor/cli-api.E07AF1Yq.js:8278 - for (const files2 of Object.values(filesByOptions)) {

# Timeout
node:internal/async_hooks:41                                                                                           
node:internal/async_hooks:41                                                                                           
node:internal/timers:241                                                                                               
node:internal/timers:241                                                                                               
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/tinypool@0.8.4/node_modules/tinypool/dist/esm/index.js:568 - return this;
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/tinypool@0.8.4/node_modules/tinypool/dist/esm/index.js:804 - if (filename == null) {
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/tinypool@0.8.4/node_modules/tinypool/dist/esm/index.js:853 - }

# Timeout
node:internal/async_hooks:41                                                                                           
node:internal/async_hooks:41                                                                                           
node:internal/timers:241                                                                                               
node:internal/timers:241                                                                                               
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/tinypool@0.8.4/node_modules/tinypool/dist/esm/index.js:568 - return this;
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/tinypool@0.8.4/node_modules/tinypool/dist/esm/index.js:804 - if (filename == null) {
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/tinypool@0.8.4/node_modules/tinypool/dist/esm/index.js:945 - constructor(options = {}) {
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/tinypool@0.8.4/node_modules/tinypool/dist/esm/index.js:998 - return performance.now() - __privateGet(this, _pool).start;

# Timeout
node:internal/async_hooks:41                                                                                           
node:internal/async_hooks:41                                                                                           
node:internal/timers:241                                                                                               
node:internal/timers:241                                                                                               
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/tinypool@0.8.4/node_modules/tinypool/dist/esm/index.js:568 - return this;
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/tinypool@0.8.4/node_modules/tinypool/dist/esm/index.js:804 - if (filename == null) {
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/tinypool@0.8.4/node_modules/tinypool/dist/esm/index.js:945 - constructor(options = {}) {
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/tinypool@0.8.4/node_modules/tinypool/dist/esm/index.js:998 - return performance.now() - __privateGet(this, _pool).start;

# Timeout
node:internal/async_hooks:41                                                                                           
node:internal/async_hooks:41                                                                                           
node:internal/timers:241                                                                                               
node:internal/timers:241                                                                                               
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/tinypool@0.8.4/node_modules/tinypool/dist/esm/index.js:568 - return this;
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/tinypool@0.8.4/node_modules/tinypool/dist/esm/index.js:804 - if (filename == null) {
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/tinypool@0.8.4/node_modules/tinypool/dist/esm/index.js:945 - constructor(options = {}) {
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/tinypool@0.8.4/node_modules/tinypool/dist/esm/index.js:998 - return performance.now() - __privateGet(this, _pool).start;

# Timeout
node:internal/async_hooks:41                                                                                           
node:internal/async_hooks:41                                                                                           
node:internal/timers:241                                                                                               
node:internal/timers:241                                                                                               
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/tinypool@0.8.4/node_modules/tinypool/dist/esm/index.js:568 - return this;
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/tinypool@0.8.4/node_modules/tinypool/dist/esm/index.js:804 - if (filename == null) {
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/tinypool@0.8.4/node_modules/tinypool/dist/esm/index.js:945 - constructor(options = {}) {
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/tinypool@0.8.4/node_modules/tinypool/dist/esm/index.js:998 - return performance.now() - __privateGet(this, _pool).start;

# Timeout
node:internal/async_hooks:41                                                                                           
node:internal/async_hooks:41                                                                                           
node:internal/timers:241                                                                                               
node:internal/timers:241                                                                                               
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/tinypool@0.8.4/node_modules/tinypool/dist/esm/index.js:568 - return this;
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/tinypool@0.8.4/node_modules/tinypool/dist/esm/index.js:804 - if (filename == null) {
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/tinypool@0.8.4/node_modules/tinypool/dist/esm/index.js:945 - constructor(options = {}) {
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/tinypool@0.8.4/node_modules/tinypool/dist/esm/index.js:998 - return performance.now() - __privateGet(this, _pool).start;

# Timeout
node:internal/async_hooks:41                                                                                           
node:internal/async_hooks:41                                                                                           
node:internal/timers:241                                                                                               
node:internal/timers:241                                                                                               
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/tinypool@0.8.4/node_modules/tinypool/dist/esm/index.js:568 - return this;
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/tinypool@0.8.4/node_modules/tinypool/dist/esm/index.js:804 - if (filename == null) {
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/tinypool@0.8.4/node_modules/tinypool/dist/esm/index.js:945 - constructor(options = {}) {
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/tinypool@0.8.4/node_modules/tinypool/dist/esm/index.js:998 - return performance.now() - __privateGet(this, _pool).start;

# Timeout
node:internal/async_hooks:41                                                                                           
node:internal/async_hooks:41                                                                                           
node:internal/timers:241                                                                                               
node:internal/timers:241                                                                                               
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/tinypool@0.8.4/node_modules/tinypool/dist/esm/index.js:568 - return this;
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/tinypool@0.8.4/node_modules/tinypool/dist/esm/index.js:804 - if (filename == null) {
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/tinypool@0.8.4/node_modules/tinypool/dist/esm/index.js:945 - constructor(options = {}) {
/home/projects/stackblitz-starters-jz6f1i/node_modules/.pnpm/tinypool@0.8.4/node_modules/tinypool/dist/esm/index.js:998 - return performance.now() - __privateGet(this, _pool).start;
close timed out after 10000ms
Tests closed successfully but something prevents Vite server from exiting
You can try to identify the cause by enabling "hanging-process" reporter. See https://vitest.dev/config/#reporters
@TheJiahao TheJiahao changed the title Vitest coverage hangs with UnoCSS Astro integration Vitest coverage hangs until timeout with UnoCSS Astro integration May 19, 2024
@TheJiahao TheJiahao changed the title Vitest coverage hangs until timeout with UnoCSS Astro integration vitest run hangs until timeout with UnoCSS Astro integration May 20, 2024
@Dunqing Dunqing added bug Something isn't working astro labels May 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
astro bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants