| Summary: | EGit Synchronize View causes OOM | ||
|---|---|---|---|
| Product: | [Technology] EGit | Reporter: | Nikolay Metchev <nikolaymetchev> |
| Component: | UI | Assignee: | Dariusz Luksza <dariusz.luksza> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | angvoz.dev, caniszczyk, dariusz.luksza, denis.manig, ilya.ivanov, irbull, jamesblackburn+eclipse, matthias.sohn, pawelec_p, remy.suen, robin |
| Version: | unspecified | ||
| Target Milestone: | 2.3 | ||
| Hardware: | PC | ||
| OS: | Windows 7 | ||
| Whiteboard: | |||
| Bug Depends on: | |||
| Bug Blocks: | 323839 | ||
|
Description
Nikolay Metchev
Sync View seems to be very inefficient with large repositories. I can be worng, but looks like it loads ALL change sets from repository into memory and executes comparison one by one to find changed files. Our repository is ~900 Mb and contains about more than 20 000 change sets. Sync View gobbled 1.3 Gb of phisical memory and Eclipse crashed with out of memory error. Does this still apply? Well... For our repository it doesn't produce OOM anymore, but still grabs a lot of memory (for some branches > 1Gb). And such Synchronization Eclipse slows down dramatically. So still needs some optimization IMHO. However improvemens are great! In most cases Sync View is usable :) It's happening for me as well... It's still serious problem. Even if extend eclipse -Xmx, Eclipse after succesful synchronization slows down dramatically.... I'd like add something more. I have over 4000 files in 130 projects. EGit crash (with OOM) everytime I start syncronize. I use Eclipse Helios 64bit with 3GB Ram (-Xmx3000m). Java 1.6.024(64). I don't know for sure, but it looks that problem occured after I installed JBoss Tools pack... # # A fatal error has been detected by the Java Runtime Environment: # # java.lang.OutOfMemoryError: requested 47056 bytes for Chunk::new. Out of swap space? # # Internal Error (allocation.cpp:272), pid=5132, tid=788 # Error: Chunk::new # # JRE version: 6.0_24-b07 # Java VM: Java HotSpot(TM) 64-Bit Server VM (19.1-b02 mixed mode windows-amd64 compressed oops) # If you would like to submit a bug report, please visit: # http://java.sun.com/webapps/bugreport/crash.jsp # --------------- T H R E A D --------------- Current thread (0x000000000692c000): JavaThread "CompilerThread0" daemon [_thread_in_native, id=788, stack(0x0000000007930000,0x0000000007a30000)] Stack: [0x0000000007930000,0x0000000007a30000] Current CompileTask: C2:1950 org.eclipse.jgit.treewalk.TreeWalk.addTree(Lorg/eclipse/jgit/lib/AnyObjectId;)I (10 bytes) --------------- P R O C E S S --------------- Java Threads: ( => current thread ) 0x0000000009bbb800 JavaThread "JavaScript indexing" daemon [_thread_blocked, id=5204, stack(0x000000000fc20000,0x000000000fd20000)] 0x0000000009bb9800 JavaThread "Worker-7" [_thread_blocked, id=4312, stack(0x000000000f120000,0x000000000f220000)] 0x0000000009bba000 JavaThread "Worker-6" [_thread_blocked, id=4948, stack(0x000000000eed0000,0x000000000efd0000)] 0x0000000009bb9000 JavaThread "Worker-5" [_thread_in_Java, id=5896, stack(0x000000000edd0000,0x000000000eed0000)] 0x0000000009bb8000 JavaThread "Worker-4" [_thread_blocked, id=5192, stack(0x000000000ecd0000,0x000000000edd0000)] 0x0000000009bb7800 JavaThread "Worker-3" [_thread_in_Java, id=5436, stack(0x000000000ebd0000,0x000000000ecd0000)] 0x0000000009bb5000 JavaThread "Worker-2" [_thread_blocked, id=5248, stack(0x000000000ead0000,0x000000000ebd0000)] 0x0000000009bb4800 JavaThread "Worker-1" [_thread_in_Java, id=5772, stack(0x000000000e9d0000,0x000000000ead0000)] 0x0000000009bb6800 JavaThread "Java indexing" daemon [_thread_blocked, id=5320, stack(0x000000000e6b0000,0x000000000e7b0000)] 0x0000000009bb6000 JavaThread "[ThreadPool Manager] - Idle Thread" daemon [_thread_blocked, id=4316, stack(0x000000000e4b0000,0x000000000e5b0000)] 0x0000000009091800 JavaThread "Provisioning Event Dispatcher" daemon [_thread_blocked, id=5404, stack(0x000000000ce90000,0x000000000cf90000)] 0x00000000098fa800 JavaThread "Worker-0" [_thread_blocked, id=548, stack(0x000000000cd90000,0x000000000ce90000)] 0x000000000bb2f800 JavaThread "Bundle File Closer" daemon [_thread_blocked, id=5700, stack(0x000000000a8e0000,0x000000000a9e0000)] 0x000000000951a000 JavaThread "Worker-JM" [_thread_blocked, id=5280, stack(0x000000000aae0000,0x000000000abe0000)] 0x000000000b427800 JavaThread "[Timer] - Main Queue Handler" daemon [_thread_blocked, id=1756, stack(0x000000000a9e0000,0x000000000aae0000)] 0x0000000009b6b800 JavaThread "Framework Event Dispatcher" daemon [_thread_blocked, id=4164, stack(0x000000000bbf0000,0x000000000bcf0000)] 0x0000000006a84800 JavaThread "Start Level Event Dispatcher" daemon [_thread_blocked, id=5920, stack(0x000000000a7e0000,0x000000000a8e0000)] 0x0000000008f77800 JavaThread "State Data Manager" daemon [_thread_blocked, id=2812, stack(0x000000000a6e0000,0x000000000a7e0000)] 0x000000000694f800 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=776, stack(0x0000000007b30000,0x0000000007c30000)] 0x0000000006941000 JavaThread "CompilerThread1" daemon [_thread_blocked, id=4612, stack(0x0000000007a30000,0x0000000007b30000)] =>0x000000000692c000 JavaThread "CompilerThread0" daemon [_thread_in_native, id=788, stack(0x0000000007930000,0x0000000007a30000)] 0x000000000692b000 JavaThread "Attach Listener" daemon [_thread_blocked, id=5884, stack(0x0000000007830000,0x0000000007930000)] 0x000000000692a000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=1232, stack(0x0000000007730000,0x0000000007830000)] 0x00000000068d9800 JavaThread "Finalizer" daemon [_thread_blocked, id=1460, stack(0x0000000007630000,0x0000000007730000)] 0x00000000068d3000 JavaThread "Reference Handler" daemon [_thread_blocked, id=5260, stack(0x0000000007530000,0x0000000007630000)] 0x000000000056b800 JavaThread "main" [_thread_in_native, id=3848, stack(0x00000000023a0000,0x00000000024a0000)] Other Threads: 0x00000000068c9000 VMThread [stack: 0x0000000007430000,0x0000000007530000] [id=2816] 0x0000000006969800 WatcherThread [stack: 0x0000000007c30000,0x0000000007d30000] [id=4428] VM state:not at safepoint (normal execution) VM Mutex/Monitor currently owned by a thread: None Heap PSYoungGen total 910336K, used 446955K [0x00000007c0800000, 0x0000000800000000, 0x0000000800000000) eden space 780288K, 40% used [0x00000007c0800000,0x00000007d3d7d638,0x00000007f0200000) from space 130048K, 99% used [0x00000007f0200000,0x00000007f80fd6e8,0x00000007f8100000) to space 130048K, 0% used [0x00000007f8100000,0x00000007f8100000,0x0000000800000000) PSOldGen total 2080768K, used 5494K [0x0000000741800000, 0x00000007c0800000, 0x00000007c0800000) object space 2080768K, 0% used [0x0000000741800000,0x0000000741d5dbf8,0x00000007c0800000) PSPermGen total 80000K, used 79832K [0x0000000721800000, 0x0000000726620000, 0x0000000741800000) object space 80000K, 99% used [0x0000000721800000,0x00000007265f6100,0x0000000726620000) Dynamic libraries: 0x0000000000400000 - 0x000000000042e000 C:\Windows\system32\javaw.exe 0x0000000077640000 - 0x00000000777ec000 C:\Windows\SYSTEM32\ntdll.dll 0x0000000077520000 - 0x000000007763f000 C:\Windows\system32\kernel32.dll 0x000007fefd750000 - 0x000007fefd7bb000 C:\Windows\system32\KERNELBASE.dll 0x000007feff870000 - 0x000007feff94b000 C:\Windows\system32\ADVAPI32.dll 0x000007fefe420000 - 0x000007fefe4bf000 C:\Windows\system32\msvcrt.dll 0x000007feff710000 - 0x000007feff72f000 C:\Windows\SYSTEM32\sechost.dll 0x000007feff740000 - 0x000007feff86e000 C:\Windows\system32\RPCRT4.dll 0x0000000077420000 - 0x000000007751a000 C:\Windows\system32\USER32.dll 0x000007fefe560000 - 0x000007fefe5c7000 C:\Windows\system32\GDI32.dll 0x000007feff730000 - 0x000007feff73e000 C:\Windows\system32\LPK.dll 0x000007fefdde0000 - 0x000007fefdeaa000 C:\Windows\system32\USP10.dll 0x000007fefe6e0000 - 0x000007fefe70e000 C:\Windows\system32\IMM32.DLL 0x000007fefe5d0000 - 0x000007fefe6d9000 C:\Windows\system32\MSCTF.dll 0x000000006d7f0000 - 0x000000006def4000 C:\Program Files\Java\jre6\bin\server\jvm.dll 0x000007fefb5b0000 - 0x000007fefb5eb000 C:\Windows\system32\WINMM.dll 0x000000006d760000 - 0x000000006d76e000 C:\Program Files\Java\jre6\bin\verify.dll 0x000000006d3b0000 - 0x000000006d3d7000 C:\Program Files\Java\jre6\bin\java.dll 0x000000006d310000 - 0x000000006d31a000 C:\Program Files\Java\jre6\bin\hpi.dll 0x0000000077810000 - 0x0000000077817000 C:\Windows\system32\PSAPI.DLL 0x000000006d7b0000 - 0x000000006d7c2000 C:\Program Files\Java\jre6\bin\zip.dll 0x000007fefd110000 - 0x000007fefd127000 C:\Windows\system32\CRYPTSP.dll 0x000007fefcc00000 - 0x000007fefcc47000 C:\Windows\system32\rsaenh.dll 0x000007fefc9e0000 - 0x000007fefc9fe000 C:\Windows\system32\USERENV.dll 0x000007fefd5d0000 - 0x000007fefd5df000 C:\Windows\system32\profapi.dll 0x000007fefd5e0000 - 0x000007fefd5ef000 C:\Windows\system32\CRYPTBASE.dll 0x000000006d600000 - 0x000000006d617000 C:\Program Files\Java\jre6\bin\net.dll 0x000007fefd970000 - 0x000007fefd9bd000 C:\Windows\system32\WS2_32.dll 0x000007fefe710000 - 0x000007fefe718000 C:\Windows\system32\NSI.dll 0x000007fefcec0000 - 0x000007fefcf14000 C:\Windows\system32\mswsock.dll 0x000007fefd2d0000 - 0x000007fefd2d7000 C:\Windows\System32\wship6.dll 0x000007fefbff0000 - 0x000007fefc005000 C:\Windows\system32\NLAapi.dll 0x000007fefce60000 - 0x000007fefcebb000 C:\Windows\system32\DNSAPI.dll 0x000007fef86f0000 - 0x000007fef86fb000 C:\Windows\System32\winrnr.dll 0x000007fef86d0000 - 0x000007fef86e5000 C:\Windows\system32\napinsp.dll 0x000007fef86b0000 - 0x000007fef86c9000 C:\Windows\system32\pnrpnsp.dll 0x000007fefa620000 - 0x000007fefa64e000 C:\Program Files\Common Files\Microsoft Shared\Windows Live\WLIDNSP.DLL 0x000007fefe900000 - 0x000007fefe971000 C:\Windows\system32\SHLWAPI.dll 0x000007fefcb50000 - 0x000007fefcb57000 C:\Windows\System32\wshtcpip.dll 0x000007fefad40000 - 0x000007fefad67000 C:\Windows\system32\IPHLPAPI.DLL 0x000007fefad30000 - 0x000007fefad3b000 C:\Windows\system32\WINNSI.DLL 0x000007fefa610000 - 0x000007fefa618000 C:\Windows\system32\rasadhlp.dll 0x000007fefabe0000 - 0x000007fefac33000 C:\Windows\System32\fwpuclnt.dll 0x0000000072000000 - 0x0000000072012000 D:\IDE\eclipse64\plugins\org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.1.R36x_v20100810\eclipse_1309.dll 0x000007fefbc00000 - 0x000007fefbdf4000 C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7600.16661_none_fa62ad231704eab7\COMCTL32.dll 0x000007fefc890000 - 0x000007fefc89c000 C:\Windows\system32\VERSION.dll 0x000007fefc050000 - 0x000007fefc0a6000 C:\Windows\system32\uxtheme.dll 0x000007fefded0000 - 0x000007fefe0d2000 C:\Windows\system32\ole32.dll 0x000000006d620000 - 0x000000006d62b000 C:\Program Files\Java\jre6\bin\nio.dll 0x0000000010000000 - 0x000000001009b000 D:\IDE\eclipse64\configuration\org.eclipse.osgi\bundles\560\1\.cp\swt-win32-3655.dll 0x000007fefe340000 - 0x000007fefe417000 C:\Windows\system32\OLEAUT32.dll 0x000007fefe4c0000 - 0x000007fefe558000 C:\Windows\system32\comdlg32.dll 0x000007fefe980000 - 0x000007feff706000 C:\Windows\system32\SHELL32.dll 0x000007fefdcb0000 - 0x000007fefdddc000 C:\Windows\system32\WININET.dll 0x000007fefdae0000 - 0x000007fefdc59000 C:\Windows\system32\urlmon.dll 0x000007fefd800000 - 0x000007fefd966000 C:\Windows\system32\CRYPT32.dll 0x000007fefd640000 - 0x000007fefd64f000 C:\Windows\system32\MSASN1.dll 0x000007fefe0e0000 - 0x000007fefe339000 C:\Windows\system32\iertutil.dll 0x000007fefc670000 - 0x000007fefc688000 C:\Windows\system32\dwmapi.dll 0x0000000008140000 - 0x000000000815e000 D:\IDE\eclipse64\configuration\org.eclipse.osgi\bundles\560\1\.cp\swt-gdip-win32-3655.dll 0x000007fefb9e0000 - 0x000007fefbbf5000 C:\Windows\WinSxS\amd64_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.7600.16385_none_2b4f45e87195fcc4\gdiplus.dll 0x000007fefb770000 - 0x000007fefb89a000 C:\Windows\system32\WindowsCodecs.dll 0x0000000180000000 - 0x0000000180011000 D:\IDE\eclipse64\configuration\org.eclipse.osgi\bundles\65\1\.cp\os\win32\x86_64\localfile_1_0_0.dll 0x000007fefc1c0000 - 0x000007fefc2ec000 C:\Windows\system32\propsys.dll 0x000007fefda40000 - 0x000007fefdad9000 C:\Windows\system32\CLBCatQ.DLL 0x000007fef7990000 - 0x000007fef7b5a000 C:\Windows\system32\explorerframe.dll 0x000007fefc6b0000 - 0x000007fefc6f3000 C:\Windows\system32\DUser.dll 0x000007fefb8e0000 - 0x000007fefb9d2000 C:\Windows\system32\DUI70.dll 0x000007fef3950000 - 0x000007fef39a4000 C:\Windows\system32\oleacc.dll 0x000007fefd560000 - 0x000007fefd574000 C:\Windows\system32\RpcRtRemote.dll 0x000007fefabc0000 - 0x000007fefabc7000 C:\Windows\system32\msimg32.dll 0x000007fefb040000 - 0x000007fefb051000 D:\IDE\eclipse64\configuration\org.eclipse.osgi\bundles\68\1\.cp\jWinHttp-1.0.0.dll 0x000007fef9de0000 - 0x000007fef9e4e000 C:\Windows\system32\WINHTTP.dll 0x000007fef9d70000 - 0x000007fef9dd4000 C:\Windows\system32\webio.dll 0x000007fefe720000 - 0x000007fefe8f7000 C:\Windows\system32\SETUPAPI.dll 0x000007fefd650000 - 0x000007fefd686000 C:\Windows\system32\CFGMGR32.dll 0x000007fefd730000 - 0x000007fefd74a000 C:\Windows\system32\DEVOBJ.dll 0x000007fefc860000 - 0x000007fefc88d000 C:\Windows\system32\ntmarta.dll 0x000007fefdc60000 - 0x000007fefdcb0000 C:\Windows\system32\WLDAP32.dll 0x000007fefd460000 - 0x000007fefd4b7000 C:\Windows\system32\apphelp.dll 0x000007fef7b90000 - 0x000007fef7c10000 C:\Windows\system32\ntshrui.dll 0x000007fefca70000 - 0x000007fefca93000 C:\Windows\system32\srvcli.dll 0x000007fef82a0000 - 0x000007fef82af000 C:\Windows\system32\cscapi.dll 0x000007fefb480000 - 0x000007fefb48b000 C:\Windows\system32\slc.dll 0x000000000f4f0000 - 0x000000000f524000 C:\Program Files (x86)\WinSCP\DragExt64.dll 0x000007fefc820000 - 0x000007fefc82c000 C:\Windows\system32\netutils.dll 0x000007fef7d40000 - 0x000007fef7d4c000 C:\Windows\system32\LINKINFO.dll 0x000007fefa8e0000 - 0x000007fefa8fd000 C:\Windows\system32\mssprxy.dll VM Arguments: jvm_args: -Dosgi.requiredJavaVersion=1.6 -Xms3048m -Xmx3048m -XX:MaxPermSize=512M java_command: d:\IDE\eclipse64\plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar -os win32 -ws win32 -arch x86_64 -showsplash -launcher D:\IDE\eclipse64\eclipse.exe -name Eclipse --launcher.library d:\IDE\eclipse64\plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.1.R36x_v20100810\eclipse_1309.dll -startup d:\IDE\eclipse64\plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar -exitdata cbc_5c -product org.eclipse.epp.package.jee.product -vm C:\Windows\system32\javaw.exe -vmargs -Dosgi.requiredJavaVersion=1.6 -Xms3048m -Xmx3048m -XX:MaxPermSize=512M -jar d:\IDE\eclipse64\plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar Launcher Type: SUN_STANDARD Environment Variables: PATH=C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Windows Live\Shared;c:\Program Files\Java\jre6\bin USERNAME=xxxx OS=Windows_NT PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 42 Stepping 7, GenuineIntel --------------- S Y S T E M --------------- OS: Windows 7 Build 7600 CPU:total 8 (4 cores per cpu, 2 threads per core) family 6 model 42 stepping 7, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, ht Memory: 4k page, physical 8370596k(2393624k free), swap 8573464k(5108k free) vm_info: Java HotSpot(TM) 64-Bit Server VM (19.1-b02) for windows-amd64 JRE (1.6.0_24-b07), built on Feb 2 2011 16:25:45 by "java_re" with MS VC++ 8.0 (VS2005) time: Thu Apr 14 20:10:38 2011 elapsed time: 63 seconds Also see bug 352282. When reviewing and testing [1] (which improves performance for "Workspace Model" sync dramatically) I did some heap dump analysis and found that the Synchronize View currently has a quite inefficient implementation eating a lot of memory to support the "Git Changeset Model" mode [2]. This was also confirmed by Dariusz. [1] http://egit.eclipse.org/r/#change,3891 [2] http://dev.eclipse.org/mhonarc/lists/egit-dev/msg02347.html This should be fixed by change http://egit.eclipse.org/r/#change,4150 See bug 396209, where a problem with OOM was fixed for EGit 2.3. Please reopen if the problem still persists. *** Bug 368585 has been marked as a duplicate of this bug. *** *** Bug 390796 has been marked as a duplicate of this bug. *** |