microsoft / microsoft/MIEngine

vsdbg on Linux crashes at startup when path is too long

Open
#758 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C#
Stars
859
Forks
233
Avg merge
1d 6h
Merged PRs (30d)
3

Description

On Linux (CentOS 7), vsdbg crashes at startup with the message:

terminate called after throwing an instance of 'PAL_SEHException'

After some trial and error, I discovered that the crash is caused by the length of the path from which vsdbg is running

Works:
/home/k.gosse/bb485db3-8610-459d-9597-797b813a0846-S52/opt/mesos/slaves/bb485db3-8610-459d-9597-797b813a0846-S52/frameworks/2cd1b537-06cb-42ad-a7a1-1486920f9c54-0000/123456789012345

Doesn't work:
/home/k.gosse/bb485db3-8610-459d-9597-797b813a0846-S52/opt/mesos/slaves/bb485db3-8610-459d-9597-797b813a0846-S52/frameworks/2cd1b537-06cb-42ad-a7a1-1486920f9c54-0000/1234567890123456

So it seems the limit is 181 characters.

I suspect that it crashes when loading Microsoft.CodeAnalysis.CSharp.ExpressionEvaluator.ResultProvider.vsdconfig (74 characters long), as 182 +74 = 256.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the startup crash on Linux/CentOS 7 using the two paths in the report, then investigate vsdbg startup and loading of Microsoft.CodeAnalysis.CSharp.ExpressionEvaluator.ResultProvider.vsdconfig. Done means vsdbg starts successfully when launched from paths at or beyond the reported 181-character limit.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
devtools, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.