Java VM:在1.6.0_17和1.6.0_18上都可以重现SIGSEGV,如何报告?
EDIT :此可重现的SIGSEGV发生在具有多个proc和超过2GB mem的Linux机器上,因此Java默认为服务器模式。有趣的是,如果我强迫“客户端”没有崩溃了...(我仍然不知道该怎么做,我的可重复的SIGSEGV,但有趣的是)。 首先请注意,这有点相关,但不是与下面的相同,因为在我们的情况下,它只是一个SIGSEGV发生,我们可以可靠地触发它: JVM OutOfMemory错误“死亡螺旋” (不是内存泄漏) 这是相关的,因为当我们用“大量数据”提供我们的应用程序时会发生:数据来自文本文件,然后 我可以使用有效的Java代码可靠地触发一个JVM到SIGSEGV。 注意:我可以始终崩溃JVM 1.6.0_17 adn JVM 1.6.0_18,这个问题不是关于如何解决这个问题(例如使用VM参数可以解决这个问题,但我不是那样,我想知道怎么做这个总是可再现的SIGSEGV)。 有一个解决方法,只是在启动我们的应用程序(同时仍然使用Java 1.6
366 2022-07-19
编程技术问答社区
变量和运算符在赋值中似乎被忽略了。什么可以使这种情况发生?
我正在调试一个 android 应用程序,我在 eclipse 调试视图中看到了该步骤: int bottom, right; bottom = 800; right = 480; float h ,v; h = right/86.0f; v = bottom/116.0f; 调试视图上的值显示 h = 86.0 和 v = 116.0 所以是调试器显示了正确的值?什么可以做到这一点? 提示 1:如果我将文字 86.0f 更改为 54.0f,则 h = 54.0 和 v 相同 提示 2:当应用程序运行良好时,这些值在调试视图中是正确的,但当它没有运行时(异常捕获、应用程序完成和 SEGV_MAPERR )似乎在这段代码之后很长时间发生,并且受到使用这个不正确的值的影响h 和 v. 解决方案 我不太确定,但似乎我遇到了 Dalvik 的限制.玩了一下代码,出现了一个 VerifyError,这导致我访问 这个链接.
200 2022-07-19
编程技术问答社区
什么是C++中的SIGSEGV运行时错误?
我需要知道分段错误的根本原因,还有谁能告诉我如何处理它. 解决方案 维基百科有答案,还有一个数字其他来源. 段错误基本上意味着您对指针做了坏事.这可能是一个段错误: char *c = NULL; ... *c; // dereferencing a NULL pointer 或者这个: char *c = "Hello"; ... c[10] = 'z'; // out of bounds, or in this case, writing into read-only memory 或者这样: char *c = new char[10]; ... delete [] c; ... c[2] = 'z'; // accessing freed memory 每种情况下的基本原则相同 - 你正在用不属于你的记忆做某事.
256 2022-07-19
编程技术问答社区
Java致命错误SIGSEGV
我从 Java 编译器收到一条我不理解的错误消息.我已经使用 Java 6 和 7 在 OSX 10.6、10.9 和 Ubuntu 14.04 上测试了我的代码.当我使用 Eclipse 调试器或从解释器(使用 -Xint 选项)运行时,一切运行良好.否则,我会收到以下消息: Java 1.6: Invalid memory access of location 0x8 rip=0x1024e9660 Java 1.7: # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x000000010f7a8262, pid=20344, tid=18179 # # JRE version: Java(TM) SE Runtime Environment (7.0_60-b19) (build 1.7.0_60-b19) # Java VM:
314 2022-07-19
编程技术问答社区
strace#39时有大量SIGSEGV;ing java进程
当我在 CI 服务器(实际上是 maven 构建)上调试其中一个单元测试时,发生了一些有趣的事情.我使用 strace -ff -e trace=network -p [pid] 连接到 java 进程以跟踪构建过程的网络活动.这就是我所看到的: Process 26324 attached Process 26325 attached (waiting for parent) Process 26325 resumed (parent 26312 ready) Process 26325 detached Process 26324 detached Process 26320 detached Process 26317 detached Process 26308 resumed [pid 26308] --- SIGCHLD (Child exited) @ 0 (0) --- Process 26307 resumed Process 26308 detached [pid
532 2022-07-19
编程技术问答社区
如何避免SIGSEGV?
我正在编写一个客户端-服务器守护程序,它必须接受和翻译特定的消息格式,检查它们提交以将所有活动提交给数据库.程序是多线程的.于是,我开始工作,并开始在某些情况下获得 SIGSEGV.所以我不得不重新设计我的程序并重新开始.我想知道,是否有任何“最佳实践"或提示如何将 SIGSEGV 的风险降至最低?我知道,每个指针在使用前都应该检查,删除后应该为NULL,但是如果有任何高级,设计提示? 附:抱歉,如果我的问题很愚蠢,但我在谷歌上搜索了这个主题,并没有找到任何关于这个主题的合理文章.感谢您的所有意见. 解决方案 分段错误的主要来源是 未初始化的指针(或一般未初始化的变量) 对数组的越界访问 编码不佳的指针算法 解决这个问题的主要策略包括: 始终初始化变量,尤其是指针 避免裸指针(更喜欢智能指针,例如 std::unique_ptr 或 std::shared_ptr 用于拥有数据的指针,如果您只想 指向 内容,请使用迭代器进入标准容器)使用标准容器(例
254 2022-07-19
编程技术问答社区
如何避免FPC编译器的SIGSEGV错误?
我目前在为我的编程课程构建的程序中遇到访问冲突的几个问题.它是用 pascal(课程使用的语言)构建的,并使用 Lazarus IDE(类似于 Delphi,但开放). 据我所知,当您尝试使用或解决无效的内存位置时,会发生访问冲突或 SIGSEGV 错误.我经历过很多这样的事情,特别是当我没有声明动态数组的长度时. 现在看来我遇到了字符串问题.(或者我可能会使用多维数组). 我将只粘贴 SIGSEGV 指向的过程,但上下文是: 我有一个整数数组和一个包含它的幂集 (subconjuntos) 的多维数组,弹出错误的函数(如下所述)用于将此幂集打印为文本框(由本地索引): procedure writeSub(local: TEdit); var i, j: integer; begin for i:= 0 to High(subconjuntos)+1 do if Length(subconjuntos[i])>1 then begin
610 2022-07-19
编程技术问答社区
致命信号11
我在我的模拟器上开发并测试了具有4.1(果冻Bean)的API的应用程序.当我在我的实际设备上调试我的应用程序时,它是三星Galaxy Nexus的时候,它给了我在0x00000000(代码= 1),线程4395的Logcat-Factal信号11(SigseGV)中.您可以帮助吗? java xml: package ID; import java.io.IOException; import java.io.InputStream; import android.app.Activity; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.view.Window;
302 2022-07-17
编程技术问答社区
什么是FORTRAN语言中的 "分段故障|无效内存引用错误"?
我在我的Fortran代码中收到以下错误: Program received signal SIGSEGV: Segmentation fault - invalid memory reference. Backtrace for this error: #0 0x7F80C7B46777 #1 0x7F80C7B46D7E #2 0x7F80C7282D3F #3 0x402D1A in __mymodule_MOD_gcr_mfree #4 0x412175 in MAIN__ at HUHSI1.f90:? Segmentation fault (core dumped) ------------------ (program exited with code: 139) 我不完全理解这个错误.这个错误是什么? 3表示以下子程序: SUBROUTINE gcr_Mfree(F2,Cnew,Cold,C_Fol
17374 2022-07-17
编程技术问答社区