electron-log icon indicating copy to clipboard operation
electron-log copied to clipboard

Maximum call stack size exceeded

Open lfpei opened this issue 1 year ago • 2 comments

Error:

    at Object.<anonymous> (/Users/workspace/node_modules/electron-log/src/transform/object.js:20:19)
    at JSON.stringify (<anonymous>)
    at toJSON (/Users/workspace/node_modules/electron-log/src/transform/object.js:137:26)
    at /Users/workspace/node_modules/electron-log/src/transform/index.js:47:14
    at Array.reduce (<anonymous>)
    at Object.transform (/Users/workspace/node_modules/electron-log/src/transform/index.js:45:23)
    at transport (/Users/workspace/node_modules/electron-log/src/transports/ipc.js:34:23)
    at runTransport (/Users/workspace/node_modules/electron-log/src/log.js:44:5)
    at runTransports (/Users/workspace/node_modules/electron-log/src/log.js:27:7)
    at log (/Users/workspace/node_modules/electron-log/src/log.js:21:3)

OS: macOS 10.15

When I use tinymce to listen to the 'keydown' event, I get stuck in an infinite loop

image

lfpei avatar Jul 17 '22 03:07 lfpei

It's hard to determine the actual reason without an example. Sometimes some proxy objects may produce similar value but with a different reference and it's not possible to detect such a case. Anyway, it's better to prevent event logging, since it's often a huge nested object which may impact on performance. And make sure you use the latest lib version since I've added a few optimizations there

megahertz avatar Jul 17 '22 05:07 megahertz

I am using electron-log 4.4.8 image

window.addEventListener('keydown', (e) => {
    console.log(e)
 })
editor.on('keydown', (e) => {
    console.log(e)
})

The two results are as shown above; There is no problem with window listening for events,but tinymce doesn't work properly

lfpei avatar Jul 17 '22 06:07 lfpei

A renderer part was fully changed in v5, so it may solve the issue. Please let me know if it still happens in v5.

megahertz avatar Nov 24 '22 13:11 megahertz