2013-08-04 2 views
2

이미 Java를 여러 번 다시 설치하려고 시도했지만 응용 프로그램을 시작한 후에도 계속 충돌합니다. 다른 응용 프로그램도 정상적으로 작동합니다 (예 : Scenebuilder).Java jvm이 이유없이 충돌 함 - 관리자 권한으로 실행

JVM은 오류 로그 파일 잡아하는 것이 가능하다 만 일을 반환됩니다

WERF81A.tmp.WERInternalMetadata.xml

WER403.tmp.dmp

WER461.tmp .CAB

WER3D3.tmp.appcompat.txt

hs_error_* 파일이 완전하게 없거나 찾을 수 없습니다. -> 닫기를 부정 종료 코드

  • ->exit code 255
  • 응용 프로그램

    • 디버그 : 이것은 Windows 오류보고 대화 상자가 나에게이 옵션을 제공합니다 WERF81A.tmp.WERInternalMetadata.xml

      <ProcessInformation> 
           <Pid>6740</Pid> 
           <ImageName>javaw.exe</ImageName> 
           <CmdLineSignature>00000000</CmdLineSignature> 
           <Uptime>6105</Uptime> 
           <ProcessVmInformation> 
            <PeakVirtualSize>4891078656</PeakVirtualSize> 
            <VirtualSize>4882821120</VirtualSize> 
            <PageFaultCount>82469</PageFaultCount> 
            <PeakWorkingSetSize>195358720</PeakWorkingSetSize> 
            <WorkingSetSize>183607296</WorkingSetSize> 
            <QuotaPeakPagedPoolUsage>277440</QuotaPeakPagedPoolUsage> 
            <QuotaPagedPoolUsage>261216</QuotaPagedPoolUsage> 
            <QuotaPeakNonPagedPoolUsage>43232</QuotaPeakNonPagedPoolUsage> 
            <QuotaNonPagedPoolUsage>43168</QuotaNonPagedPoolUsage> 
            <PagefileUsage>564998144</PagefileUsage> 
            <PeakPagefileUsage>574984192</PeakPagefileUsage> 
            <PrivateUsage>564998144</PrivateUsage> 
           </ProcessVmInformation> 
          </ProcessInformation> 
          <ProblemSignatures> 
           <EventType>APPCRASH</EventType> 
           <Parameter0>javaw.exe</Parameter0> 
           <Parameter1>7.0.250.17</Parameter1> 
           <Parameter2>51c4b1ff</Parameter2> 
           <Parameter3>USER32.dll</Parameter3> 
           <Parameter4>6.2.9200.16420</Parameter4> 
           <Parameter5>505a9a92</Parameter5> 
           <Parameter6>c0000005</Parameter6> 
           <Parameter7>000000000003185a</Parameter7> 
          </ProblemSignatures> 
      

      의 일부입니다 최신 jdk7u25을 사용합니다. 응용 프로그램은 JavaFX 2를 사용합니다 (SceneBinder 응용 프로그램도 작동합니다). 위에 게시 된 것 외에 오류 로그 나 코드가 없습니다!

      은 관리자로 실행하면을 사용할 수 있습니다.

      도움을 주시면 감사하겠습니다.

      • 윈도우 8 64 아무 문제없이 다른 컴퓨터에
      • 실행됩니다.
      • UAC가 꺼져 있습니다.
      • 크래시가 재생 가능합니다. 응용 프로그램 GUI가 나타난 후 2 ~ 3 초.
    +0

    알기가 어렵습니다. 다른 값 fox -Xmxn (나는 simmilar 문제를 몇 시간 전에 가지고 있었고 메모리의 최대량을 제한하여 문제를 해결했습니다) – morgano

    +0

    @morgano가 시도했습니다. 아무것도 바꾸지 않았어. –

    답변

    1

    나는 이것을 코멘트로 올리 겠지만 충분한 담당자가 없다. 무엇보다도 먼저 실행중인 Windows의 버전을 알려줄 수 있습니까? 98/2000/XP/Vista/7/8?

    응용 프로그램을 다른 컴퓨터 (동일한 OS 사용)로 가져와 충돌이 발생하는지 확인하십시오. 만약 그렇다면 다른 가족 (리눅스/맥)에서 다른 OS를 시도하십시오. 문제가 특정 OS 제품군과 분리 된 경우 프로그램의 특정 메소드 호출에 따라 문제가 발생할 수 있습니다. 그저 컴퓨터라면 디버깅이 훨씬 더 어려워집니다. 이 문제가 모든 OS 제품군에 발생하면 JVM 버그가 의심됩니다.

    Windows Vista/7을 사용하는 경우 UAC를 해제하십시오. 사용자 프로파일 권한에 대한 일부가 Java가 오류 덤프 User32.dll에서 중요한 라이브러리에 액세스하지 못하도록 차단했을 수 있습니다. 이 방법으로 문제가 해결되면 다른 UAC 수준의 다른 컴퓨터를 다시 시험해보고 문제가 특정 컴퓨터/UAC 수준과 격리되어 있는지 확인하십시오.

    응용 프로그램 시작 중에 시스템 메모리와 힙 크기를 모두 모니터링하면 응용 프로그램이 실제로 사용 가능한 모든 RAM을 채우고 hs_error_ * 파일을 생성하는 메모리가없는 경우 일 수 있습니다. 나 전에).

    그렇지 않은 경우 디버거를 사용하여 응용 프로그램이 실패한 위치를 확인하는 것이 좋습니다. 어쩌면 System.exit (0); 프로그램의 다른 부분에서 충돌 이전에 해당 부분에 실행되는지 확인하십시오. 또한 충돌이 예측 가능한지 (예 : 동일한 지점에서 실패하고 무작위로 실패하는 경우)를 결정합니다. 예측 가능한 충돌은 충돌을 유발하는 코드에서 뭔가를 제안합니다. JNI를 사용하는 경우 일시적으로 더미 메소드를 사용하지 않도록 설정하여 충돌이 여전히 발생하는지 확인하십시오.

    내가 할 수있는 말은 모두 ... 10 억 가지 이유 일 수 있습니다.

    +0

    감사합니다. 지금까지 - 질문을 업데이트했습니다. –

    +0

    그것은 자바에 통합이 실패한 트릴리언 오버레이 훅이었습니다. –

    +0

    @DennisFischer 문제를 발견 한 것을 기쁘게 생각합니다! – initramfs