OutOfMemoryError 堆栈跟踪保证是来源?

OutOfMemoryError stack trace guaranteed to be source?

我 运行在我的应用程序内的库中遇到 OutOfMemoryError。堆栈跟踪指向库中的一行,其中在新线程上调用了 start()。错误如下所示:

致命异常:java.lang.OutOfMemoryError:pthread_create(1040KB 堆栈)失败:重试

该错误无法可靠地重现,它可能在 300 次启动中发生一次。

如果堆栈跟踪指向库中的一行,这是否自动意味着问题就在那里,或者应用程序中可能存在内存泄漏,Java 恰好发生在 运行在我们点击库中的那行代码的同时内存不足?我不想让任何人尝试解决问题,我只是想知道我是否确实需要查看库,或者这是否意味着应用程序某处存在内存问题。

谢谢!

or could there be memory leaks in the application, and Java just happened to run out of memory at the same time that we hit that line of code in the library?

是的,差不多就是这些了。虽然库仍然可能是错误的来源,但您无法从堆栈跟踪中确定。