DynamoRIO / DynamoRIO/drmemory

drstrace fails on Windows UNC paths

Open
#2,519 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
C
Stars
2.7k
Forks
290
PR merge metrics
No merged PRs in 30d

Description

**Describe the bug**
drstrace fails on UNC paths, but works on paths which have a traditional X:\path syntax

**To Reproduce**
Steps to reproduce the behavior (using Cygwin UNC path //foo/bar/path, but powershell \\foo\bar\path gives the same result):
1. Pick a network filesystem (SMB, MS-NFSv3, ms-nfs41-client, ...) from $ net use # output
2. CWD into such a filesystem
cd //derfw1fs10.global.loc/copy/Mainz/wingrendeltest1
3. Run drstrace
$ drstrace -- "$(cygpath -w "$PWD/sbin/nfs_mount")"

ASSERT FAILURE: D:\a\drmemory\drmemory\drstrace\drstrace.c:589: outf != INVALID_FILE (failed to open log file)

**Expected behavior**
drmemory should run

**Actual behavior**
drmemory fails with "ASSERT FAILURE: D:\a\drmemory\drmemory\drstrace\drstrace.c:589: outf != INVALID_FILE (failed to open log file)"

**Versions**
- What version of Dr. Memory are you using?
$ drmemory -version
Dr. Memory version 2.6.19989 -- build 0

- Does the latest build from
https://drmemory.org/page_download.html#sec_latest_build solve the problem?

No

- What operating system version are you running on? ("Windows 10" is *not* sufficient: give the release number.)

$ cmd /C 'ver'
Microsoft Windows [Version 10.0.19045.4957]

- Is your application 32-bit or 64-bit?

64bit

Contributor guide

Open the contributing guide

Research direction

Reproduce the failure on Windows 10.0.19045.4957 by running drstrace from a Cygwin or PowerShell UNC path, then inspect drstrace/drstrace.c at line 589 and the log-file path handling around it. Done means drmemory runs successfully for a UNC path without the failed-to-open-log-file assertion.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
operating-systems, tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.