当前位置: 首页 > 面试题库 >

Java的双重自由或腐败

李意致
2023-03-14
问题内容

也许是愚蠢的问题,但是运行* .jar包时出现随机跟踪错误。有时programm可以完美运行,有时会中断将其放到控制台中:

*** Error in 'java': double free or corruption (out): 0x00007f665c04a830 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x80a46)[0x7f66c63d7a46]
/usr/lib/libjnetpcap.so(Java_org_jnetpcap_nio_JMemoryReference_disposeNative0+0xa6)[0x7f66b55f20eb]
[0x7f66bc5cd738]
======= Memory map: ========
00400000-00401000 r-xp 00000000 08:02 2752983                            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
00600000-00601000 r--p 00000000 08:02 2752983                            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
00601000-00602000 rw-p 00001000 08:02 2752983                            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
006d2000-006f3000 rw-p 00000000 00:00 0                                  [heap]
77b000000-77c500000 rw-p 00000000 00:00 0 
77c500000-785600000 rw-p 00000000 00:00 0 
785600000-78a780000 rw-p 00000000 00:00 0 
78a780000-7d7200000 rw-p 00000000 00:00 0 
7d7200000-7d9b00000 rw-p 00000000 00:00 0 
7d9b00000-800000000 rw-p 00000000 00:00 0 
7f664c000000-7f664c021000 rw-p 00000000 00:00 0 
7f664c021000-7f6650000000 ---p 00000000 00:00 0 
7f6654000000-7f6654021000 rw-p 00000000 00:00 0 
7f6654021000-7f6658000000 ---p 00000000 00:00 0 
7f6658000000-7f6658021000 rw-p 00000000 00:00 0 
7f6658021000-7f665c000000 ---p 00000000 00:00 0 
7f665c000000-7f665c0ac000 rw-p 00000000 00:00 0 
7f665c0ac000-7f6660000000 ---p 00000000 00:00 0 
7f6660000000-7f6660021000 rw-p 00000000 00:00 0 
7f6660021000-7f6664000000 ---p 00000000 00:00 0 
7f6664000000-7f66641ad000 rw-p 00000000 00:00 0 
7f66641ad000-7f6668000000 ---p 00000000 00:00 0 
7f6668000000-7f6668021000 rw-p 00000000 00:00 0 
7f6668021000-7f666c000000 ---p 00000000 00:00 0 
7f666c000000-7f666c021000 rw-p 00000000 00:00 0 
7f666c021000-7f6670000000 ---p 00000000 00:00 0 
7f6670000000-7f6670021000 rw-p 00000000 00:00 0 
7f6670021000-7f6674000000 ---p 00000000 00:00 0 
7f6674000000-7f6674021000 rw-p 00000000 00:00 0 
7f6674021000-7f6678000000 ---p 00000000 00:00 0 
7f667969a000-7f667969d000 ---p 00000000 00:00 0 
7f667969d000-7f667979b000 rw-p 00000000 00:00 0                          [stack:5820]
7f667979b000-7f667979e000 ---p 00000000 00:00 0 
7f667979e000-7f667989c000 rw-p 00000000 00:00 0                          [stack:5819]
7f667989c000-7f667989f000 ---p 00000000 00:00 0 
7f667989f000-7f667999d000 rw-p 00000000 00:00 0                          [stack:5818]
7f667999d000-7f6679bbd000 rw-s 00000000 00:07 220407                     socket:[220407]
7f6679bbd000-7f6679bc0000 ---p 00000000 00:00 0 
7f6679bc0000-7f6679cbe000 rw-p 00000000 00:00 0                          [stack:5817]
7f6679cbe000-7f6679cc1000 ---p 00000000 00:00 0 
7f6679cc1000-7f6679dbf000 rw-p 00000000 00:00 0                          [stack:5816]
7f6679dbf000-7f6679fdf000 rw-s 00000000 00:07 219343                     socket:[219343]
7f6679fdf000-7f6679fe2000 ---p 00000000 00:00 0 
7f6679fe2000-7f667a0e0000 rw-p 00000000 00:00 0                          [stack:5814]
7f667a0e0000-7f667a0fb000 r--s 00000000 08:02 1970077                    /usr/share/fonts/type1/gsfonts/p052003l.pfb
7f667a0fb000-7f667a10d000 r--s 00000000 08:02 1970041                    /usr/share/fonts/type1/gsfonts/n019043l.pfb
7f667a10d000-7f667a126000 r--s 00000000 08:02 1970000                    /usr/share/fonts/type1/gsfonts/b018012l.pfb
7f667a12f000-7f667a130000 rw-p 00000000 00:00 0 
7f667a130000-7f667a133000 rw-s 00000000 00:04 17236023                   /SYSV00000000 (deleted)
7f667a133000-7f667a143000 r--s 00000000 08:02 1969994                    /usr/share/fonts/type1/gsfonts/a010033l.pfb
7f667a143000-7f667a14f000 r--s 00000000 08:02 1970025                    /usr/share/fonts/type1/gsfonts/d050000l.pfb
7f667a14f000-7f667a164000 r--s 00000000 08:02 1970006                    /usr/share/fonts/type1/gsfonts/b018032l.pfb
7f667a164000-7f667a177000 r--s 00000000 08:02 1970003                    /usr/share/fonts/type1/gsfonts/b018015l.pfb
7f667a177000-7f667a191000 r--s 00000000 08:02 1970012                    /usr/share/fonts/type1/gsfonts/c059013l.pfb
7f667a191000-7f667a1a8000 r--s 00000000 08:02 1970094                    /usr/share/fonts/type1/gsfonts/z003034l.pfb
7f667a1a8000-7f667a1c3000 r--s 00000000 08:02 1970080                    /usr/share/fonts/type1/gsfonts/p052004l.pfb
7f667a1c3000-7f667a1d4000 r--s 00000000 08:02 1970047                    /usr/share/fonts/type1/gsfonts/n019063l.pfb
7f667a1d4000-7f667a1e5000 r--s 00000000 08:02 1969997                    /usr/share/fonts/type1/gsfonts/a010035l.pfb
7f667a1e5000-7f667a1ee000 r--s 00000000 08:02 1970089                    /usr/share/fonts/type1/gsfonts/s050000l.pfb
7f667a1ee000-7f667a1fe000 r--s 00000000 08:02 1969991                    /usr/share/fonts/type1/gsfonts/a010015l.pfb
7f667a1fe000-7f667a21a000 r--s 00000000 08:02 1970086                    /usr/share/fonts/type1/gsfonts/p052024l.pfb
7f667a21a000-7f667a232000 r--s 00000000 08:02 1970022                    /usr/share/fonts/type1/gsfonts/c059036l.pfb
7f667a232000-7f667a24d000 r--s 00000000 08:02 1970083                    /usr/share/fonts/type1/gsfonts/p052023l.pfb
7f667a24d000-7f667a25f000 r--s 00000000 08:02 1970009                    /usr/share/fonts/type1/gsfonts/b018035l.pfb
7f667a25f000-7f667a26f000 r--s 00000000 08:02 1969988                    /usr/share/fonts/type1/gsfonts/a010013l.pfb
7f667a26f000-7f667a28a000 r--s 00000000 08:02 1970015                    /usr/share/fonts/type1/gsfonts/c059016l.pfb
7f667a28a000-7f667a29c000 r--s 00000000 08:02 1970044                    /usr/share/fonts/type1/gsfonts/n019044l.pfb
7f667a29c000-7f667a2af000 r--s 00000000 08:02 1970050                    /usr/share/fonts/type1/gsfonts/n019064l.pfb
7f667a2af000-7f667a2c7000 r--s 00000000 08:02 1970018                    /usr/share/fonts/type1/gsfonts/c059033l.pfb
7f667a2c7000-7f667a2e5000 r--s 00000000 08:02 1275703                    /usr/share/texmf/fonts/type1/public/lm/lmr10.pfb
7f667a2e5000-7f667a307000 r--s 00000000 08:02 1978245                    /usr/share/texmf/fonts/type1/public/tex-gyre/qplr.pfb
7f667a307000-7f667a327000 r--s 00000000 08:02 1978229                    /usr/share/texmf/fonts/type1/public/tex-gyre/qbkbi.pfb
7f667a327000-7f667a341000 r--s 00000000 08:02 1978241                    /usr/share/texmf/fonts/type1/public/tex-gyre/qagbi.pfb
7f667a341000-7f667a35c000 r--s 00000000 08:02 1275730                    /usr/share/texmf/fonts/type1/public/lm/lmtcsc10.pfb
7f667a35c000-7f667a376000 r--s 00000000 08:02 1978256                    /usr/share/texmf/fonts/type1/public/tex-gyre/qhvbi.pfb
7f667a376000-7f667a37f000 r--s 00000000 08:02 1969318                    /usr/share/fonts/X11/Type1/c0649bt_.pfb
7f667a37f000-7f667a3a1000 r--s 00000000 08:02 1275718                    /usr/share/texmf/fonts/type1/public/lm/lmtlco10.pfb
7f667a3a1000-7f667a3c1000 r--s 00000000 08:02 1978224                    /usr/share/texmf/fonts/type1/public/tex-gyre/qtmbi.pfb
7f667a3c1000-7f667a3de000 r--s 00000000 08:02 1275759                    /usr/share/texmf/fonts/type1/public/lm/lmssqbx8.pfb
7f667a3de000-7f667a3f9000 r--s 00000000 08:02 1275756                    /usr/share/texmf/fonts/type1/public/lm/lmsso10.pfb

我正在使用运行的Ubuntu 13.10 64位:

java version "1.7.0_51"
OpenJDK Runtime Environment (IcedTea 2.4.4) (7u51-2.4.4-0ubuntu0.13.04.2)
OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode)

谢谢你的帮助 :)


问题答案:

我知道这是一个旧线程,但以防万一有人在同一错误中失败。

这是您正在使用的本机库的多线程问题。

长话短说,java将本机库加载到内存中,然后由多个线程同时访问它,然后弹出此错误。

此问题的快速解决方法是将生成此错误的方法标记为synchronized

@kit注释后更新。

在多线程环境中无法运行此类本机库。

您的选择是:

  • 修改本机库以使其具有线程安全性(如果您可以访问其代码)。
  • 将其包装为应用程序并作为单独的进程运行多个副本(因为每个进程一次加载本机库)
  • 将其包装为服务并运行多个副本,并使用套接字或适当的更高级别的RPC机制与其进行通信。


 类似资料:
  • 问题内容: 是否有用于双重比较的Java库?例如 我开始的每个项目最终都要重新实现,然后粘贴代码并进行测试。 注意,为什么最好使用第三方JAR是IBM的建议一个很好的例子: “如果您不知道基础测量的规模,那么使用测试“ abs(a / b-1)<epsilon”可能比简单比较差异更可靠。” 我怀疑很多人会想到这一点,并说明即使是简单的代码也可能不是最优的。 问题答案: 番石榴有。

  • 我已经通过终端创建了新的react-native项目。 当我通过Xcode运行react-native应用程序时。我得到了这个错误。 /bin/sh-c\“/users/sumit/desktop/react\native/rnn/ios/build/build/invermentations/react.build/debug-iphonesimulator/double-conversion.

  • 授权服务器、授权端点和客户端重定向端点可能被不当配置,被作为自由重定向器。自由重定向器是一个使用参数自动地向参数值指定而无任何验证的地址重定向用户代理的端点。 自由重定向器可被用于钓鱼攻击,或者被攻击者通过使用熟悉的受信任的目标地址的URI授权部分使最终用户访问恶意站点。此外,如果授权服务器允许客户端只注册部分的重定向URI,攻击者可以使用客户端操作的自由重定向器构造重定向URI,这将跳过授权服务

  • 腐朽国度(RealmOfDecay)是一款角色扮演游戏,让你升级你的技能,购买新的装备,等等。 点击可玩 https://static.oschina.net/trytry/RealmOfDecay  

  • 问题内容: 在另一个Bruce Eckel练习中,我编写的代码采用一种方法并更改另一个类中的值。这是我的代码: 它抛出一个错误,提示“可能会丢失精度”。 无法S为S作为呢? 提前致谢 问题答案: 是的,但是您必须指定它们是浮点数,否则将它们视为双精度数: 数字末尾的“ f”使其成为浮点数而不是双精度数。 Java不会自动将double范围缩小为float。

  • 问题内容: 这些陈述有何不同? 双虚拟= 0; 双虚拟= 0.0; 双虚拟= 0.0d; 双虚拟= 0.0D; 问题答案: 尝试过一个简单的程序(使用0和100来显示“特殊”常数和通用常数之间的差异)之后,Sun Java 6编译器将为1和2输出相同的字节码(情况3和4与2相同)就编译器而言)。 因此,例如: 编译为: 但是,我在Java语言规范中看不到任何能 保证 常量表达式的编译时扩展的东西。