2014-09-05 128 views
1

在最近向我的install4j安裝程序添加了一些庫之後,現在有些用戶在安裝過程結束時會收到一條錯誤消息。在Install4j中,如何解決'JVM無法啓動'錯誤?

「的JVM無法啓動的最高要求堆大小(-Xmx)可能過大或防病毒軟件或防火牆工具可以阻止執行

日誌:C:\用戶.... \ AppData \ Local \ Temp \ i4j_nlog_203「

它只發生一些用戶,並重新啓動他們的計算機,禁用他們的防火牆/防病毒沒有幫助。

我發現沒有添加一個log4j appender,我試圖在它發出這個錯誤的地方添加編程方式,從而阻止了崩潰的發生。

下面是導致錯誤的日誌文件的結尾內容。

Unpacking JRE done 
JRE dir: C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\jre 
LoadDLL (0, C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\jre, 0) 
Got JRE location C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\jre (java exe: 0) 
MinVersion: 1.6, MaxVersion: 
Trying to load JVM-DLL from c:\users\avande~1\appdata\local\temp\e4j6cc6.tmp_dir1409859714\jre\bin\java.exe 
Setting PATH C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files\TortoiseGit\bin;c:\users\avande~1\appdata\local\temp\e4j6cc6.tmp_dir1409859714\jre\bin 
Trying c:\users\avande~1\appdata\local\temp\e4j6cc6.tmp_dir1409859714\jre\bin\hotspot\jvm.dll (exists 0) 
Trying c:\users\avande~1\appdata\local\temp\e4j6cc6.tmp_dir1409859714\jre\bin\client\jvm.dll (exists 1) 
Loading of JVM-DLL successful 
unpacking i4jruntime.jar.pack 
c:\users\avande~1\appdata\local\temp\e4j6cc6.tmp_dir1409859714\jre\bin\..\bin\unpack200.exe 
-r "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\i4jruntime.jar.pack" "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\i4jruntime.jar" 
waiting for unpack200 to finish 
unpack done 
unpacking user\apache-mime4j-0.6.jar.pack 
c:\users\avande~1\appdata\local\temp\e4j6cc6.tmp_dir1409859714\jre\bin\..\bin\unpack200.exe 
-r "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\apache-mime4j-0.6.jar.pack" "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\apache-mime4j-0.6.jar" 
waiting for unpack200 to finish 
unpack done 
unpacking user\commons-io-2.0.jar.pack 
c:\users\avande~1\appdata\local\temp\e4j6cc6.tmp_dir1409859714\jre\bin\..\bin\unpack200.exe 
-r "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\commons-io-2.0.jar.pack" "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\commons-io-2.0.jar" 
waiting for unpack200 to finish 
unpack done 
unpacking user\commons-logging-1.1.1.jar.pack 
c:\users\avande~1\appdata\local\temp\e4j6cc6.tmp_dir1409859714\jre\bin\..\bin\unpack200.exe 
-r "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\commons-logging-1.1.1.jar.pack" "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\commons-logging-1.1.1.jar" 
waiting for unpack200 to finish 
unpack done 
unpacking user\derby.jar.pack 
c:\users\avande~1\appdata\local\temp\e4j6cc6.tmp_dir1409859714\jre\bin\..\bin\unpack200.exe 
-r "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\derby.jar.pack" "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\derby.jar" 
waiting for unpack200 to finish 
unpack done 
unpacking user\httpclient-4.0.jar.pack 
c:\users\avande~1\appdata\local\temp\e4j6cc6.tmp_dir1409859714\jre\bin\..\bin\unpack200.exe 
-r "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\httpclient-4.0.jar.pack" "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\httpclient-4.0.jar" 
waiting for unpack200 to finish 
unpack done 
unpacking user\httpcore-4.0.1.jar.pack 
c:\users\avande~1\appdata\local\temp\e4j6cc6.tmp_dir1409859714\jre\bin\..\bin\unpack200.exe 
-r "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\httpcore-4.0.1.jar.pack" "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\httpcore-4.0.1.jar" 
waiting for unpack200 to finish 
unpack done 
unpacking user\httpmime-4.0.jar.pack 
c:\users\avande~1\appdata\local\temp\e4j6cc6.tmp_dir1409859714\jre\bin\..\bin\unpack200.exe 
-r "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\httpmime-4.0.jar.pack" "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\httpmime-4.0.jar" 
waiting for unpack200 to finish 
unpack done 
unpacking user\ICEauthorization.jar.pack 
c:\users\avande~1\appdata\local\temp\e4j6cc6.tmp_dir1409859714\jre\bin\..\bin\unpack200.exe 
-r "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\ICEauthorization.jar.pack" "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\ICEauthorization.jar" 
waiting for unpack200 to finish 
unpack done 
unpacking user\IceCommon.jar.pack 
c:\users\avande~1\appdata\local\temp\e4j6cc6.tmp_dir1409859714\jre\bin\..\bin\unpack200.exe 
-r "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\IceCommon.jar.pack" "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\IceCommon.jar" 
waiting for unpack200 to finish 
unpack done 
unpacking user\installerCommon.jar.pack 
c:\users\avande~1\appdata\local\temp\e4j6cc6.tmp_dir1409859714\jre\bin\..\bin\unpack200.exe 
-r "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\installerCommon.jar.pack" "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\installerCommon.jar" 
waiting for unpack200 to finish 
unpack done 
unpacking user\log4j-1.2.15.jar.pack 
c:\users\avande~1\appdata\local\temp\e4j6cc6.tmp_dir1409859714\jre\bin\..\bin\unpack200.exe 
-r "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\log4j-1.2.15.jar.pack" "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\log4j-1.2.15.jar" 
waiting for unpack200 to finish 
unpack done 
unpacking user.jar.pack 
c:\users\avande~1\appdata\local\temp\e4j6cc6.tmp_dir1409859714\jre\bin\..\bin\unpack200.exe 
-r "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user.jar.pack" "C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user.jar" 
waiting for unpack200 to finish 
unpack done 
launching program 
GetTempPath returned 37 (last error 6) 
make dir returned -1 
adding options 

vmoptions2: exe \\ice-catalogs.dirtt.local\catalog_installs\BUNDLE\DML-GMK\2014\October\31\one-exe\BUNDLE_DML-GMK-2014_10_31.exe file: \\ice-catalogs.dirtt.local\catalog_installs\BUNDLE\DML-GMK\2014\October\31\one-exe\BUNDLE_DML-GMK-2014_10_31.vmoptions, file: 00000000 
vmoptions: opts2: \\ice-catalogs.dirtt.local\catalog_installs\BUNDLE\DML-GMK\2014\October\31\one-exe\BUNDLE_DML-GMK-2014_10_31.exe.vmoptions, file: 00000000 
vmoptions2: exe \\ice-catalogs.dirtt.local\catalog_installs\BUNDLE\DML-GMK\2014\October\31\one-exe\BUNDLE_DML-GMK-2014_10_31.exe file: \\ice-catalogs.dirtt.local\catalog_installs\BUNDLE\DML-GMK\2014\October\31\one-exe\BUNDLE_DML-GMK-2014_10_31.vmoptions, file: 00000000 
vmoptions: opts2: \\ice-catalogs.dirtt.local\catalog_installs\BUNDLE\DML-GMK\2014\October\31\one-exe\BUNDLE_DML-GMK-2014_10_31.exe.vmoptions, file: 00000000 
default vmoptions file: 00000000 
classpath entry 
vmoption count 11 
vmoption 0: -Dexe4j.semaphoreName=Local\__ice-catalogs.dirtt.local_catalog_installs_bundle_dml-gmk_2014_october_31_one-exe_bundle_dml-gmk-2014_10_31.exe 
vmoption 1: -Dexe4j.isInstall4j=true 
vmoption 2: -Dexe4j.moduleName=\\ice-catalogs.dirtt.local\catalog_installs\BUNDLE\DML-GMK\2014\October\31\one-exe\BUNDLE_DML-GMK-2014_10_31.exe 
vmoption 3: -Dsun.java.command=\\ice-catalogs.dirtt.local\catalog_installs\BUNDLE\DML-GMK\2014\October\31\one-exe\BUNDLE_DML-GMK-2014_10_31.exe 
vmoption 4: -Dexe4j.tempDir=C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714 
vmoption 5: -Dexe4j.unextractedPosition=26428397 
vmoption 6: -Djava.library.path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files\TortoiseGit\bin;c:\users\avande~1\appdata\local\temp\e4j6cc6.tmp_dir1409859714\jre\bin 
vmoption 7: -Dexe4j.consoleCodepage=cp0 
vmoption 8: -Xmx300m 
vmoption 9: -Dsun.java2d.noddraw=true 
vmoption 10: -Djava.class.path=C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\i4jruntime.jar;C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user.jar;C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\platform.zip;C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\apache-mime4j-0.6.jar;C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\commons-io-2.0.jar;C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\commons-logging-1.1.1.jar;C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\derby.jar;C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\httpclient-4.0.jar;C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\httpcore-4.0.1.jar;C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\httpmime-4.0.jar;C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\ICEauthorization.jar;C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\IceCommon.jar;C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\installerCommon.jar;C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\log4j-1.2.15.jar;C:\Users\AVANDE~1\AppData\Local\Temp\e4j6CC6.tmp_dir1409859714\user\installerData.zip; 
Creating JVM 
JVM created 
main class: com/install4j/runtime/launcher/WinLauncher 
GetTempPath returned 37 (last error 0) 
make dir returned -1 
GetTempPath returned 37 (last error 183) 
make dir returned -1 
param count: 6 
param 0: false 
param 1: com.install4j.runtime.installer.Installer 
param 2: \\ice-catalogs.dirtt.local\catalog_installs\BUNDLE\DML-GMK\2014\October\31\one-exe\error.log 
param 3: 
param 4: false 
param 5: \\ice-catalogs.dirtt.local\catalog_installs\BUNDLE\DML-GMK\2014\October\31\one-exe\BUNDLE_DML-GMK-2014_10_31.exe 
calling main 
Java window visible 
main returned 
ERROR: an exception occured 
ERROR: could not call main 
ERROR: Could not start JVM 

回答

1

這是因爲關於內存塊的問題(詳見下面的參考資料)。如果程序有新版本,請使用較新版本,但有時程序沒有新版本,您必須使用它。如果有任何程序(不只是JProfiler)給出了這個問題,請執行以下步驟:

  1. 在程序文件夾下搜索.vmoptions。
  2. 用文本編輯器打開它。
  3. 減小-Xmx大小(嘗試降序,例如:512m,256m,128m,64m),直到找到合適的大小。對於每個尺寸,嘗試啓動該程序。

Solution from Jetbrains

1

這是由在您的應用程序的主線程中引發的異常引起的。通常會在錯誤窗口中捕獲並顯示這些異常,但是如果在顯示窗口時出現另一個異常,您將只獲取您所觀察的日誌文件條目。

可能導致此問題的異常是OutOfMemoryError,尤其是與PermGen空間有關。

相關問題