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

Refactored old server errors #165

Merged
merged 6 commits into from
Jul 4, 2024
Merged

Refactored old server errors #165

merged 6 commits into from
Jul 4, 2024

Conversation

armanio123
Copy link
Member

There's some confusion about issues only happening on the old server:

  1. They don't display much information about the repro steps.
  2. The github comment doesn't easily show that the issue doesn't reproduce on the new server.

This PR, adds additional information about repro steps and commands used, as well as changing the github comment to indicate that the issue is no longer reproduced in the "new server".

@armanio123 armanio123 requested review from jakebailey and iisaduan July 2, 2024 00:47
@armanio123
Copy link
Member Author

Here's an example on how the new messages are going to look like.

It's very similar to the other messages except the title is not as visible, and they state that the issue no longer repros on "new server."

New server no longer reports this error: Maybe a Debug fail.
Req #123 - cursedCommand
    at a (/mnt/vss/_work/1/s/typescript-1.1.1/lib/typescript.js:1:1)
    at b (/mnt/vss/_work/1/s/typescript-1.1.1/lib/typescript.js:2:2)
    at c (/mnt/vss/_work/1/s/typescript-1.1.1/lib/typescript.js:3:3)
    at d (/mnt/vss/_work/1/s/typescript-1.1.1/lib/typescript.js:4:4)
    at e (/mnt/vss/_work/1/s/typescript-1.1.1/lib/typescript.js:5:5)

Affected repos

MockRepoOwner/MockRepoName Raw error text: RepoResults123\\MockRepoOwner.MockRepoName.rawError.txt in the artifact folder
Replay commands: RepoResults123\\MockRepoOwner.MockRepoName.replay.txt in the artifact folder

Last few requests

{"rootDirPlaceholder":"@PROJECT_ROOT@","serverArgs":["--disableAutomaticTypingAcquisition"]}
{"seq":1,"type":"request","command":"configure","arguments":{"preferences":{"disableLineTextInReferences":true,"includePackageJsonAutoImports":"auto","includeCompletionsForImportStatements":true,"includeCompletionsWithSnippetText":true,"includeAutomaticOptionalChainCompletions":true,"includeCompletionsWithInsertText":true,"includeCompletionsWithClassMemberSnippets":true,"allowIncompleteCompletions":true,"includeCompletionsForModuleExports":false},"watchOptions":{"excludeDirectories":["**/node_modules"]}}}
{"seq":2,"type":"request","command":"updateOpen","arguments":{"changedFiles":[],"closedFiles":[],"openFiles":[{"file":"@PROJECT_ROOT@/sample_repoName.config.js","projectRootPath":"@PROJECT_ROOT@"}]}}
{"seq":3,"type":"request","command":"cursedCommand","arguments":{"file":"@PROJECT_ROOT@/src/sampleTsFile.ts","line":1,"offset":1,"includeExternalModuleExports":false,"triggerKind":1}}

Repro steps

#!/bin/bash

git clone https://github.com/MockRepoOwner/MockRepoName --recurse-submodules
git -C "./MockRepoName" reset --hard 57b462387e88aa7e363af0daf867a5dc1e83a935
# Install packages (exact steps are below, but it might be easier to follow the repo readme)
npm --prefix "./dirA" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
npm --prefix "./dirB/dirC" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
npm --prefix "./dirD/dirE/dirF" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
downloadUrl=$(curl -s "PLACEHOLDER_GETARTIFACTS_API?artifactName=RepoResults123&api-version=7.0" | jq -r ".resource.downloadUrl")
wget -O RepoResults123.zip "$downloadUrl"
unzip -p RepoResults123.zip RepoResults123/MockRepoOwner.MockRepoName.replay.txt > MockRepoOwner.MockRepoName.replay.txt
npm install --no-save @typescript/server-replay

To run the repro:

# `npx tsreplay --help` to learn about helpful switches for debugging, logging, etc.
npx tsreplay ./MockRepoName ./MockRepoOwner.MockRepoName.replay.txt <PATH_TO_tsserver.js>

Copy link
Member

@iisaduan iisaduan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we also print in the first summary/issue description, what version the old server is? Not all of the error messages have version numbers.

@armanio123
Copy link
Member Author

I have added the description of the old server as suggested. Here's an example of a scheduled run: microsoft/TypeScript#59123

Copy link
Member

@iisaduan iisaduan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:D thanks!

@armanio123 armanio123 merged commit 61b749a into main Jul 4, 2024
2 checks passed
@jakebailey jakebailey deleted the AddAdditionalRepro branch December 5, 2024 23:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants