我正在尝试在节点中使用mocha执行测试,并且它正在以分段错误停止。
在收集有关问题的情报的过程中,我注意到:
我删除了node_modules并重新npm install
使用了一堆console.log
后,我在render
方法返回并且我的反应组件的componentDidUpdate
触发后找到了问题
使用铁节点时,没有段错误。测试实际上正在通过
it.only(...)
)我提出了一个问题,但我还不知道如何重现它。
任何想法/帮助都非常受欢迎:)
编辑:
对我来说这没有任何意义,但如果它适合你,我使用这个工具得到了它:https://github.com/ddopson/node-segfault-handler
PID 19289 received SIGSEGV for address: 0x38
/home/guillaume/Documents/Random_Projects/cookies/node_modules/segfault-handler/build/Release/segfault-handler.node(+0x1a1b)[0x7fb63afb7a1b]
/usr/lib/libpthread.so.0(+0x10f00)[0x7fb640bb1f00]
/usr/bin/node(_ZN2v88internal9FieldType7AsClassEv+0x15)[0x94a515]
/usr/bin/node(_ZN2v88internal9FieldType7ConvertEPNS0_4ZoneE+0x24)[0x94a674]
/usr/bin/node(_ZN2v88internal8compiler17AccessInfoFactory25ComputePropertyAccessInfoENS0_6HandleINS0_3MapEEENS3_INS0_4NameEEENS1_10AccessModeEPNS1_18PropertyAccessInfoE+0x7a8)[0x75bcc8]
/usr/bin/node(_ZN2v88internal8compiler17AccessInfoFactory26ComputePropertyAccessInfosERKNS0_4ListINS0_6HandleINS0_3MapEEENS0_25FreeStoreAllocationPolicyEEENS4_INS0_4NameEEENS1_10AccessModeEPNS0_10ZoneVectorINS1_18PropertyAccessInfoEEE+0xae)[0x75c34e]
/usr/bin/node(_ZN2v88internal8compiler29JSNativeContextSpecialization17ReduceNamedAccessEPNS1_4NodeES4_RKNS0_4ListINS0_6HandleINS0_3MapEEENS0_25FreeStoreAllocationPolicyEEENS6_INS0_4NameEEENS1_10AccessModeENS0_12LanguageModeES4_+0x156)[0x7c5446]
/usr/bin/node(_ZN2v88internal8compiler29JSNativeContextSpecialization17ReduceNamedAccessEPNS1_4NodeES4_RKNS0_13FeedbackNexusENS0_6HandleINS0_4NameEEENS1_10AccessModeENS0_12LanguageModeE+0xff)[0x7c74cf]
/usr/bin/node(_ZN2v88internal8compiler29JSNativeContextSpecialization17ReduceJSLoadNamedEPNS1_4NodeE+0x7f)[0x7c755f]
/usr/bin/node(_ZN2v88internal8compiler29JSNativeContextSpecialization6ReduceEPNS1_4NodeE+0x45)[0x7c9e25]
/usr/bin/node(_ZN2v88internal8compiler12GraphReducer6ReduceEPNS1_4NodeE+0x36)[0x799706]
/usr/bin/node(_ZN2v88internal8compiler12GraphReducer9ReduceTopEv+0x1cc)[0x79a15c]
/usr/bin/node(_ZN2v88internal8compiler12GraphReducer10ReduceNodeEPNS1_4NodeE+0x68)[0x79a288]
/usr/bin/node(_ZN2v88internal8compiler8Pipeline12GenerateCodeEv+0xa4b)[0x7fe08b]
/usr/bin/node(_ZN2v88internal19OptimizedCompileJob11CreateGraphEv+0x26c)[0x85537c]
/usr/bin/node(_ZN2v88internal8Compiler16GetOptimizedCodeENS0_6HandleINS0_10JSFunctionEEENS1_15ConcurrencyModeENS0_9BailoutIdEPNS0_15JavaScriptFrameE+0xf0f)[0x856d4f]
/usr/bin/node[0xb0202a]
/usr/bin/node(_ZN2v88internal35Runtime_CompileOptimized_ConcurrentEiPPNS0_6ObjectEPNS0_7IsolateE+0xda)[0xb0269a]
[0x2cab7ce0961b]
编辑2:
我试图从我的测试中提取行为,但由于它是一个集成/ e2e测试,所以一切都是链接的。
所以这就是我的所作所为:
在我改变react-router
的路线之前,一切都按预期工作。然后一个组件渲染......或者应该。错误发生在render
方法之后(以及简单组件的componentDidUpdate
之前)。但是,在测试的早期,组件的呈现没有问题...以及当我执行它以及所有其他测试时......
我尝试更改渲染方法以返回<h1>Hello</h1>
,但我仍然遇到了段错误。