Skip to content

Parsing a stack trace in Node.js throws an exception #45

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
ashleydavis opened this issue Jan 16, 2019 · 3 comments
Closed

Parsing a stack trace in Node.js throws an exception #45

ashleydavis opened this issue Jan 16, 2019 · 3 comments
Labels

Comments

@ashleydavis
Copy link

Hi thanks for this library. It looks great all though I've had some problems getting off the starting block with it.

I've prepared an example project which I believe should work but while parsing a stack trace from an exception it throws an error.

Expected Behavior

No exception should be thrown while parsing the stack trace in the example project.

Current Behavior

The following exception is thrown while parsing the stack trace in the example project:

C:\projects\github\stack-trace-test\node_modules\error-stack-parser\error-stack-parser.js:31                                      
                return this.parseV8OrIE(error);                                                                                   
                            ^                                                                                                     
                                                                                                                                  
TypeError: Cannot read property 'parseV8OrIE' of undefined                                                                        
    at ErrorStackParser$$parse (C:\projects\github\stack-trace-test\node_modules\error-stack-parser\error-stack-parser.js:31:29)  
    at Object.<anonymous> (C:\projects\github\stack-trace-test\my test script.js:18:20)                                           
    at Module._compile (module.js:643:30)                                                                                         
    at Object.Module._extensions..js (module.js:654:10)                                                                           
    at Module.load (module.js:556:32)                                                                                             
    at tryModuleLoad (module.js:499:12)                                                                                           
    at Function.Module._load (module.js:491:3)                                                                                    
    at Function.Module.runMain (module.js:684:10)                                                                                 
    at startup (bootstrap_node.js:187:16)                                                                                         
    at bootstrap_node.js:608:3                                                                                                    

Steps to Reproduce (for bugs)

I've prepared an example repository:
https://github.com/ashleydavis/stack-trace-test

Clone the repo. Or download and unpack the repo.
Use npm install to install dependencies.
Use npm start to run the example project.

The exception mentioned above is thrown.

Context

I was hoping to use your stack trace parser in my project, but I've been blocked from using it by some basic problems. This is just the first issue, if we can solve this one I'll prepare an example that demonstrates the next problem.

Your Environment

Possible Solution

Sorry, no idea.

@ashleydavis ashleydavis changed the title Parsing a stack trace in Node.js throwns an exception Parsing a stack trace in Node.js throws an exception Jan 16, 2019
@ashleydavis
Copy link
Author

I have a work around to this problem.

Code like this doesn't work:

const { parse } = require('error-stack-parser');

...

const frames = parse(error);

This code does work:

const errorStackParser = require('error-stack-parser');

...

const frames = errorStackParser.parse(error);

This is no longer a crucial problem for me, but would be nice if it would work because that's a common coding idiom in JavaScript.

@Jikstra
Copy link

Jikstra commented Aug 13, 2021

What also works is following:

import errorStackParser from 'error-stack-parser'

const frames = errorStackParser.parse(error);

I think the problem is that if one invokes parse without the outer scope/object, this will be undefined in https://github.com/stacktracejs/error-stack-parser/blob/master/error-stack-parser.js#L27

Jikstra added a commit to Jikstra/error-stack-parser that referenced this issue Aug 13, 2021
Jikstra added a commit to Jikstra/error-stack-parser that referenced this issue Aug 13, 2021
@eriwen
Copy link
Member

eriwen commented Jun 5, 2022

I merged #74 to address this and published v2.1.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

No branches or pull requests

3 participants