Comments (21)
I tried it several times.
Using 1 or 2 before and then set it back to auto.
from pocketmine-mp.
Reproduced on Windows 10 Home 64-bit 14393.531 with php 7.0.12 x64, circumstances unknown. First try this happened, second time it started up fine.
from pocketmine-mp.
Problem maybe solved. thanks to SalmonGER for the advice
pocketmine.yml / async-workers fault.
pocketmine cant use more than 4 cores so if ur dedicated server has more than 4 and u have async-workers set to auto. You will get segmentation fault.
#Set this approximately to your number of cores.
#If set to auto, it'll try to detect the number of cores (or use 2)
async-workers: 4
from pocketmine-mp.
This points to a recursive function call. While the observed random exit 127 (and on Linux, random segmentation fault) is a pthreads bug, as it should yield an out of memory error, this points to an issue within the PocketMine core itself.
from pocketmine-mp.
Quoting Avdi in Ruby Tapas - Episode #385 - Error 127:
"AHA! It turns out, 127 is a standard shell command exit status value, and it means “command not found”. "
https://www.rubytapas.com/2016/02/22/episode-385-error-127/
from pocketmine-mp.
Program received signal SIGSEGV, Segmentation fault.
malloc_consolidate (av=av@entry=0x7ffff650e760 <main_arena>)
at malloc.c:4149
4149 size = p->size & ~(PREV_INUSE|NON_MAIN_ARENA);
(gdb) bt
#0 malloc_consolidate (av=av@entry=0x7ffff650e760 <main_arena>)
at malloc.c:4149
#1 0x00007ffff61d1ea5 in _int_malloc (
av=av@entry=0x7ffff650e760 <main_arena>, bytes=bytes@entry=16384)
at malloc.c:3443
#2 0x00007ffff61d38dc in __GI___libc_malloc (bytes=16384)
at malloc.c:2895
#3 0x00007ffff7773251 in yaml_parser_initialize ()
from /home/dktapps/test/bundle/bin/php7/bin/../lib/libyaml-0.so.2
#4 0x00000000007109ed in ?? ()
#5 0x00007fffffffa510 in ?? ()
#6 0x00007fffca6ee398 in ?? ()
#7 0x0000000000000000 in ?? ()
(gdb)
From a CentOS server (x64) php 7.0.12
from pocketmine-mp.
I'm seeing config-related segfaults like this very frequently, yes. It appears to be an extension issue as opposed to a core bug.
from pocketmine-mp.
Appears to be failing here, not quite sure why yet, but to me it seems like a libc bug, rather than a yaml, PHP or PocketMine bug.
Another potential cause may be heap trashing by another piece of code that results in a malloc segfault, but I'm surprised it always fails in the same place.
from pocketmine-mp.
I've got a little more info on this one since December.
Running Valgrind over the php binary running PocketMine throws a whole swathe of issues out, which could point to a bigger issue. I haven't had time to sort through the issues reported, but when I do, I'll report back here.
from pocketmine-mp.
The issues described in this issue are due to ZTS issues in PHP 7.0 and 7.1. We'll be upgrading to PHP 7.2 as soon as possible. PHP 7.2 fixes a wide range of stability issues such as this.
Since this is a PHP issue and not PocketMine, I'm going to close this.
from pocketmine-mp.
Are you certain this is caused by this setting? Try to reproduce it a few times?
from pocketmine-mp.
Looks fine on my end using 074583d. Tested in two environments: Windows 10 Pro 14951 & (official) PHP 7.0.3, MacOS 10.12.1 & (non-standard) PHP 7.0.12.
from pocketmine-mp.
Interesting.
Using the number of cores I have(4), gives the same error.
So it detects my cores correctly.
So it must be something different.
I did not test it with 4 yesterday, because I didn't know how many cores I have.
from pocketmine-mp.
I did run it now from source and it also happend only at the first start with php 7.0.3 x64.
from pocketmine-mp.
" First try this happened, second time it started up fine." - dktapps
Exactly what I saw the first two times I started PocketMine-MP_1.6.1dev-73_794ff643_API-2.1.0.
However, I have loaded half a dozen different Pocketmine forks in the past three days, and I have seen this randomly occurring exit 127 in all of them.
It is NOT running out of physical memory; I have the system monitor constantly displayed, only 57% max of my 8GB is in use.
from pocketmine-mp.
Yaml?!
from pocketmine-mp.
Any solution?
from pocketmine-mp.
Actually, if you look at https://travis-ci.org/pmmp/PocketMine-MP/builds/198337842, you'll see that in Travis at least it can use 32 cores...
from pocketmine-mp.
its not a fix its just a temporary solution. it worked for me so im sure it will help others. i have no knowledge with coding but it could be something to do with the async-workers part of code. my dedicated server has 8 cores but pocketmine doesnt let me use all 8. only 4 max so i don't know how anyone would use 32. maybe its worth looking into.
from pocketmine-mp.
I haven't had time to investigate this myself... but there is one annoying segfault that almost always occurs on shutdown on Travis.
from pocketmine-mp.
I had this problem today, all I had to do was update my php binaries for pocketmine. I was using PHP 7.0.3 and updated to 7.0.18 and everything seems to be working now.
from pocketmine-mp.
Related Issues (20)
- Same file inline optimization
- Enums limit plugins' ability to create custom stuff with existing PM core code
- Variable chunk send rate based on available bandwidth
- Explore running RakLib without a thread
- I'm retiring HOT 104
- Changer RakLib write in full php to extension zend with Raknet official HOT 5
- Implementing new blocks is a pain in the ass HOT 1
- Separate blockstate upgrader system into a library
- Is that removed? HOT 1
- Entities are not loaded from disk HOT 2
- Server connection infinite loading HOT 1
- ToolTiers Register HOT 2
- "/ver", "/version" and "/about" commands issue. HOT 1
- Automatically declare parent permission groups HOT 1
- A bug with the armor equipment sounds
- broadcast sound bug HOT 1
- Make onEnable always run before worlds load, remove `onLoad`, remove `load:` from `plugin.yml`
- Stuck at downloading resource pack HOT 5
- Integrate revamped CallbackValidator
- Consolidate world data version info
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pocketmine-mp.