forum

[resolved] OutOfMemoryException

posted
Total Posts
6
Topic Starter
Zgoon
CPU: Intel(R) Xeon(R) CPU E3-1231 v3 @ 3.40GHz
RAM: 16GB DDR3 RAM
HDD: 1TB (There is enough free capacity)
VGA: NVIDIA GeForce GTX 970 (VRAM 4GB)
osu! version: Stable 20191102.2


Problem details:
This problem occurs only when you have a large number of beatmaps. (50k+ beatmaps)

If you click on long tracks several times, an error loading audio for this beatmap error will occur and the song will not be loaded.

Also, if you play a long track and the result window appears, you will receive a message indicating that the score uploading failed. (or a crash may occur during play)

When this problem occurred, osu! was using about 700MB of RAM.

This is a temporary solution to the problem:
1. Close the game
2. Delete the osu!.db file
3. Restart the game and reload the beatmaps.
4. Wait for the difficulty calculation to finish.
5. Restart the game
6. Observe


Even with this method, the problem was reproduced after some time.


runtime.log (when you try to upload your score):
2019-11-04T09:04:36: ERROR: Fatal error occurred during score submission
2019-11-04T09:04:36: System.OutOfMemoryException: 'System.OutOfMemoryException' 형식의 예외가 Throw되었습니다.
2019-11-04T09:04:36: 위치: #=zDW3WWutZmeT8FxRlmOKdlvh3SX9d.#=zKb2BqTk=(UInt32 #=zskDNogc=, UInt32 #=zb0rMfB770Vny, UInt32 #=zaW0ee4K7He4f, UInt32 #=zDmfwYrGZPsFi)
2019-11-04T09:04:36: 위치: #=zmy7r2z0WNzl4vbL7e_amLZjp4JIO.#=zKb2BqTk=()
2019-11-04T09:04:36: 위치: #=zmy7r2z0WNzl4vbL7e_amLZjp4JIO.#=zrF431$I=(Stream #=zUTN9Ymej20qc, Stream #=zUZk5w2CX5u1H, Int64 #=zbJXujWs=, Int64 #=zVgPjibs=)
2019-11-04T09:04:36: 위치: #=zmy7r2z0WNzl4vbL7e_amLZjp4JIO.#=z78asgLQ=(Stream #=zUTN9Ymej20qc, Stream #=zUZk5w2CX5u1H, Int64 #=zbJXujWs=, Int64 #=zVgPjibs=, #=z2yGWI1WAwN$1yeC$NdR_gWg= #=zoZN1cZw=)
2019-11-04T09:04:36: 위치: #=zWq$Fzx8mEHGwEor6CzwoRS4ZixEOIbC5BAkKKqg=.#=zMgiMdGg=(Byte[] #=zwsCH54ljIeBn)
2019-11-04T09:04:36: 위치: #=qqOoQNK2X2jX0Se45KdGzUgazXF5PIpz4YwOmZnTNpKU=.#=z1yq63mkeOX7Wsc4rhYahQtM=(Object #=z8gimE9M=)
2019-11-04T09:04:36: 위치: #=qqOoQNK2X2jX0Se45KdGzUgazXF5PIpz4YwOmZnTNpKU=.#=zhQgvbAkWXMfFstvjHBuD6DTOR3Jb(MethodBase #=z8gimE9M=, Boolean #=z_NFhJuY=)
2019-11-04T09:04:36: 위치: #=qqOoQNK2X2jX0Se45KdGzUgazXF5PIpz4YwOmZnTNpKU=.#=zAh8mVY_pTLzop2sFR8QVO_U=(#=qqOoQNK2X2jX0Se45KdGzUgazXF5PIpz4YwOmZnTNpKU= #=z8gimE9M=, #=qpZYair0WkJUa6mPf$C8ZmWizr$6luDYRHX5_HQxekzo= #=z_NFhJuY=)
2019-11-04T09:04:36: 위치: #=qqOoQNK2X2jX0Se45KdGzUgazXF5PIpz4YwOmZnTNpKU=.#=zAtjaFo7e9XSKLHW$SXXaecY4$472()
2019-11-04T09:04:36: 위치: #=qqOoQNK2X2jX0Se45KdGzUgazXF5PIpz4YwOmZnTNpKU=.#=z8SJqAytMCul2pkTspNaoUCOYIiWFBH$_IaCEbJe34_1w(Boolean #=z8gimE9M=)



