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:
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.
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: