Skip to content

[wasm][debugger] Enable symbolicating traces in Release builds #81172

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

Closed
radical opened this issue Jan 25, 2023 · 8 comments
Closed

[wasm][debugger] Enable symbolicating traces in Release builds #81172

radical opened this issue Jan 25, 2023 · 8 comments
Assignees
Labels
arch-wasm WebAssembly architecture area-Debugger-mono test-enhancement Improvements of test source code
Milestone

Comments

@radical
Copy link
Member

radical commented Jan 25, 2023

case 1

"description": "RuntimeError: memory access out of bounds\n at http://localhost:9400/dotnet.wasm:wasm-function[1020]:0x4de8b\n at http://localhost:9400/dotnet.wasm:wasm-function[1019]:0x4dd09\n at http://localhost:9400/dotnet.wasm:wasm-function[951]:0x49c1f\n at http://localhost:9400/dotnet.wasm:wasm-function[924]:0x48d79\n at http://localhost:9400/dotnet.wasm:wasm-function[247]:0x1a930\n at http://localhost:9400/dotnet.wasm:wasm-function[244]:0x182bc\n at http://localhost:9400/dotnet.wasm:wasm-function[286]:0x1bc9c\n at http://localhost:9400/dotnet.wasm:wasm-function[8318]:0x1b26fc\n at http://localhost:9400/dotnet.wasm:wasm-function[2150]:0x8ebd3\n at http://localhost:9400/dotnet.wasm:wasm-function[2155]:0x8f275"

case 2

{
   "exceptionDetails" : {
      "columnNumber" : 1372,
      "exception" : {
         "className" : "ExitStatus",
         "description" : "ExitStatus",
         "objectId" : "7931105945323953576.1.14",
         "preview" : {
            "description" : "ExitStatus",
            "overflow" : false,
            "properties" : [
               {
                  "name" : "name",
                  "type" : "string",
                  "value" : "ExitStatus"
               },
               {
                  "name" : "message",
                  "type" : "string",
                  "value" : "Program terminated with exit(1)"
               },
               {
                  "name" : "status",
                  "type" : "number",
                  "value" : "1"
               }
            ],
            "type" : "object"
         },
         "type" : "object"
      },
      "exceptionId" : 2,
      "lineNumber" : 13,
      "scriptId" : "6",
      "stackTrace" : {
         "callFrames" : [
            {
               "columnNumber" : 1372,
               "functionName" : "quit_",
               "lineNumber" : 13,
               "scriptId" : "6",
               "url" : "http://localhost:9400/dotnet.js"
            },
            {
               "columnNumber" : 154762,
               "functionName" : "procExit",
               "lineNumber" : 13,
               "scriptId" : "6",
               "url" : "http://localhost:9400/dotnet.js"
            },
            {
               "columnNumber" : 154627,
               "functionName" : "exit",
               "lineNumber" : 13,
               "scriptId" : "6",
               "url" : "http://localhost:9400/dotnet.js"
            },
            {
               "columnNumber" : 99321,
               "functionName" : "_exit",
               "lineNumber" : 13,
               "scriptId" : "6",
               "url" : "http://localhost:9400/dotnet.js"
            },
            {
               "columnNumber" : 42957,
               "functionName" : "$func115",
               "lineNumber" : 0,
               "scriptId" : "9",
               "url" : "http://localhost:9400/dotnet.wasm"
            },
            {
               "columnNumber" : 763389,
               "functionName" : "$func2902",
               "lineNumber" : 0,
               "scriptId" : "9",
               "url" : "http://localhost:9400/dotnet.wasm"
            },
            {
               "columnNumber" : 1934469,
               "functionName" : "$func8815",
               "lineNumber" : 0,
               "scriptId" : "9",
               "url" : "http://localhost:9400/dotnet.wasm"
            },
            {
               "columnNumber" : 1934564,
               "functionName" : "$func8817",
               "lineNumber" : 0,
               "scriptId" : "9",
               "url" : "http://localhost:9400/dotnet.wasm"
            },
            {
               "columnNumber" : 1934616,
               "functionName" : "$func8818",
               "lineNumber" : 0,
               "scriptId" : "9",
               "url" : "http://localhost:9400/dotnet.wasm"
            },
            {
               "columnNumber" : 305494,
               "functionName" : "$mono_wasm_send_dbg_command",
               "lineNumber" : 0,
               "scriptId" : "9",
               "url" : "http://localhost:9400/dotnet.wasm"
            },
            {
               "columnNumber" : 132682,
               "functionName" : "Module._mono_wasm_send_dbg_command",
               "lineNumber" : 13,
               "scriptId" : "6",
               "url" : "http://localhost:9400/dotnet.js"
            },
            {
               "columnNumber" : 8083,
               "functionName" : "O",
               "lineNumber" : 2,
               "scriptId" : "6",
               "url" : "http://localhost:9400/dotnet.js"
            },
            {
               "columnNumber" : 29,
               "functionName" : "",
               "lineNumber" : 0,
               "scriptId" : "12",
               "url" : ""
            }
         ]
      },
      "text" : "Uncaught"
   },
   "result" : {
      "className" : "ExitStatus",
      "description" : "ExitStatus",
      "objectId" : "7931105945323953576.1.13",
      "preview" : {
         "description" : "ExitStatus",
         "overflow" : false,
         "properties" : [
            {
               "name" : "name",
               "type" : "string",
               "value" : "ExitStatus"
            },
            {
               "name" : "message",
               "type" : "string",
               "value" : "Program terminated with exit(1)"
            },
            {
               "name" : "status",
               "type" : "number",
               "value" : "1"
            }
         ],
         "type" : "object"
      },
      "type" : "object"
   }
}
@radical radical added arch-wasm WebAssembly architecture test-enhancement Improvements of test source code area-Debugger-mono labels Jan 25, 2023
@radical radical self-assigned this Jan 25, 2023
@ghost ghost added the untriaged New issue has not been triaged by the area owner label Jan 25, 2023
@ghost
Copy link

