PocketMine / PocketMine-MP

Legacy PocketMine-MP repository. Head to https://github.com/pmmp for up to date software.
https://www.pocketmine.net/
GNU Lesser General Public License v3.0
1.26k stars 660 forks source link

Memory Leak with PocketMine V1.5 (Build #1258) lasting? #3370

Closed ThomasMatthis closed 9 years ago

ThomasMatthis commented 9 years ago

Does anyone has the same problem? Crash happens 2-3 hours after Startup, in general:

PocketMine-MP Crash Dump Mon Aug 10 13:23:13 CEST 2015

Error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 131072 bytes)

File: /src/pocketmine/nbt/NBT__64bitLine: 148 Type: E_ERRORCode:[139]} [140]return $this->buffer;[141]}[142][143]return \false;[144] }[145][146] public function writeCompressed($compression = ZLIB_ENCODING_GZIP, $level = 7){[147]if(($write = $this->write()) !== \false){[148]return \zlib_encode($write, $compression, $level);[149]}[150][151]return \false;[152] }[153][154] public function readTag(){[155]switch(\ord($this->get(1))){[156]case NBT::TAG_Byte:[157]$tag = new Byte($this->getString());[158]$tag->read($this);

Backtrace:#0 (): pocketmine\Server->crashDump()PocketMine-MP version: 1.5dev #1258 [Protocol 27; API 1.12.0] Git commit: 0000000000000000000000000000000000000000 x86_64PHP Version: 5.6.10Zend version: 2.6.0 OS : Linux, linux Loaded plugins:GodMode 2.3 by LDX for API(s) 1.0.0, 1.1.0, 1.2.0, 1.3.0, 1.4.0

Error occurs also without GodMode Plugin installed!

Unfortunately I can't attach the Memory dump, since I can't access a fully featured PC at the moment...

ghost commented 9 years ago

Try lowering your memory or give priority to php and close all programs you use (sorry for my bad english)

ThomasMatthis commented 9 years ago

I reduced Memory to 512 MB (MCPE 1.4 worked fine with this configuration).

Moreover I stopped almost all other services on the server (except PHP).

Curios to see of this will solve the issue.

(Btw.: Don't worry about your english, I'm from Germany)

ThomasMatthis commented 9 years ago

Well, this one looks interesting: Tonight the error reported above occured again:

PocketMine-MP Crash Dump Thu Aug 13 03:24:24 CEST 2015 Error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 131072 bytes) File: /src/pocketmine/nbt/NBT__64bitLine: 148Type: E_ERROR

The interesting part is that I lowered the memory allocation before start-up in the server.properties to 512M:

memory-limit=512M

But the crash occured when memory consumption reached 1024 MB, in other words: Memory limitation in the configfile does not take effect anymore!

shoghicp commented 9 years ago

This is warned on startup, you have to set it up over pocketmine.yml. That config is deprecated

ThomasMatthis commented 9 years ago

Thank you, shoghicp!

I reinstalled the server from scratch. Is it save to use the memory default settings in pocketmine.yml, i.e

Global soft memory limit in megabytes. Set to 0 to disable

This will trigger low-memory-triggers and fire an event to free memory when the usage goes over this global-limit: 0

Main thread soft memory limit in megabytes. Set to 0 to disable

This will trigger low-memory-triggers and fire an event to free memory when the usage goes over this main-limit: 0

Main thread hard memory limit in megabytes. Set to 0 to disable

This will stop the server when the limit is surpassed

main-hard-limit: 1024

(My server should have up to 2GB free Memory available for the mindcraft process)

Regards

ThomasMatthis commented 9 years ago

Unfortunately a memory issue remains even with the new config:

Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 32 bytes) in phar:///home/server/POCKETMINE/SERVER4/PocketMine-MP.phar/src/pocketmine/level/Level__64bit.php on line 1259 [22:30:26] [Server thread/EMERGENCY]: An unrecoverable error has occurred and the server has crashed. Creating a crash dump

Only "progress" we made is that the crash took place in line 1259, now (instand 148). Actually the result looks not completely surprising to me, since with no proper configfile (pocketmine.yml) in place (like in the first case) the server should pretty much behave like a server which is set to it's default settings by it's default configuration file...

I'll try to get the crash dump from the server somehow even with no sftp at hand...

Regards

ThomasMatthis commented 9 years ago

And here comes the dump (maybe with a viel reluctant LFs, but this is all my iPad mini can handle):

====BEGIN CRASH DUMP=== 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 ====END CRASH DUMP===

ghost commented 9 years ago

Search in pocketmine forum the ASR plugin. This plugin can help you because pocketmine always crash (i dont know why pocketmine is unnestable after 2-3 hours) with this plugin you can reload the server to get some memory for pocketmine and say bye to memory leak

ThomasMatthis commented 9 years ago

Thank you, SkygridRex, that looks like good advice! I'm gonna play around with the config (pocketmine.yml) first, like this:

Global soft memory limit in megabytes. Set to 0 to disable

This will trigger low-memory-triggers and fire an event to free memory when the usage goes over this global-limit: 1

Main thread soft memory limit in megabytes. Set to 0 to disable

This will trigger low-memory-triggers and fire an event to free memory when the usage goes over this main-limit: 1

Main thread hard memory limit in megabytes. Set to 0 to disable

This will stop the server when the limit is surpassed

main-hard-limit: 2048

Maybe this will get the memory management shoghicp implemeted to work and prevent the Server from chrashing...? Otherwise I'll use the ASR Plugin.

Thanks again!

ghost commented 9 years ago

Try with this configuration (maybe is better) memory:

Global soft memory limit in megabytes. Set to 0 to disable

This will trigger low-memory-triggers and fire an event to free memory when the usage goes over this

global-limit: 2048

Main thread soft memory limit in megabytes. Set to 0 to disable

This will trigger low-memory-triggers and fire an event to free memory when the usage goes over this

main-limit: 512

Period in ticks to check memory (default 1 second)

check-rate: 20

Continue firing low-memory-triggers and event while on low memory

continuous-trigger: true

Only if memory.continuous-trigger is enabled. Specifies the rate in memory.check-rate steps (default 30 seconds)

continuous-trigger-rate: 30

garbage-collection:

Period in ticks to fire the garbage collector manually (default 30 minutes), set to 0 to disable

This only affect the main thread. Other threads should fire their own collections

period: 36000

Fire asynchronous tasks to collect garbage from workers

collect-async-worker: true

Trigger on low memory

low-memory-trigger: true

max-chunks:

Limit of chunks to load per player, overrides chunk-sending.max-chunks

trigger-limit: 96

Do chunk garbage collection on trigger

trigger-chunk-collect: true

Trigger on low memory

low-memory-trigger: true

world-caches: disable-chunk-cache: false low-memory-trigger: true

network:

Threshold for batching packets, in bytes. Only these packets will be compressed

Set to 0 to compress everything, -1 to disable.

batch-threshold: 0

Compression level used when sending batched packets. Higher = more CPU, less bandwidth usage

compression-level: 8

Use AsyncTasks for compression. Adds half/one tick delay, less CPU load on main thread

async-compression: true

Experimental, only for Windows. Tries to use UPnP to automatically port forward

upnp-forwarding: false

debug:

If > 1, it will show debug messages in the console

level: 1

Enables /status, /gc

commands: true

level-settings:

The default format that levels will use when created

default-format: mcregion

If true, converts from a format that is not the default to the default format on load

NOTE: This is currently not implemented

convert-format: false

Automatically change levels tick rate to maintain 20 ticks per second

auto-tick-rate: true auto-tick-rate-limit: 5

Sets the base tick rate (1 = 20 ticks per second, 2 = 10 ticks per second, etc.)

base-tick-rate: 1

Tick all players each tick even when other settings disallow this.

always-tick-players: false

chunk-sending:

Amount of chunks sent to players per tick

per-tick: 2

Amount of chunks sent around each player

max-chunks: 192

Amount of chunks that need to be sent before spawning the player

spawn-threshold: 56

Save a serialized copy of the chunk in memory for faster sending

Useful in mostly-static worlds where lots of players join at the same time

cache-chunks: true

chunk-ticking:

Max amount of chunks processed each tick

per-tick: 0

Radius of chunks around a player to tick

tick-radius: 3 light-updates: true clear-tick-list: true

chunk-generation:

Max. amount of chunks in the waiting queue to be generated

queue-size: 8

Max. amount of chunks in the waiting queue to be populated

population-queue-size: 8

Use this configuration to reduce de memory use and bandwich usage

ThomasMatthis commented 9 years ago

Thanks a lot! My memory settings were ridiculously low, since I mixed up MB with GB!

ghost commented 9 years ago

If i understand, Do you set all values in GB? Example 1024MB 1MB

ThomasMatthis commented 9 years ago

Initialy I thougt all settings were in GB, so I wrote:

global-limit: 1

for instance, believing this meant 1 GB...

But for this case it should have been

global-limit: 1024

Don't worry, I changed the configuration now very similar to the configuration example you gave. And the server is still up and running after 12+ hours! :-)

Thanks again!

ghost commented 9 years ago

Do you have a public server? Because i can help you

ThomasMatthis commented 9 years ago

Mezzo Mezzo. Server is available through the Internet (VServer), but only used by me and a couple of kids. Therefore no heavy traffic and only a handful logins each day...

Thanks, again for your help, Diego, but I think I can get along at the moment.

And me and the kids just can't wait to get MCPE 0.12 into our hands... ;-)

mattbisme commented 9 years ago

I still seem to run into this issue daily. I have tried the suggestions in this ticket, but they only seem to prolong an inevitable crash. Memory never seems to clear itself at all, even after everyone has logged out of the server.

ThomasMatthis commented 9 years ago

It looks to me as if the configuration mechanism described above is sort of a workaround to deal with some kind of memory issue (in the version history one sees that they did a lot about memory management in MCPE V1.5). Even though the workaround works for me my concern is that the server might accidently set free some memory which is actually in use and, hence, corrupt the world. Therefore I followed the advice to install the ASR plugin and restart the server like every 2 hours to prevent any crashes!

mattbisme commented 9 years ago

The ASR plugin advises against setting the timer anything beyond one hour. Have you found it to be an issue?

ThomasMatthis commented 9 years ago

No problems so far...I think it depends on the configuration. My impression is, that the memory leak eats up apprx 150 MB per hour. So if you are running the server with only 256 MB allocated memory you should restart every hour...

mcprostar205 commented 9 years ago

I've been experiencing memory exhaustion on Build 1258 for several weeks. Tweaking the pocketmine.yml has not helped. This issue occurs after several hours and typically when the server has very few or 0 players. I'm out of options but it is apparent the PHP process is not freeing memory...it just grows.

Btw, is this issue closed because it was solved?

server.log

2015-08-22 [20:43:06] [Server thread/EMERGENCY]: An unrecoverable error has occurred and the server has crashed. Creating a crash dump 2015-08-22 [20:43:06] [Server thread/EMERGENCY]: Please upload the "/home/lkk/minecraft/pocket-1.5b1258/CrashDump_Sat_Aug_22-20.43.06-PDT_2015.log" file to the Crash Archive and submit the link to the Bug Reporting page. Give as much info as you can.

Crash Dump

PocketMine-MP Crash Dump Sat Aug 22 20:43:06 PDT 2015

Error: Allowed memory size of 780140544 bytes exhausted (tried to allocate 32 bytes) File: /src/pocketmine/nbt/tag/Double Line: 49 Type: E_ERROR

Code:

Backtrace:

0 (): pocketmine\Server->crashDump()

PocketMine-MP version: 1.5dev #1258 [Protocol 27; API 1.12.0] Git commit: 0000000000000000000000000000000000000000 uname -a: Linux lkkraft 2.6.32-504.16.2.el6.i686 #1 SMP Wed Apr 22 04:04:03 UTC 2015 i686 PHP Version: 5.6.2 Zend version: 2.6.0 OS : Linux, linux

Loaded plugins: SignPortal 1.1.2 by 99leonchang for API(s) 1.3.1 EconomyJob 2.0.4 by onebone for API(s) 1.0.0, 1.1.0, 1.2.0, 1.2.1, 1.3.0, 1.3.1, 1.4.0, 1.4.1 NetherChests 1.1.1 by aliuly for API(s) 1.12.0 xRulesx 1.0.0 by xFlare for API(s) 1.8.0 KeepInventory 1.2.0 by boybook for API(s) 1.0.0 ItemCloud 1.3 by onebone for API(s) 1.4.0 EconomyAPI 2.0.8 by onebone for API(s) 1.0.0, 1.1.0, 1.2.0, 1.2.1, 1.3.0, 1.3.1, 1.4.0, 1.4.1 GrabBag 2.2.7 by aliuly for API(s) 1.10.0, 1.11.0, 1.12.0 EconomyAuction 2.0.2 by onebone for API(s) 1.0.0, 1.1.0, 1.2.0, 1.2.1, 1.3.0, 1.3.1, 1.4.0, 1.4.1 SimpleAuth 1.7.1 by PocketMine Team, shoghicp for API(s) 1.12.0 BuddyNotify 1.1.1 by Scott Handley for API(s) 1.10.0 PeacefulSpawn 2.4 by LDX for API(s) 1.3.1, 1.4.0 FireBlade 1.0.2 by aliuly for API(s) 1.10.0 CommandTracker 1.1 by Scott Handley for API(s) 1.10.0 ClearLagg 1.1.0 by LegendOfMCPE for API(s) 1.0.0 WorldProtect 2.1.0 by aliuly for API(s) 1.10.0, 1.12.0 ManyWorlds 2.0.1 by aliuly for API(s) 1.10.0 PurePerms 1.1.8 by 64FF00 for API(s) 1.12.0 ItemCasePE 1.0.5 by aliuly for API(s) 1.10.0 EconomyPShop 2.0.1 by onebone for API(s) 1.12.0 EconomySell 2.0.6 by onebone for API(s) 1.12.0 EconomyAirport 2.0.4 by onebone for API(s) 1.12.0 EconomyLand 2.0.8 by onebone for API(s) 1.12.0 EconomyShop 2.0.6 by onebone for API(s) 1.12.0 EconomyProperty 2.0.5 by onebone for API(s) 1.12.0 BattleKits 1.0.4 by Falkirks for API(s) 1.0.0

----------------------REPORT THE DATA BELOW THIS LINE-----------------------

===BEGIN CRASH DUMP=== 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 ===END CRASH DUMP===

ThomasMatthis commented 9 years ago

Hi Scott, I don't think that the memory problem with Version 1.5 has been solved for real, but since there are workarounds to deal with the situation (see thread above, esp. regarding usage of ASR Plugin) and developers are already working on 1.6 I closed this issue. Regards Thomas

mcprostar205 commented 9 years ago

Thank you Thomas for the confirmation. I might have found the contributor to memory exhaustion. I used GrabBag's "entities" command and discovered several hundred entities, especially mobs, squid, and villagers. After running "/entities nuke all" the memory appears to be remaining much lower. I wonder if you or others can confirm the same. If so, we can have the PocketMine team look into these entities that may be leaking memory. I'm sure if its not fixed in 1.5 that it will be problematic in 1.6. PM 1.4 was much more stable; hopefully we can help the PM team get a stable 1.6.

ThomasMatthis commented 9 years ago

That is valuable new Information, Scott. I could reopen the ticket to ensure the team gets informed. Problem is, that I wouldn't find time to give them any Feedback, if needed. Would you take care of this ticket then and answer any questions? Otherwise you could open a new issue with the newly found Information!

Am 24.08.2015 um 05:31 schrieb Scott notifications@github.com:

Thank you Thomas for the confirmation. I might have found the contributor to memory exhaustion. I used GrabBag's "entities" command and discovered several hundred entities, especially mobs, squid, and villagers. After running "/entities nuke all" the memory appears to be remaining much lower. I wonder if you or others can confirm the same. If so, we can have the PocketMine team look into these entities that may be leaking memory. I'm sure if its not fixed in 1.5 that it will be problematic in 1.6. PM 1.4 was much more stable; hopefully we can help the PM team get a stable 1.6.

— Reply to this email directly or view it on GitHub.

ThomasMatthis commented 9 years ago

I did a little research at GitHub and twitter (@pocketmine) and I wonder, if anyone in the team would be interested in fixing the V1.5 issues at all. In the GitHubs' pocketmine repository there doesn't seem to be any V1.5 branch anymore (which is probably the cause for not having a stable V1.5 version, yet). And already on 07/14/2015 it got announced at twitter "@PocketMine: PocketMine 1.6 will support Windows 10, Android, iOS and Windows Phone players on the same server! Also in the future Java players as well". Sounds to me, that MCPE 1.6 won't have a common code base with V1.5, but will be a completly new piece of software...hence reopening this issue is probably helpless!

mcprostar205 commented 9 years ago

Thank you Thomas. I wonder if the MPCE 0.12 branch is for PM 1.6? But you're right. I don't see a PM 1.5, although it really won't matter once MPCE 0.12 is out. My users will upgrade their clients and then be unable to play on PM 1.5 due to incompatibility. It will force the upgrade to PM 1.6. Let's see!

mattbisme commented 9 years ago

I recognize that with 1.6 on the way, this issue may or may not be relevant anymore, but in case that it is: I recently switched the my server over to Anvil worlds only. It has been running great since I abandoned the old MCRegion worlds.

Now, these new worlds do not have as many of the entities that @mcprostar205 mentioned, but I thought it worth mentioning. Memory usage is extremely low for me now. I no longer need to run ASR!

ThomasMatthis commented 9 years ago

Interesting! Do you know if it's possible to convert an existing MCRegion world into the anvil format with MCPE? Regards

legoboy0215 commented 9 years ago

This is not a forum @ThomasMatthis

mattbisme commented 9 years ago

While I recognize that a question like that could cause a ticket to spiral off-topic, I do think @ThomasMatthis is asking something helpful. A map converter would be quite useful when determining whether or not the map format is related to the memory leak.

That said, I have invested many hours in trying to convert existing MCRegion worlds to Anvil worlds. Nothing I have found (even Mojang's own tool) has been helpful. I even asked about it in Pocketmine IRC channel where user @Intyre mentioned he might try to create a conversion tool (after his surprise that the Mojang took did not work). In the end, I used the WorldEdit plugin to copy over parts at a time.

If performance is format related, then conversion of an existing, problematic, MCRegion map would be very helpful.

legoboy0215 commented 9 years ago

Ask in the forums then. A bunch of posts about that..

ghost commented 9 years ago

@legoboy0215 if you don't like answer the questions only go out (i dont like the people said this is not a forum and don't help the people)

ThomasMatthis commented 9 years ago

Thank you very much for your support, @SkygridRex and @mattbisme. Both of you have a point: If the memory leak depends on the data format used this is important information for the community esp. since many users most likely treasure their "old worlds" (like me and my son). And arguing that the issue is a big topic in the forums without offering the slightest hint where and what to look for doesn't meet the users needs. Nevertheless @legoboy0215 hint that this is a basically a bug tracking tool, not a forum, is kind of right, too.

I'm sorry if I caused any anger with my comments and if so I apology. Maybe we can meet everybodys needs by

A) providing a link to some related Information in the forums in order to complete this issue B) opening another issue in order to track @mattbisme observations?

Regards Thomas

ghost commented 9 years ago

@ThomasMatthis run your MCRegion world on Minecraft PC then you get a Anvil world

ghost commented 9 years ago

It's a theory not tested

PEMapModder commented 9 years ago

@SkygridRex You are recommended to use mcregion since it is faster.