runtime.log (when you try to play beatmap):
2019-11-04T16:47:04: ERROR:
2019-11-04T16:47:04: System.OutOfMemoryException: 'System.OutOfMemoryException' 형식의 예외가 Throw되었습니다.
2019-11-04T16:47:04: 위치: #=zqC3H2onlsffN70x$Zf70rmE=..ctor(Stream #=zEgOicaA=, Int32 #=zfbfgO5F$Br_J, #=zqC3H2onlsffN70x$Zf70rmE= #=zBKruqHY=)
2019-11-04T16:47:04: 위치: #=zRf2yIL9Eg66LwExCqZ0FwxQ=..ctor(Stream #=zCNN5xEE=, Boolean #=zf0g4oMU=, Boolean #=zmr8v74U=)
2019-11-04T16:47:04: 위치: #=zo2P$$aimcRoDVfV1FA==.#=zCDIOXuqilRqE(#=zCbWAdrsLNWCbMk$vKtKeLsdRKRM_Y9mDbAzTNCgZoLwt #=zaUvFJ1uGO56x, Boolean #=zf0g4oMU=, Boolean #=zmr8v74U=, #=zo2P$$aimcRoDVfV1FA== #=zg3MyIRQ=)
2019-11-04T16:47:04: 위치: #=zcehAZk3EeUHZWrYjNw==.#=z$z56ded7Qwc5(#=zCbWAdrsLNWCbMk$vKtKeLsdRKRM_Y9mDbAzTNCgZoLwt #=zaUvFJ1uGO56x, Boolean #=zgUZ9zKVRUn5T, Boolean #=zf0g4oMU=, Boolean #=zNXDIUZi1qrEk, Boolean #=zmr8v74U=)
2019-11-04T16:47:04: 위치: #=zXYZNCV11dzSI6OapPahWqvCdouuU.#=zbKxV1TuVw4DF()
2019-11-04T16:47:04: 위치: #=zXYZNCV11dzSI6OapPahWqvCdouuU.#=zKHRMIYw16kRt()
2019-11-04T16:47:04: 위치: #=zKp5pp1YHQp9h8aE9lOnntqg=.#=zG6VaSW4=()



System Event Log (when a crash occurs during play):
응용 프로그램: osu!.exe
Framework 버전: v4.0.30319
설명: 처리되지 않은 예외로 인해 프로세스가 종료되었습니다.
예외 정보:System.OutOfMemoryException
위치: System.String.CtorCharArrayStartLength(Char[], Int32, Int32)
위치: System.IO.BinaryReader.ReadString()
위치: System.Runtime.Serialization.Formatters.Binary.__BinaryParser.ReadAssembly(System.Runtime.Serialization.Formatters.Binary.BinaryHeaderEnum)
위치: System.Runtime.Serialization.Formatters.Binary.__BinaryParser.Run()
위치: System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(System.Runtime.Remoting.Messaging.HeaderHandler, System.Runtime.Serialization.Formatters.Binary.__BinaryParser, Boolean, Boolean, System.Runtime.Remoting.Messaging.IMethodCallMessage)
위치: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(System.IO.Stream, System.Runtime.Remoting.Messaging.HeaderHandler, Boolean, Boolean, System.Runtime.Remoting.Messaging.IMethodCallMessage)
위치: System.Resources.ResourceReader.DeserializeObject(Int32)
위치: System.Resources.ResourceReader._LoadObjectV2(Int32, System.Resources.ResourceTypeCode ByRef)
위치: System.Resources.ResourceReader.LoadObjectV2(Int32, System.Resources.ResourceTypeCode ByRef)
위치: System.Resources.ResourceReader.LoadObject(Int32, System.Resources.ResourceTypeCode ByRef)
위치: System.Resources.RuntimeResourceSet.GetObject(System.String, Boolean, Boolean)
위치: System.Resources.RuntimeResourceSet.GetObject(System.String, Boolean)
위치: System.Resources.ResourceManager.GetObject(System.String, System.Globalization.CultureInfo, Boolean)
위치: System.Resources.ResourceManager.GetObject(System.String, System.Globalization.CultureInfo)
위치: #=z3TV1WJ7aun7etMLTWQ==.#=zmqNJR5QO5$jPhG8glA==()
위치: #=zuwMWRO8QsRKEMwBpPSwZk34=.#=zvo2NY7JhIPHa()
위치: #=zuwMWRO8QsRKEMwBpPSwZk34=..ctor(System.Exception, Boolean)
위치: #=zgtcJUW0g8go3zT0MnQ==+#=zxqz6LTKXrhNkWfohDrysdS0=.#=zJ0vwVUEKaQiQjD3JkQ==()
위치: #=zn6lrwIEslQT3QTbxJ7QK0JA=.#=zieK6ZPw=(#=zCaeUTpvX9mHPIWV$kq1NDxw=, Boolean)
위치: #=zgtcJUW0g8go3zT0MnQ==.#=z8bH39dw=(System.Exception, Boolean)
위치: #=zgtcJUW0g8go3zT0MnQ==+#=z1V0V0MI=.#=zAGWNrAHOK_mmmKcMuMNN5oQ=(System.Object, System.Threading.ThreadExceptionEventArgs)
위치: System.Windows.Forms.Application+ThreadContext.OnThreadException(System.Exception)
위치: System.Windows.Forms.Control.WndProcException(System.Exception)
위치: System.Windows.Forms.Control+ControlNativeWindow.OnThreadException(System.Exception)
위치: System.Windows.Forms.NativeWindow.Callback(IntPtr, Int32, IntPtr, IntPtr)



Video or screenshot showing the problem:

jjong
*chokes*
Ok, now that i read it, it looks like a hardware issue. I can't guarantee that it is but the fact that the problem occurs again after removing osu.db and that makes it seem like a larger problem. It could be the games fault in failure to locate ram but i'm retarted and your pc has 16gb already so it could be just the game. Have you gotten the blue screen where the computer restarts yet? (Memory Management Blue Screen Error)
Full Tablet

TakumiBoi wrote:

*chokes*
Ok, now that i read it, it looks like a hardware issue. I can't guarantee that it is but the fact that the problem occurs again after removing osu.db and that makes it seem like a larger problem. It could be the games fault in failure to locate ram but i'm retarted and your pc has 16gb already so it could be just the game. Have you gotten the blue screen where the computer restarts yet? (Memory Management Blue Screen Error)

The way the game is built, it can't use more than around ~1.3GB of memory (out of the 2GB of address space the process can use), no matter how much RAM your computer has.

Having OutOfMemoryException errors in the beatmap selection screen when having more than 100K maps is very common.

You can solve this by turning on the /LARGEADDRESSAWARE flag in the game executable (but you won't be able to play online, since you are using a modified client).
Topic Starter
Zgoon

TakumiBoi wrote:

Have you gotten the blue screen where the computer restarts yet? (Memory Management Blue Screen Error)


Bluescreen doesn't happen. It's just osu! is crashed.

Full Tablet wrote:

You can solve this by turning on the /LARGEADDRESSAWARE flag in the game executable (but you won't be able to play online, since you are using a modified client).


Is it correct to use that option as an osu!.exe execute argument?
Nothing seems to happen. Online feature also work very well.
Death
I'd appreciate it if we didn't tell people to modify their executables, regardless of the intention.
Topic Starter
Zgoon
Fixed in Stable 20191107.2 (b20191107 cuttingedge).
For more information, see the link below:
https://github.com/ppy/osu-stable-issues/issues/206
Please sign in to reply.

New reply