ghost commented Jan 25, 2023

Tagging subscribers to 'arch-wasm': @lewing
See info in area-owners.md if you want to be subscribed.

Issue Details

Currently we get:
"description": "RuntimeError: memory access out of bounds\n at http://localhost:9400/dotnet.wasm:wasm-function[1020]:0x4de8b\n at http://localhost:9400/dotnet.wasm:wasm-function[1019]:0x4dd09\n at http://localhost:9400/dotnet.wasm:wasm-function[951]:0x49c1f\n at http://localhost:9400/dotnet.wasm:wasm-function[924]:0x48d79\n at http://localhost:9400/dotnet.wasm:wasm-function[247]:0x1a930\n at http://localhost:9400/dotnet.wasm:wasm-function[244]:0x182bc\n at http://localhost:9400/dotnet.wasm:wasm-function[286]:0x1bc9c\n at http://localhost:9400/dotnet.wasm:wasm-function[8318]:0x1b26fc\n at http://localhost:9400/dotnet.wasm:wasm-function[2150]:0x8ebd3\n at http://localhost:9400/dotnet.wasm:wasm-function[2155]:0x8f275"

Author: radical
Assignees: radical
Labels:

arch-wasm, test-enhancement, area-Debugger-mono

Milestone: -

@radical radical added this to the 8.0.0 milestone Jan 25, 2023
@ghost ghost removed the untriaged New issue has not been triaged by the area owner label Jan 25, 2023
@radical radical changed the title [wasm][debugger] Enable symbolicating traces in the tests [wasm][debugger] Enable symbolicating traces in Release builds Jan 25, 2023
@radical
Copy link
Member Author

radical commented Jan 25, 2023

@lewing @thaystg Would this be useful for users?
This can be in two forms:

  1. proxy gets the symbols file (somehow?!), and symbolicates these strings
  2. or we do this just for the tests

@radical
Copy link
Member Author

radical commented Jan 25, 2023

Not for users actually, but for us to debug when users run into runtime crashes.

@thaystg
Copy link
Member

thaystg commented Jan 25, 2023

I think this is something that @lewing has already discussed with me and it's useful for users also :)

@radical
Copy link
Member Author

radical commented Jan 25, 2023

Feel free to assign it to yourself if you plan to work on it:)

@lewing
Copy link
Member

lewing commented Jul 5, 2023

@radical can you update the status here.

@radical
Copy link
Member Author

radical commented Jul 6, 2023

I haven't had a chance to work on this yet. But we should be able to get to it for 8.

@radical radical assigned thaystg and unassigned radical Aug 10, 2023
@thaystg
Copy link
Member

thaystg commented Aug 14, 2023

I will close this issue, as we have already this working using the debugger and also in an exception stack trace.

@thaystg thaystg closed this as completed Aug 14, 2023
@ghost ghost locked as resolved and limited conversation to collaborators Sep 13, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
arch-wasm WebAssembly architecture area-Debugger-mono test-enhancement Improvements of test source code
Projects
None yet
Development

No branches or pull requests

3 participants