gpt4 book ai didi

java - 损坏的双链表

转载 作者:搜寻专家 更新时间:2023-11-01 07:53:41 25 4
gpt4 key购买 nike

当运行 Java 应用程序时,一段时间后,出现以下错误:

*** Error in `/usr/lib/jvm/java-1.7.0-openjdk-amd64/bin/java': corrupted double-linked list: 0x00007fd77c2cf640 ***

正确的指令必须设置一个变量并重新启动应用程序。

更多信息:

紧接着,运行日志打印出来:

Process finished with exit code 134

我发现错误发生在这个时候:

private Game game;
private void backToMenu ()
{
// switch to menu screen
game.setScreen(new MenuScreen(game));
}

正好在:

game.setScreen(new MenuScreen(game));

一些导入是:

import com.badlogic.gdx.Game;
import com.packtpub.libgdx.canyonbunny.screens.MenuScreen;

libgdx版本是1.6.0,指南上说书中使用的libgdx版本是0.1.2(学习LibGDX游戏开发第二版)。

我在 Ubuntu 15.04 下运行应用程序的桌面版本(桌面模块)。

最佳答案

从“corrupted double-linked list”的谷歌搜索结果来看,该消息是在“malloc”中检测到的内部断言错误的结果。这是 native (C/C++) 库代码使用的 native 堆分配函数。该错误很可能是某些东西(在 native 代码中)破坏内存的结果。

这种事情绝对不应该发生在“纯 Java”应用程序中。可能的原因包括:

  • 您自己的原生库中的一个错误。
  • 第 3 方 native 库中的错误。
  • 不正确地使用 Unsafe 类导致损坏的后果。
  • 一个 JVM 错误。

但是您提供的信息很少,我们无法诊断您的问题。 (提示!!)

The correct instruction must set a variable and restart the application.

您不太可能以这种方式解决问题。


更新 - 仍然没有足够的信息来诊断这个问题,但是当我用谷歌搜索 libgdx“corrupted double-linked list” 时,我找到了问题所在是由于在调用 dispose 之后对对象调用了方法。

可能是您的代码在做类似的事情,或者是第 3 方 MenuScreen 代码在做。

简而言之,看起来有些东西错误地使用了 libgdx 包装器。

关于java - 损坏的双链表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31232134/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com