Commit 6f603d6
Fix GetMethodTableName to return E_OUTOFMEMORY for empty type names
When TypeNameBuilder.AppendType produces an empty string (and the
fallback also fails), the cDAC was calling CopyStringToBuffer with
an empty string, setting pNeeded=1 and returning S_OK. The legacy
DAC returns E_OUTOFMEMORY in this case and does not set pNeeded.
This mismatch caused the #if DEBUG validation assertion to crash
the SOS.WebApp3 test in all runtime-diagnostics PR builds.
Fix: check for empty methodTableName and return E_OUTOFMEMORY to
match the legacy DAC behavior. Also add stderr logging so the MT
address is captured when this path is hit.
Also changes the runtime-diagnostics pipeline to always publish
test results and SOS logs (not just on failure), so diagnostic
output is accessible for passing runs too.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>1 parent d754bd0 commit 6f603d6
3 files changed
Lines changed: 45 additions & 4 deletions
File tree
- eng/pipelines
- src/native/managed/cdac/Microsoft.Diagnostics.DataContractReader.Legacy
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
143 | 143 | | |
144 | 144 | | |
145 | 145 | | |
146 | | - | |
| 146 | + | |
147 | 147 | | |
148 | 148 | | |
149 | 149 | | |
| |||
197 | 197 | | |
198 | 198 | | |
199 | 199 | | |
200 | | - | |
| 200 | + | |
201 | 201 | | |
202 | 202 | | |
203 | 203 | | |
| |||
250 | 250 | | |
251 | 251 | | |
252 | 252 | | |
253 | | - | |
| 253 | + | |
254 | 254 | | |
255 | 255 | | |
256 | 256 | | |
| |||
Lines changed: 31 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
4 | 5 | | |
5 | 6 | | |
6 | 7 | | |
| |||
52 | 53 | | |
53 | 54 | | |
54 | 55 | | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
55 | 86 | | |
56 | 87 | | |
Lines changed: 11 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2972 | 2972 | | |
2973 | 2973 | | |
2974 | 2974 | | |
2975 | | - | |
| 2975 | + | |
| 2976 | + | |
| 2977 | + | |
| 2978 | + | |
| 2979 | + | |
| 2980 | + | |
| 2981 | + | |
| 2982 | + | |
| 2983 | + | |
| 2984 | + | |
| 2985 | + | |
2976 | 2986 | | |
2977 | 2987 | | |
2978 | 2988 | | |
| |||
0 commit comments