GithubHelp home page GithubHelp logo

polserver / polserver Goto Github PK

View Code? Open in Web Editor NEW
133.0 133.0 60.0 393.1 MB

PenUltima Online (POL) is a MMO server, compatible with most Ultima Online clients. POL is customizable via configuration files and has its own scripting language (eScript).

Home Page: http://www.polserver.com/

Shell 0.18% C++ 80.29% Makefile 0.01% CMake 3.62% Python 2.71% C 11.18% Objective-C 0.01% EmberScript 0.50% Batchfile 0.08% Assembly 0.01% Pascal 0.11% HTML 0.75% Pawn 0.01% VBScript 0.01% ANTLR 0.24% Objective-C++ 0.29% Kaitai Struct 0.01% Starlark 0.01%

polserver's Introduction

Build Status Coverity Scan Build Status Coverage Status

POL

PenUltima Online (POL) is a MMO server, compatible with most Ultima Online clients. POL is customizable via configuration files and has its own scripting language (eScript). POL has been tested and run on both Windows and Linux natively, and builds are offered for both.

More information: http://www.polserver.com.
Forum: http://forums.polserver.com/
Docs: http://docs.polserver.com/

Discord: https://discord.gg/4JbC8hA

If you find bugs, please create an issue with the dump, relevant log lines and your best guess on how to reproduce the bug.

Current stable version: POL 100.1.0

Current development version: POL 100.2.0

Always check the core-changes.txt file for breaking changes when using the development version. We'll strive to keep the development version stable.

Contributing

You can send us pull requests at anytime. We expect you to be the author of the contributed code or that it's in a compatible license.

We always need updates or better descriptions in the docs, so feel free to send pull requests for changing them. You can find some of them in docs/docs.polserver.com/pol100.

The best way to get used to the code is to search for eScript functions in the cpp files. For example, "SystemFindObjectBySerial" or "ApplyDamage". This way you can see how eScript interfaces with the core and how to add/modify modules and functions.

Compiling in Windows

You need at least cmake version 3.9.

Recommended: Open the CMake GUI select the the root folder as source code folder, select the bin-build subfolder as "where to build the binaries" folder, and select your installed Visual Studio version e.g. Visual Studio 14 2015 Win64. Now simply press configure+generate+open project and it will directly open the solution file in your IDE. After building the binaries are located in the bin folder.

Not Recommended: If you are using Visual Studio 2017, you can try using the integraded CMake: use the open folder function and select the root folder. CMake will take a while to load: wait until the CMAKE manu appears, then you can use it to start the build, make sure to have the Realease mode selected.

Minimum compiler version: Visual Studio 2017

Warning: We can not easily debug dumps from self-compiled cores. Make sure you save the .pdb and .exe!

Compiling in Linux

Make sure you have the required libraries installed: zlib, openssl and the mysql client (if SQL supported is desired).

Then run the following commands (you need at least CMake 3.9):

  • cd bin-build
  • ./build_linux.sh

Minimum compiler version: GCC 8 or LLVM/Clang 7.

The command will generate binaries and dynamicaly linked libraries in the bin/ folder. You need them all for your binaries to work. Debug symbols are included by default.

To generate a compressed distributable archive (without debug symbols), then use ./build_linux_release.sh.

Manual/Advanced compiling

The following instructions are only for advanced users. If you only want to compile the core, please follow the steps above.

This software uses a CMake-based build system. CMake is a build system generator: on Linux, it will take care of generating a Makefile. If you are familiar with linux source tarballs, just think of cmake as a modern replacement for the good old ./configure script.

First of all, run cmake one first time and let it do some autodetection:

cd bin-build
cmake ..

A file called CMakeCache.txt has now been created: inside this file, you will find all the settings that will be used for your build. You have many options to edit this file:

  • by hand, with your favorite text editor (read the comments in the file header for a quick syntax briefing)
  • from a terminal GUI, like ccmake (sudo apt-get install cmake-curses-gui to install it on Debian-based systems): just launch the gui by typing ccmake . and follow the interface
  • from a X window GUI, like cmake-gui (sudo apt-get install cmake-qt-gui to install it on Debian-based systems): just launch the gui by typing cmake-gui . and follow the interface

Here is a non-complete description of the most useful options:

  • FORCE_ARCH_BITS='<bits>' replace <bits> with 32 to force a 32 bit build, 64, to force a 64 bit build. The default settings use autodetection.
  • BUILD='<type>' replace <type> with one of the following:
    • Default: runs the default build using default settings
    • Debug: makes a debug build (adds '-O2', '-g', '--ggdb')
    • Valgrind: makes a special debug build to be used in Valgrind that will run very slowly (like Debug, but uses '-O0' instead of '-O2')

You can also set an option directly with the '-D' cmake flag, by example:

cmake -Wno-dev -DFORCE_ARCH_BITS=32 -DBUILD=Debug

Keep in mind that even when set this way, the option will be saved in the CMakeCache.txt configuraton file and remembered for future builds.

You can now use the classic make command to compile the POL. You can type:

  • make or make all to do the build

You will find the compiled files inside the bin/ folder.

To delete intermediate build files and clean the folder you can use the interective clean.py script.

polserver's People

Contributors

admin-yukiko avatar alkhemeia avatar asylum- avatar austinheilman avatar boberski666 avatar brndd avatar che666 avatar dsourc avatar eric-swanson avatar frozenblit avatar gtozzi avatar hope-lives avatar kevineady avatar kukkimonsuta avatar murderinc avatar nogu3ira avatar nycenom avatar qwreq avatar reloecc avatar sigmantium avatar turleypol avatar vitorfdl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

polserver's Issues

Aux connection issue "Unable to extract type character"

pol 2019-12-18
The .php and the .src for the test is attached into this issue. The test case is a php file that connects to pol aux and send two change password requests one after the other.

What's the current behavior and steps to reproduce (1):

  • fsockopen() from a php file on the pol's aux port.
  • Then the the data to send using MuadDib's "POL Pack/Unpack Include file for PHP" version 11/26/2008.

$command = packPolVar(array("change_password", "admin", "z"));
$command .= "\n\r";
fwrite($fp, $command);

And print the returned value:

$response = fgets($fp, 2048);
$response = unpackPolVar($response);
?>
POL Returned: <?PHP
print_r ($response);

On Pol Console I have these lines of debug:

polaux1

The password does change, but it seems to be creating a second worker, maybe for 'connection.transmit()' the result or php's fgets() call is creating a worker as it doesn't send a message (and then "unable to extract type character") or maybe for the second fwrite() call (the php file sends two 'change password' with fwrite().

The thing is, if the second call to change the password is removed, pol prints the same thing which leads to a second worker being created for fgets() or 'connection.transmit()', using two change passwords request, the second call seems to be ignored (due the lack of another set of messages in the pol's console).

What's the expected behavior?:
The php connects to aux, send the first password change, the script execute the order and return to php; php then send the second password change request, the script execute on pol and return the result again.

aux_issue_test_case.zip

Fresh Install Fail

Just installed Windows 10 x64 on my laptop.
Fresh install of VS 2017 community
CMAKE seemed fine but building the solution i received:

19>LINK : fatal error LNK1181: cannot open input file '..\..\..\cmake\..\lib\curl-7.57.0\builds\libcurl-x64-release-static\lib\libcurl.lib'
19>Done building project "pol.vcxproj" -- FAILED.```

Crash POL 02-06-2017

Client (Character Mamkolub) tried to drop an item out of range.
Client (Character Mamkolub) tried to drop an item out of range.
Client (Character Mamkolub) tried to drop an item out of range.
Client (Character Mamkolub) tried to drop an item out of range.
Client (Character Mamkolub) tried to drop an item out of range.
Client (Character Mamkolub) tried to drop an item out of range.
sysload=6 (2) cputime=0
scpt: 641227 task: 60(0) scin: 1748315 scsl: 2397600084 MOB: 3494 TLI: 66612
Client (Character Mamkolub) tried to drop an item out of range.
Client (Character Mamkolub) tried to drop an item out of range.
Client (Character Mamkolub) tried to drop an item out of range.
Client (Character Mamkolub) tried to drop an item out of range.
Client (Character Mamkolub) tried to drop an item out of range.
Client (Character Mamkolub) tried to drop an item out of range.
sysload=3 (1) cputime=0
scpt: 689751 task: 60(0) scin: 1758868 scsl: 2579133658 MOB: 3494 TLI: 66612
Client (Character Mamkolub) tried to drop an item out of range.
Client (Character Mamkolub) tried to drop an item out of range.
BANNING SYSTEM: unbaned 0 banned 0
Client (Character Mamkolub) tried to drop an item out of range.
Client (Character Mamkolub) tried to drop an item out of range.
Client (Character Mamkolub) tried to drop an item out of range.
Client (Character Mamkolub) tried to drop an item out of range.
sysload=0 (0) cputime=0
scpt: 683244 task: 60(0) scin: 1828072 scsl: 2554034669 MOB: 3494 TLI: 66611
Client (Character Mamkolub) tried to drop an item out of range.
Client (Character Mamkolub) tried to drop an item out of range.
Client (Character Mamkolub) tried to drop an item out of range.
Client (Character Mamkolub) tried to drop an item out of range.
Client (Character Mamkolub) tried to drop an item out of range.
Client (Character Mamkolub) tried to drop an item out of range.
sysload=3 (0) cputime=0
scpt: 697656 task: 60(0) scin: 1782365 scsl: 2607781587 MOB: 3494 TLI: 66611
Client (Character Mamkolub) tried to drop an item out of range.
Client (Character Mamkolub) tried to drop an item out of range.
Client (Character Mamkolub) tried to drop an item out of range.
Client (Character Mamkolub) tried to drop an item out of range.
Client (Character Mamkolub) tried to drop an item out of range.
Client (Character Mamkolub) tried to drop an item out of range.
Client#1321: Switching to queued data mode (2)
sysload=0 (0) cputime=0
scpt: 655588 task: 60(0) scin: 1702720 scsl: 2452599006 MOB: 3494 TLI: 66611
Client (Character Mamkolub) tried to drop an item out of range.
Client (Character Mamkolub) tried to drop an item out of range.
Client disconnected from 77.222.115.80 (10 connections)
Client disconnected from 77.222.115.80 (9 connections)
*** buffer overflow detected : ./pol terminated
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x731af)[0x7ff77fa261af]
/lib/x86_64-linux-gnu/libc.so.6(__fortify_fail+0x37)[0x7ff77faabaa7]
/lib/x86_64-linux-gnu/libc.so.6(+0xf6cc0)[0x7ff77faa9cc0]
/lib/x86_64-linux-gnu/libc.so.6(+0xf8a17)[0x7ff77faaba17]
./pol(_ZN3Pol4Core16client_io_threadEPNS_7Network6ClientEb+0xf41)[0x649e91]
./lib/libclib.so(+0x4da0f)[0x7ff7818ada0f]
./lib/libclib.so(ZN3Pol10threadhelp10run_threadEPFvPvES1+0xe)[0x7ff7818b82de]
./lib/libclib.so(_ZN3Pol10threadhelp12thread_stub2EPv+0x58)[0x7ff7818b83e8]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x8064)[0x7ff7811f0064]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7ff77fa9b62d]
======= Memory map: ========
00400000-007e1000 r-xp 00000000 08:01 2360810 /home/ultima/server_2017_05_28/pol
009e0000-00a02000 r--p 003e0000 08:01 2360810 /home/ultima/server_2017_05_28/pol
00a02000-00a06000 rw-p 00402000 08:01 2360810 /home/ultima/server_2017_05_28/pol
00a06000-5987b000 rw-p 00000000 00:00 0 [heap]
7ff6d3ff8000-7ff6d3ff9000 ---p 00000000 00:00 0
7ff6d3ff9000-7ff6d47f9000 rw-p 00000000 00:00 0
7ff6d4ffa000-7ff6d4ffb000 ---p 00000000 00:00 0
7ff6d4ffb000-7ff6d57fb000 rw-p 00000000 00:00 0
7ff6d57fb000-7ff6d57fc000 ---p 00000000 00:00 0
7ff6d57fc000-7ff6d5ffc000 rw-p 00000000 00:00 0
7ff6d5ffc000-7ff6d5ffd000 ---p 00000000 00:00 0
7ff6d5ffd000-7ff6d67fd000 rw-p 00000000 00:00 0
7ff6d6ffe000-7ff6d6fff000 ---p 00000000 00:00 0
7ff6d6fff000-7ff6d77ff000 rw-p 00000000 00:00 0
7ff6d77ff000-7ff6d7800000 ---p 00000000 00:00 0
7ff6d7800000-7ff6d8000000 rw-p 00000000 00:00 0
7ff6d8000000-7ff6d8162000 rw-p 00000000 00:00 0
7ff6d8162000-7ff6dc000000 ---p 00000000 00:00 0
7ff6dc000000-7ff6dcc17000 rw-p 00000000 00:00 0
7ff6dcc17000-7ff6e0000000 ---p 00000000 00:00 0
7ff6e0000000-7ff6e00a6000 rw-p 00000000 00:00 0
7ff6e00a6000-7ff6e4000000 ---p 00000000 00:00 0
7ff6e4000000-7ff6e4056000 rw-p 00000000 00:00 0
7ff6e4056000-7ff6e8000000 ---p 00000000 00:00 0
7ff6e8000000-7ff6e8134000 rw-p 00000000 00:00 0
7ff6e8134000-7ff6ec000000 ---p 00000000 00:00 0
7ff6ec000000-7ff6ec322000 rw-p 00000000 00:00 0
7ff6ec322000-7ff6f0000000 ---p 00000000 00:00 0
7ff6f0000000-7ff6f0156000 rw-p 00000000 00:00 0
7ff6f0156000-7ff6f4000000 ---p 00000000 00:00 0
7ff6f47f9000-7ff6f47fa000 ---p 00000000 00:00 0
7ff6f47fa000-7ff6f4ffa000 rw-p 00000000 00:00 0
7ff6f5ffc000-7ff6f5ffd000 ---p 00000000 00:00 0
7ff6f5ffd000-7ff6f67fd000 rw-p 00000000 00:00 0
7ff6f6ffe000-7ff6f6fff000 ---p 00000000 00:00 0
7ff6f6fff000-7ff6f77ff000 rw-p 00000000 00:00 0
7ff6f77ff000-7ff6f7800000 ---p 00000000 00:00 0
7ff6f7800000-7ff6f8000000 rw-p 00000000 00:00 0
7ff6f8000000-7ff6f8113000 rw-p 00000000 00:00 0
7ff6f8113000-7ff6fc000000 ---p 00000000 00:00 0
7ff6fc000000-7ff6fc48f000 rw-p 00000000 00:00 0
7ff6fc48f000-7ff700000000 ---p 00000000 00:00 0
7ff700000000-7ff700415000 rw-p 00000000 00:00 0
7ff700415000-7ff704000000 ---p 00000000 00:00 0
7ff704000000-7ff7053d9000 rw-p 00000000 00:00 0
7ff7053d9000-7ff708000000 ---p 00000000 00:00 0
7ff708000000-7ff708021000 rw-p 00000000 00:00 0
7ff708021000-7ff70c000000 ---p 00000000 00:00 0
7ff70c000000-7ff70f25c000 rw-p 00000000 00:00 0
7ff70f25c000-7ff710000000 ---p 00000000 00:00 0
7ff710000000-7ff710021000 rw-p 00000000 00:00 0
7ff710021000-7ff714000000 ---p 00000000 00:00 0
7ff714000000-7ff714021000 rw-p 00000000 00:00 0
7ff714021000-7ff718000000 ---p 00000000 00:00 0
7ff718000000-7ff718021000 rw-p 00000000 00:00 0
7ff718021000-7ff71c000000 ---p 00000000 00:00 0
7ff71c000000-7ff71c021000 rw-p 00000000 00:00 0
7ff71c021000-7ff720000000 ---p 00000000 00:00 0
7ff720000000-7ff720021000 rw-p 00000000 00:00 0
7ff720021000-7ff724000000 ---p 00000000 00:00 0
7ff724000000-7ff724021000 rw-p 00000000 00:00 0
7ff724021000-7ff728000000 ---p 00000000 00:00 0
7ff728000000-7ff728021000 rw-p 00000000 00:00 0
7ff728021000-7ff72c000000 ---p 00000000 00:00 0
7ff72c000000-7ff72c021000 rw-p 00000000 00:00 0
7ff72c021000-7ff730000000 ---p 00000000 00:00 0
7ff730000000-7ff730021000 rw-p 00000000 00:00 0
7ff730021000-7ff734000000 ---p 00000000 00:00 0
7ff734000000-7ff734021000 rw-p 00000000 00:00 0
7ff734021000-7ff738000000 ---p 00000000 00:00 0
7ff738000000-7ff738021000 rw-p 00000000 00:00 0
7ff738021000-7ff73c000000 ---p 00000000 00:00 0
7ff73c000000-7ff740000000 rw-p 00000000 00:00 0
7ff7407f9000-7ff7407fa000 ---p 00000000 00:00 0
7ff7407fa000-7ff740ffa000 rw-p 00000000 00:00 0
7ff740ffa000-7ff740ffb000 ---p 00000000 00:00 0
7ff740ffb000-7ff7417fb000 rw-p 00000000 00:00 0
7ff7417fb000-7ff7417fc000 ---p 00000000 00:00 0
7ff7417fc000-7ff741ffc000 rw-p 00000000 00:00 0
7ff741ffc000-7ff741ffd000 ---p 00000000 00:00 0
7ff741ffd000-7ff7427fd000 rw-p 00000000 00:00 0
7ff7427fd000-7ff7427fe000 ---p 00000000 00:00 0
7ff7427fe000-7ff742ffe000 rw-p 00000000 00:00 0
7ff742ffe000-7ff742fff000 ---p 00000000 00:00 0
7ff742fff000-7ff7437ff000 rw-p 00000000 00:00 0
7ff7437ff000-7ff743800000 ---p 00000000 00:00 0
7ff743800000-7ff744000000 rw-p 00000000 00:00 0
7ff744000000-7ff744021000 rw-p 00000000 00:00 0
7ff744021000-7ff748000000 ---p 00000000 00:00 0
7ff7487f9000-7ff7487fa000 ---p 00000000 00:00 0
7ff7487fa000-7ff748ffa000 rw-p 00000000 00:00 0
7ff748ffa000-7ff748ffb000 ---p 00000000 00:00 0
7ff748ffb000-7ff7497fb000 rw-p 00000000 00:00 0
7ff7497fb000-7ff7497fc000 ---p 00000000 00:00 0
7ff7497fc000-7ff749ffc000 rw-p 00000000 00:00 0
7ff749ffc000-7ff749ffd000 ---p 00000000 00:00 0
7ff749ffd000-7ff74a7fd000 rw-p 00000000 00:00 0
7ff74a7fd000-7ff74a7fe000 ---p 00000000 00:00 0
7ff74a7fe000-7ff74affe000 rw-p 00000000 00:00 0
7ff74affe000-7ff74afff000 ---p 00000000 00:00 0
7ff74afff000-7ff74b7ff000 rw-p 00000000 00:00 0
7ff74b7ff000-7ff74b800000 ---p 00000000 00:00 0
7ff74b800000-7ff74c000000 rw-p 00000000 00:00 0
7ff74c000000-7ff74c021000 rw-p 00000000 00:00 0
7ff74c021000-7ff750000000 ---p 00000000 00:00 0
7ff750000000-7ff750021000 rw-p 00000000 00:00 0
7ff750021000-7ff754000000 ---p 00000000 00:00 0
7ff754000000-7ff754b58000 rw-p 00000000 00:00 0
7ff754b58000-7ff758000000 ---p 00000000 00:00 0
7ff758000000-7ff758021000 rw-p 00000000 00:00 0
7ff758021000-7ff75c000000 ---p 00000000 00:00 0
7ff75c000000-7ff75c021000 rw-p 00000000 00:00 0
7ff75c021000-7ff760000000 ---p 00000000 00:00 0
7ff7605c9000-7ff7605ca000 ---p 00000000 00:00 0
7ff7605ca000-7ff760dca000 rw-p 00000000 00:00 0
7ff760dca000-7ff760dcb000 ---p 00000000 00:00 0
7ff760dcb000-7ff7615cb000 rw-p 00000000 00:00 0
7ff7615cb000-7ff7615cc000 ---p 00000000 00:00 0
7ff7615cc000-7ff761dcc000 rw-p 00000000 00:00 0
7ff761dcc000-7ff761dcd000 ---p 00000000 00:00 0
7ff761dcd000-7ff7625cd000 rw-p 00000000 00:00 0
7ff7625cd000-7ff7625ce000 ---p 00000000 00:00 0
7ff7625ce000-7ff762dce000 rw-p 00000000 00:00 0
7ff762dce000-7ff762dcf000 ---p 00000000 00:00 0
7ff762dcf000-7ff7635cf000 rw-p 00000000 00:00 0
7ff7635cf000-7ff7635d0000 ---p 00000000 00:00 0
7ff7635d0000-7ff7655d1000 rw-p 00000000 00:00 0
7ff765d14000-7ff765d15000 ---p 00000000 00:00 0
7ff765d15000-7ff766515000 rw-p 00000000 00:00 0
7ff766515000-7ff766516000 ---p 00000000 00:00 0
7ff766516000-7ff766d16000 rw-p 00000000 00:00 0
7ff766d87000-7ff767464000 rw-p 00000000 00:00 0
7ff7674c5000-7ff767646000 rw-p 00000000 00:00 0
7ff767646000-7ff767651000 r-xp 00000000 08:01 3674972 /lib/x86_64-linux-gnu/libnss_files-2.19.so
7ff767651000-7ff767850000 ---p 0000b000 08:01 3674972 /lib/x86_64-linux-gnu/libnss_files-2.19.so
7ff767850000-7ff767851000 r--p 0000a000 08:01 3674972 /lib/x86_64-linux-gnu/libnss_files-2.19.so
7ff767851000-7ff767852000 rw-p 0000b000 08:01 3674972 /lib/x86_64-linux-gnu/libnss_files-2.19.so
7ff767852000-7ff778000000 rw-p 00000000 00:00 0
7ff778000000-7ff778021000 rw-p 00000000 00:00 0
7ff778021000-7ff77c000000 ---p 00000000 00:00 0
7ff77c043000-7ff77e8f8000 rw-p 00000000 00:00 0
7ff77e8f8000-7ff77ebb2000 r--p 00000000 08:01 805660 /usr/lib/locale/locale-archive
7ff77ebb2000-7ff77ebb3000 ---p 00000000 00:00 0
7ff77ebb3000-7ff77f3b3000 rw-p 00000000 00:00 0
7ff77f3b3000-7ff77f3b6000 r-xp 00000000 08:01 3674966 /lib/x86_64-linux-gnu/libdl-2.19.so
7ff77f3b6000-7ff77f5b5000 ---p 00003000 08:01 3674966 /lib/x86_64-linux-gnu/libdl-2.19.so
7ff77f5b5000-7ff77f5b6000 r--p 00002000 08:01 3674966 /lib/x86_64-linux-gnu/libdl-2.19.so
7ff77f5b6000-7ff77f5b7000 rw-p 00003000 08:01 3674966 /lib/x86_64-linux-gnu/libdl-2.19.so
7ff77f5b7000-7ff77f784000 r-xp 00000000 08:01 788233 /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
7ff77f784000-7ff77f983000 ---p 001cd000 08:01 788233 /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
7ff77f983000-7ff77f9a0000 r--p 001cc000 08:01 788233 /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
7ff77f9a0000-7ff77f9b0000 rw-p 001e9000 08:01 788233 /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
7ff77f9b0000-7ff77f9b3000 rw-p 00000000 00:00 0
7ff77f9b3000-7ff77fb54000 r-xp 00000000 08:01 3674963 /lib/x86_64-linux-gnu/libc-2.19.so
7ff77fb54000-7ff77fd54000 ---p 001a1000 08:01 3674963 /lib/x86_64-linux-gnu/libc-2.19.so
7ff77fd54000-7ff77fd58000 r--p 001a1000 08:01 3674963 /lib/x86_64-linux-gnu/libc-2.19.so
7ff77fd58000-7ff77fd5a000 rw-p 001a5000 08:01 3674963 /lib/x86_64-linux-gnu/libc-2.19.so
7ff77fd5a000-7ff77fd5e000 rw-p 00000000 00:00 0
7ff77fd5e000-7ff77fd74000 r-xp 00000000 08:01 3670020 /lib/x86_64-linux-gnu/libgcc_s.so.1
7ff77fd74000-7ff77ff73000 ---p 00016000 08:01 3670020 /lib/x86_64-linux-gnu/libgcc_s.so.1
7ff77ff73000-7ff77ff74000 rw-p 00015000 08:01 3670020 /lib/x86_64-linux-gnu/libgcc_s.so.1
7ff77ff74000-7ff77ff8a000 r-xp 00000000 08:01 798032 /usr/lib/x86_64-linux-gnu/libgomp.so.1.0.0
7ff77ff8a000-7ff780189000 ---p 00016000 08:01 798032 /usr/lib/x86_64-linux-gnu/libgomp.so.1.0.0
7ff780189000-7ff78018a000 rw-p 00015000 08:01 798032 /usr/lib/x86_64-linux-gnu/libgomp.so.1.0.0
7ff78018a000-7ff78028a000 r-xp 00000000 08:01 3674967 /lib/x86_64-linux-gnu/libm-2.19.so
7ff78028a000-7ff780489000 ---p 00100000 08:01 3674967 /lib/x86_64-linux-gnu/libm-2.19.so
7ff780489000-7ff78048a000 r--p 000ff000 08:01 3674967 /lib/x86_64-linux-gnu/libm-2.19.so
7ff78048a000-7ff78048b000 rw-p 00100000 08:01 3674967 /lib/x86_64-linux-gnu/libm-2.19.so
7ff78048b000-7ff780577000 r-xp 00000000 08:01 791412 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20
7ff780577000-7ff780777000 ---p 000ec000 08:01 791412 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20
7ff780777000-7ff78077f000 r--p 000ec000 08:01 791412 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20
7ff78077f000-7ff780781000 rw-p 000f4000 08:01 791412 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20
7ff780781000-7ff780796000 rw-p 00000000 00:00 0
7ff780796000-7ff780882000 r-xp 00000000 08:01 2360813 /home/ultima/server_2017_05_28/lib/libboost_regex.so.1.63.0
7ff780882000-7ff780a82000 ---p 000ec000 08:01 2360813 /home/ultima/server_2017_05_28/lib/libboost_regex.so.1.63.0
7ff780a82000-7ff780a86000 r--p 000ec000 08:01 2360813 /home/ultima/server_2017_05_28/lib/libboost_regex.so.1.63.0
7ff780a86000-7ff780a88000 rw-p 000f0000 08:01 2360813 /home/ultima/server_2017_05_28/lib/libboost_regex.so.1.63.0
7ff780a88000-7ff780a89000 rw-p 00000000 00:00 0
7ff780a89000-7ff780d41000 r-xp 00000000 08:01 790885 /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18.0.0
7ff780d41000-7ff780f41000 ---p 002b8000 08:01 790885 /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18.0.0
7ff780f41000-7ff780f48000 r--p 002b8000 08:01 790885 /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18.0.0
7ff780f48000-7ff780fc7000 rw-p 002bf000 08:01 790885 /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18.0.0
7ff780fc7000-7ff780fcd000 rw-p 00000000 00:00 0
7ff780fcd000-7ff780fe7000 r-xp 00000000 08:01 3670116 /lib/x86_64-linux-gnu/libz.so.1.2.8
7ff780fe7000-7ff7811e6000 ---p 0001a000 08:01 3670116 /lib/x86_64-linux-gnu/libz.so.1.2.8
7ff7811e6000-7ff7811e7000 r--p 00019000 08:01 3670116 /lib/x86_64-linux-gnu/libz.so.1.2.8
7ff7811e7000-7ff7811e8000 rw-p 0001a000 08:01 3670116 /lib/x86_64-linux-gnu/libz.so.1.2.8
7ff7811e8000-7ff781200000 r-xp 00000000 08:01 3673162 /lib/x86_64-linux-gnu/libpthread-2.19.so
7ff781200000-7ff7813ff000 ---p 00018000 08:01 3673162 /lib/x86_64-linux-gnu/libpthread-2.19.so
7ff7813ff000-7ff781400000 r--p 00017000 08:01 3673162 /lib/x86_64-linux-gnu/libpthread-2.19.so
7ff781400000-7ff781401000 rw-p 00018000 08:01 3673162 /lib/x86_64-linux-gnu/libpthread-2.19.so
7ff781401000-7ff781405000 rw-p 00000000 00:00 0
7ff781405000-7ff781417000 r-xp 00000000 08:01 2360550 /home/ultima/server_2017_05_28/lib/libtinyxml.so
7ff781417000-7ff781617000 ---p 00012000 08:01 2360550 /home/ultima/server_2017_05_28/lib/libtinyxml.so
7ff781617000-7ff781618000 r--p 00012000 08:01 2360550 /home/ultima/server_2017_05_28/lib/libtinyxml.so
7ff781618000-7ff781619000 rw-p 00013000 08:01 2360550 /home/ultima/server_2017_05_28/lib/libtinyxml.so
7ff781619000-7ff78163e000 r-xp 00000000 08:01 2360549 /home/ultima/server_2017_05_28/lib/libplib.so
7ff78163e000-7ff78183d000 ---p 00025000 08:01 2360549 /home/ultima/server_2017_05_28/lib/libplib.so
7ff78183d000-7ff78183e000 r--p 00024000 08:01 2360549 /home/ultima/server_2017_05_28/lib/libplib.so
7ff78183e000-7ff78183f000 rw-p 00025000 08:01 2360549 /home/ultima/server_2017_05_28/lib/libplib.so
7ff78183f000-7ff781860000 rw-p 00000000 00:00 0
7ff781860000-7ff7818ce000 r-xp 00000000 08:01 2360548 /home/ultima/server_2017_05_28/lib/libclib.so
7ff7818ce000-7ff781acd000 ---p 0006e000 08:01 2360548 /home/ultima/server_2017_05_28/lib/libclib.so
7ff781acd000-7ff781acf000 r--p 0006d000 08:01 2360548 /home/ultima/server_2017_05_28/lib/libclib.so
7ff781acf000-7ff781ad0000 rw-p 0006f000 08:01 2360548 /home/ultima/server_2017_05_28/lib/libclib.so
7ff781ad0000-7ff781ad2000 rw-p 00000000 00:00 0
7ff781ad2000-7ff781b96000 r-xp 00000000 08:01 2360547 /home/ultima/server_2017_05_28/lib/libbscript.so
7ff781b96000-7ff781d96000 ---p 000c4000 08:01 2360547 /home/ultima/server_2017_05_28/lib/libbscript.so
7ff781d96000-7ff781d9c000 r--p 000c4000 08:01 2360547 /home/ultima/server_2017_05_28/lib/libbscript.so
7ff781d9c000-7ff781da1000 rw-p 000ca000 08:01 2360547 /home/ultima/server_2017_05_28/lib/libbscript.so
7ff781da1000-7ff781dc1000 r-xp 00000000 08:01 3674960 /lib/x86_64-linux-gnu/ld-2.19.so
7ff781e06000-7ff781faa000 rw-p 00000000 00:00 0
7ff781fb9000-7ff781fc1000 rw-p 00000000 00:00 0
7ff781fc1000-7ff781fc2000 r--p 00020000 08:01 3674960 /lib/x86_64-linux-gnu/ld-2.19.so
7ff781fc2000-7ff781fc3000 rw-p 00021000 08:01 3674960 /lib/x86_64-linux-gnu/ld-2.19.so
7ff781fc3000-7ff781fc4000 rw-p 00000000 00:00 0
7fff25eea000-7fff25f0b000 rw-p 00000000 00:00 0 [stack]
7fff25f55000-7fff25f57000 r--p 00000000 00:00 0 [vvar]
7fff25f57000-7fff25f59000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
Signal "SIGABRT"(6: abort signal from abort()) detected.
Signal code is -6
########################################################################################
POL will exit now. Please, post the following to the forum: http://forums.polserver.com/.
#00 0x000000008188f160 in >> Pol::Clib::ExceptionParser::getTrace():[0x50] from ./lib/libclib.so
#1 0x0000000081890493 in >> Pol::Clib::ExceptionParser::handleExceptionSignal(int):[0x83] from ./lib/libclib.so
#2 0x00000000811f7890 in :[0xf890] from /lib/x86_64-linux-gnu/libpthread.so.0
#3 0x000000007f9e8067 in gsignal:[0x37] from /lib/x86_64-linux-gnu/libc.so.6
#4 0x000000007f9e9448 in abort:[0x148] from /lib/x86_64-linux-gnu/libc.so.6
#5 0x000000007fa261b4 in :[0x731b4] from /lib/x86_64-linux-gnu/libc.so.6
#6 0x000000007faabaa7 in __fortify_fail:[0x37] from /lib/x86_64-linux-gnu/libc.so.6
#7 0x000000007faa9cc0 in :[0xf6cc0] from /lib/x86_64-linux-gnu/libc.so.6
#8 0x000000007faaba17 in :[0xf8a17] from /lib/x86_64-linux-gnu/libc.so.6
#9 0x0000000000649e91 in >> Pol::Core::client_io_thread(Pol::Network::Client
, bool):[0xf41] from ./pol
#10 0x00000000818ada0f in :[0x4da0f] from ./lib/libclib.so
#11 0x00000000818b82de in >> Pol::threadhelp::run_thread(void (
)(void
), void*):[0xe] from ./lib/libclib.so
#12 0x00000000818b83e8 in >> Pol::threadhelp::thread_stub2(void*):[0x58] from ./lib/libclib.so
#13 0x00000000811f0064 in :[0x8064] from /lib/x86_64-linux-gnu/libpthread.so.0
#14 0x000000007fa9b62d in clone:[0x6d] from /lib/x86_64-linux-gnu/libc.so.6
Admin contact: anonymous
Executable: ./pol
Start time: [05/28 21:20:07]
Current time: [06/02 15:25:35]

Stack trace:
#00 0x000000008188f160 in >> Pol::Clib::ExceptionParser::getTrace():[0x50] from ./lib/libclib.so
#1 0x0000000081890493 in >> Pol::Clib::ExceptionParser::handleExceptionSignal(int):[0x83] from ./lib/libclib.so
#2 0x00000000811f7890 in :[0xf890] from /lib/x86_64-linux-gnu/libpthread.so.0
#3 0x000000007f9e8067 in gsignal:[0x37] from /lib/x86_64-linux-gnu/libc.so.6
#4 0x000000007f9e9448 in abort:[0x148] from /lib/x86_64-linux-gnu/libc.so.6
#5 0x000000007fa261b4 in :[0x731b4] from /lib/x86_64-linux-gnu/libc.so.6
#6 0x000000007faabaa7 in __fortify_fail:[0x37] from /lib/x86_64-linux-gnu/libc.so.6
#7 0x000000007faa9cc0 in :[0xf6cc0] from /lib/x86_64-linux-gnu/libc.so.6
#8 0x000000007faaba17 in :[0xf8a17] from /lib/x86_64-linux-gnu/libc.so.6
#9 0x0000000000649e91 in >> Pol::Core::client_io_thread(Pol::Network::Client*, bool):[0xf41] from ./pol
#10 0x00000000818ada0f in :[0x4da0f] from ./lib/libclib.so
#11 0x00000000818b82de in >> Pol::threadhelp::run_thread(void ()(void), void*):[0xe] from ./lib/libclib.so
#12 0x00000000818b83e8 in >> Pol::threadhelp::thread_stub2(void*):[0x58] from ./lib/libclib.so
#13 0x00000000811f0064 in :[0x8064] from /lib/x86_64-linux-gnu/libpthread.so.0
#14 0x000000007fa9b62d in clone:[0x6d] from /lib/x86_64-linux-gnu/libc.so.6

Compiler: gcc 4.8.5
Compile time: 17:26:17
Build target: LINUX (64bit)
Build revision: POL99.0.0 Break Everything Even Rudder
GNU C library (compile time): 2.19

########################################################################################
Signal "SIGSEGV"(11: invalid memory reference) detected.
Segmentation fault detected - faulty memory reference at location: 0xa6cb70
Signal code is 2
########################################################################################
POL will exit now. Please, post the following to the forum: http://forums.polserver.com/.
#00 0x000000008188f160 in >> Pol::Clib::ExceptionParser::getTrace():[0x50] from ./lib/libclib.so
#1 0x0000000081890493 in >> Pol::Clib::ExceptionParser::handleExceptionSignal(int):[0x83] from ./lib/libclib.so
#2 0x00000000811f7890 in :[0xf890] from /lib/x86_64-linux-gnu/libpthread.so.0
#3 [0xa6cb70]
Admin contact: anonymous
Executable: ./pol
Start time: [05/28 21:20:07]
Current time: [06/02 15:25:35]

Stack trace:
#00 0x000000008188f160 in >> Pol::Clib::ExceptionParser::getTrace():[0x50] from ./lib/libclib.so
#1 0x0000000081890493 in >> Pol::Clib::ExceptionParser::handleExceptionSignal(int):[0x83] from ./lib/libclib.so
#2 0x00000000811f7890 in :[0xf890] from /lib/x86_64-linux-gnu/libpthread.so.0
#3 [0xa6cb70]

Compiler: gcc 4.8.5
Compile time: 17:26:17
Build target: LINUX (64bit)
Build revision: POL99.0.0 Break Everything Even Rudder
GNU C library (compile time): 2.19

########################################################################################
Segmentation fault

Contribution

Your contribution is always welcome - you could:

  • send pull requests on Github
  • report bugs here on Github
  • take part in discussions in the official POL forum
    ...and ...and

Compiling on Windows with Visual Studio

Hello.
I got a problem while compiling on Windows via VStudio 2017.
When I start the compiling, it just gvie a Linker error, after sometimes I found out that the Static Library for libcurl has a wrong name that the project can't find. In fact, into the folder, the DLL is called libcurl-d, while Visual Studio was looking for libcurl without the '-d'.

Item creation not using Quality property from descriptor

When creating an item using a descriptor from GetItemDescriptor() and changing the Quality, CreateItemInBackpack() and CreateItemInContainer() are ignoring the descriptor Quality and using the original itemdesc.cfg value:
image
image
result:
image
image

Tested with the latest nightly version.
Thanks for you time!

Crash POL 03-06-2017

*** buffer overflow detected : ./pol terminated
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x731af)[0x7fe5b04041af]
/lib/x86_64-linux-gnu/libc.so.6(__fortify_fail+0x37)[0x7fe5b0489aa7]
/lib/x86_64-linux-gnu/libc.so.6(+0xf6cc0)[0x7fe5b0487cc0]
/lib/x86_64-linux-gnu/libc.so.6(+0xf8a17)[0x7fe5b0489a17]
./pol(_ZN3Pol4Core16client_io_threadEPNS_7Network6ClientEb+0xf41)[0x649e91]
./lib/libclib.so(+0x4da0f)[0x7fe5b228ba0f]
./lib/libclib.so(ZN3Pol10threadhelp10run_threadEPFvPvES1+0xe)[0x7fe5b22962de]
./lib/libclib.so(_ZN3Pol10threadhelp12thread_stub2EPv+0x58)[0x7fe5b22963e8]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x8064)[0x7fe5b1bce064]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7fe5b047962d]
======= Memory map: ========
00400000-007e1000 r-xp 00000000 08:01 2360810 /home/ultima/server_2017_05_28/pol
009e0000-00a02000 r--p 003e0000 08:01 2360810 /home/ultima/server_2017_05_28/pol
00a02000-00a06000 rw-p 00402000 08:01 2360810 /home/ultima/server_2017_05_28/pol
00a06000-59953000 rw-p 00000000 00:00 0 [heap]
7fe503ff8000-7fe503ff9000 ---p 00000000 00:00 0
7fe503ff9000-7fe5047f9000 rw-p 00000000 00:00 0
7fe5047f9000-7fe5047fa000 ---p 00000000 00:00 0
7fe5047fa000-7fe504ffa000 rw-p 00000000 00:00 0
7fe504ffa000-7fe504ffb000 ---p 00000000 00:00 0
7fe504ffb000-7fe5057fb000 rw-p 00000000 00:00 0
7fe5057fb000-7fe5057fc000 ---p 00000000 00:00 0
7fe5057fc000-7fe505ffc000 rw-p 00000000 00:00 0
7fe505ffc000-7fe505ffd000 ---p 00000000 00:00 0
7fe505ffd000-7fe5067fd000 rw-p 00000000 00:00 0
7fe5067fd000-7fe5067fe000 ---p 00000000 00:00 0
7fe5067fe000-7fe506ffe000 rw-p 00000000 00:00 0
7fe506ffe000-7fe506fff000 ---p 00000000 00:00 0
7fe506fff000-7fe5077ff000 rw-p 00000000 00:00 0
7fe5077ff000-7fe507800000 ---p 00000000 00:00 0
7fe507800000-7fe508000000 rw-p 00000000 00:00 0
7fe508000000-7fe5080a6000 rw-p 00000000 00:00 0
7fe5080a6000-7fe50c000000 ---p 00000000 00:00 0
7fe50c000000-7fe50c0eb000 rw-p 00000000 00:00 0
7fe50c0eb000-7fe510000000 ---p 00000000 00:00 0
7fe510000000-7fe510077000 rw-p 00000000 00:00 0
7fe510077000-7fe514000000 ---p 00000000 00:00 0
7fe514000000-7fe51417d000 rw-p 00000000 00:00 0
7fe51417d000-7fe518000000 ---p 00000000 00:00 0
7fe518000000-7fe518050000 rw-p 00000000 00:00 0
7fe518050000-7fe51c000000 ---p 00000000 00:00 0
7fe51c000000-7fe51c0bd000 rw-p 00000000 00:00 0
7fe51c0bd000-7fe520000000 ---p 00000000 00:00 0
7fe520000000-7fe52016a000 rw-p 00000000 00:00 0
7fe52016a000-7fe524000000 ---p 00000000 00:00 0
7fe524000000-7fe52410c000 rw-p 00000000 00:00 0
7fe52410c000-7fe528000000 ---p 00000000 00:00 0
7fe5287f9000-7fe5287fa000 ---p 00000000 00:00 0
7fe5287fa000-7fe528ffa000 rw-p 00000000 00:00 0
7fe528ffa000-7fe528ffb000 ---p 00000000 00:00 0
7fe528ffb000-7fe5297fb000 rw-p 00000000 00:00 0
7fe5297fb000-7fe5297fc000 ---p 00000000 00:00 0
7fe5297fc000-7fe529ffc000 rw-p 00000000 00:00 0
7fe529ffc000-7fe529ffd000 ---p 00000000 00:00 0
7fe529ffd000-7fe52a7fd000 rw-p 00000000 00:00 0
7fe52a7fd000-7fe52a7fe000 ---p 00000000 00:00 0
7fe52a7fe000-7fe52affe000 rw-p 00000000 00:00 0
7fe52affe000-7fe52afff000 ---p 00000000 00:00 0
7fe52afff000-7fe52b7ff000 rw-p 00000000 00:00 0
7fe52b7ff000-7fe52b800000 ---p 00000000 00:00 0
7fe52b800000-7fe52c000000 rw-p 00000000 00:00 0
7fe52c000000-7fe52cf19000 rw-p 00000000 00:00 0
7fe52cf19000-7fe530000000 ---p 00000000 00:00 0
7fe530000000-7fe5304ff000 rw-p 00000000 00:00 0
7fe5304ff000-7fe534000000 ---p 00000000 00:00 0
7fe534000000-7fe5362ff000 rw-p 00000000 00:00 0
7fe5362ff000-7fe538000000 ---p 00000000 00:00 0
7fe538000000-7fe538529000 rw-p 00000000 00:00 0
7fe538529000-7fe53c000000 ---p 00000000 00:00 0
7fe53c000000-7fe53c021000 rw-p 00000000 00:00 0
7fe53c021000-7fe540000000 ---p 00000000 00:00 0
7fe540000000-7fe540021000 rw-p 00000000 00:00 0
7fe540021000-7fe544000000 ---p 00000000 00:00 0
7fe544000000-7fe544021000 rw-p 00000000 00:00 0
7fe544021000-7fe548000000 ---p 00000000 00:00 0
7fe548000000-7fe548023000 rw-p 00000000 00:00 0
7fe548023000-7fe54c000000 ---p 00000000 00:00 0
7fe54c000000-7fe54c021000 rw-p 00000000 00:00 0
7fe54c021000-7fe550000000 ---p 00000000 00:00 0
7fe550000000-7fe550021000 rw-p 00000000 00:00 0
7fe550021000-7fe554000000 ---p 00000000 00:00 0
7fe554000000-7fe554021000 rw-p 00000000 00:00 0
7fe554021000-7fe558000000 ---p 00000000 00:00 0
7fe5587f9000-7fe5587fa000 ---p 00000000 00:00 0
7fe5587fa000-7fe558ffa000 rw-p 00000000 00:00 0
7fe558ffa000-7fe558ffb000 ---p 00000000 00:00 0
7fe558ffb000-7fe5597fb000 rw-p 00000000 00:00 0
7fe5597fb000-7fe5597fc000 ---p 00000000 00:00 0
7fe5597fc000-7fe559ffc000 rw-p 00000000 00:00 0
7fe559ffc000-7fe559ffd000 ---p 00000000 00:00 0
7fe559ffd000-7fe55a7fd000 rw-p 00000000 00:00 0
7fe55a7fd000-7fe55a7fe000 ---p 00000000 00:00 0
7fe55a7fe000-7fe55affe000 rw-p 00000000 00:00 0
7fe55affe000-7fe55afff000 ---p 00000000 00:00 0
7fe55afff000-7fe55b7ff000 rw-p 00000000 00:00 0
7fe55b7ff000-7fe55b800000 ---p 00000000 00:00 0
7fe55b800000-7fe55c000000 rw-p 00000000 00:00 0
7fe55c000000-7fe55c021000 rw-p 00000000 00:00 0
7fe55c021000-7fe560000000 ---p 00000000 00:00 0
7fe560000000-7fe560029000 rw-p 00000000 00:00 0
7fe560029000-7fe564000000 ---p 00000000 00:00 0
7fe564000000-7fe564021000 rw-p 00000000 00:00 0
7fe564021000-7fe568000000 ---p 00000000 00:00 0
7fe568000000-7fe568021000 rw-p 00000000 00:00 0
7fe568021000-7fe56c000000 ---p 00000000 00:00 0
7fe56c7f9000-7fe56c7fa000 ---p 00000000 00:00 0
7fe56c7fa000-7fe56cffa000 rw-p 00000000 00:00 0
7fe56cffa000-7fe56cffb000 ---p 00000000 00:00 0
7fe56cffb000-7fe56d7fb000 rw-p 00000000 00:00 0
7fe56d7fb000-7fe56d7fc000 ---p 00000000 00:00 0
7fe56d7fc000-7fe56dffc000 rw-p 00000000 00:00 0
7fe56dffc000-7fe56dffd000 ---p 00000000 00:00 0
7fe56dffd000-7fe56e7fd000 rw-p 00000000 00:00 0
7fe56e7fd000-7fe56e7fe000 ---p 00000000 00:00 0
7fe56e7fe000-7fe56effe000 rw-p 00000000 00:00 0
7fe56effe000-7fe56efff000 ---p 00000000 00:00 0
7fe56efff000-7fe56f7ff000 rw-p 00000000 00:00 0
7fe56f7ff000-7fe56f800000 ---p 00000000 00:00 0
7fe56f800000-7fe570000000 rw-p 00000000 00:00 0
7fe570000000-7fe570021000 rw-p 00000000 00:00 0
7fe570021000-7fe574000000 ---p 00000000 00:00 0
7fe574000000-7fe574021000 rw-p 00000000 00:00 0
7fe574021000-7fe578000000 ---p 00000000 00:00 0
7fe578000000-7fe578021000 rw-p 00000000 00:00 0
7fe578021000-7fe57c000000 ---p 00000000 00:00 0
7fe57c000000-7fe57c021000 rw-p 00000000 00:00 0
7fe57c021000-7fe580000000 ---p 00000000 00:00 0
7fe580000000-7fe584000000 rw-p 00000000 00:00 0
7fe5847f9000-7fe5847fa000 ---p 00000000 00:00 0
7fe5847fa000-7fe584ffa000 rw-p 00000000 00:00 0
7fe584ffa000-7fe584ffb000 ---p 00000000 00:00 0
7fe584ffb000-7fe5857fb000 rw-p 00000000 00:00 0
7fe5857fb000-7fe5857fc000 ---p 00000000 00:00 0
7fe5857fc000-7fe585ffc000 rw-p 00000000 00:00 0
7fe585ffc000-7fe585ffd000 ---p 00000000 00:00 0
7fe585ffd000-7fe5867fd000 rw-p 00000000 00:00 0
7fe5867fd000-7fe5867fe000 ---p 00000000 00:00 0
7fe5867fe000-7fe586ffe000 rw-p 00000000 00:00 0
7fe586ffe000-7fe586fff000 ---p 00000000 00:00 0
7fe586fff000-7fe5877ff000 rw-p 00000000 00:00 0
7fe5877ff000-7fe587800000 ---p 00000000 00:00 0
7fe587800000-7fe588000000 rw-p 00000000 00:00 0
7fe588000000-7fe588021000 rw-p 00000000 00:00 0
7fe588021000-7fe58c000000 ---p 00000000 00:00 0
7fe58c000000-7fe58c90e000 rw-p 00000000 00:00 0
7fe58c90e000-7fe590000000 ---p 00000000 00:00 0
7fe590000000-7fe590021000 rw-p 00000000 00:00 0
7fe590021000-7fe594000000 ---p 00000000 00:00 0
7fe594047000-7fe594048000 ---p 00000000 00:00 0
7fe594048000-7fe596049000 rw-p 00000000 00:00 0
7fe59678c000-7fe59678d000 ---p 00000000 00:00 0
7fe59678d000-7fe596f8d000 rw-p 00000000 00:00 0
7fe596f8d000-7fe596f8e000 ---p 00000000 00:00 0
7fe596f8e000-7fe597e6b000 rw-p 00000000 00:00 0
7fe597ecc000-7fe59804d000 rw-p 00000000 00:00 0
7fe59804d000-7fe598058000 r-xp 00000000 08:01 3674972 /lib/x86_64-linux-gnu/libnss_files-2.19.so
7fe598058000-7fe598257000 ---p 0000b000 08:01 3674972 /lib/x86_64-linux-gnu/libnss_files-2.19.so
7fe598257000-7fe598258000 r--p 0000a000 08:01 3674972 /lib/x86_64-linux-gnu/libnss_files-2.19.so
7fe598258000-7fe598259000 rw-p 0000b000 08:01 3674972 /lib/x86_64-linux-gnu/libnss_files-2.19.so
7fe598259000-7fe5a8000000 rw-p 00000000 00:00 0
7fe5a8000000-7fe5a8021000 rw-p 00000000 00:00 0
7fe5a8021000-7fe5ac000000 ---p 00000000 00:00 0
7fe5ac01a000-7fe5af2d6000 rw-p 00000000 00:00 0
7fe5af2d6000-7fe5af590000 r--p 00000000 08:01 805660 /usr/lib/locale/locale-archive
7fe5af590000-7fe5af591000 ---p 00000000 00:00 0
7fe5af591000-7fe5afd91000 rw-p 00000000 00:00 0
7fe5afd91000-7fe5afd94000 r-xp 00000000 08:01 3674966 /lib/x86_64-linux-gnu/libdl-2.19.so
7fe5afd94000-7fe5aff93000 ---p 00003000 08:01 3674966 /lib/x86_64-linux-gnu/libdl-2.19.so
7fe5aff93000-7fe5aff94000 r--p 00002000 08:01 3674966 /lib/x86_64-linux-gnu/libdl-2.19.so
7fe5aff94000-7fe5aff95000 rw-p 00003000 08:01 3674966 /lib/x86_64-linux-gnu/libdl-2.19.so
7fe5aff95000-7fe5b0162000 r-xp 00000000 08:01 788233 /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
7fe5b0162000-7fe5b0361000 ---p 001cd000 08:01 788233 /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
7fe5b0361000-7fe5b037e000 r--p 001cc000 08:01 788233 /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
7fe5b037e000-7fe5b038e000 rw-p 001e9000 08:01 788233 /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
7fe5b038e000-7fe5b0391000 rw-p 00000000 00:00 0
7fe5b0391000-7fe5b0532000 r-xp 00000000 08:01 3674963 /lib/x86_64-linux-gnu/libc-2.19.so
7fe5b0532000-7fe5b0732000 ---p 001a1000 08:01 3674963 /lib/x86_64-linux-gnu/libc-2.19.so
7fe5b0732000-7fe5b0736000 r--p 001a1000 08:01 3674963 /lib/x86_64-linux-gnu/libc-2.19.so
7fe5b0736000-7fe5b0738000 rw-p 001a5000 08:01 3674963 /lib/x86_64-linux-gnu/libc-2.19.so
7fe5b0738000-7fe5b073c000 rw-p 00000000 00:00 0
7fe5b073c000-7fe5b0752000 r-xp 00000000 08:01 3670020 /lib/x86_64-linux-gnu/libgcc_s.so.1
7fe5b0752000-7fe5b0951000 ---p 00016000 08:01 3670020 /lib/x86_64-linux-gnu/libgcc_s.so.1
7fe5b0951000-7fe5b0952000 rw-p 00015000 08:01 3670020 /lib/x86_64-linux-gnu/libgcc_s.so.1
7fe5b0952000-7fe5b0968000 r-xp 00000000 08:01 798032 /usr/lib/x86_64-linux-gnu/libgomp.so.1.0.0
7fe5b0968000-7fe5b0b67000 ---p 00016000 08:01 798032 /usr/lib/x86_64-linux-gnu/libgomp.so.1.0.0
7fe5b0b67000-7fe5b0b68000 rw-p 00015000 08:01 798032 /usr/lib/x86_64-linux-gnu/libgomp.so.1.0.0
7fe5b0b68000-7fe5b0c68000 r-xp 00000000 08:01 3674967 /lib/x86_64-linux-gnu/libm-2.19.so
7fe5b0c68000-7fe5b0e67000 ---p 00100000 08:01 3674967 /lib/x86_64-linux-gnu/libm-2.19.so
7fe5b0e67000-7fe5b0e68000 r--p 000ff000 08:01 3674967 /lib/x86_64-linux-gnu/libm-2.19.so
7fe5b0e68000-7fe5b0e69000 rw-p 00100000 08:01 3674967 /lib/x86_64-linux-gnu/libm-2.19.so
7fe5b0e69000-7fe5b0f55000 r-xp 00000000 08:01 791412 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20
7fe5b0f55000-7fe5b1155000 ---p 000ec000 08:01 791412 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20
7fe5b1155000-7fe5b115d000 r--p 000ec000 08:01 791412 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20
7fe5b115d000-7fe5b115f000 rw-p 000f4000 08:01 791412 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20
7fe5b115f000-7fe5b1174000 rw-p 00000000 00:00 0
7fe5b1174000-7fe5b1260000 r-xp 00000000 08:01 2360813 /home/ultima/server_2017_05_28/lib/libboost_regex.so.1.63.0
7fe5b1260000-7fe5b1460000 ---p 000ec000 08:01 2360813 /home/ultima/server_2017_05_28/lib/libboost_regex.so.1.63.0
7fe5b1460000-7fe5b1464000 r--p 000ec000 08:01 2360813 /home/ultima/server_2017_05_28/lib/libboost_regex.so.1.63.0
7fe5b1464000-7fe5b1466000 rw-p 000f0000 08:01 2360813 /home/ultima/server_2017_05_28/lib/libboost_regex.so.1.63.0
7fe5b1466000-7fe5b1467000 rw-p 00000000 00:00 0
7fe5b1467000-7fe5b171f000 r-xp 00000000 08:01 790885 /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18.0.0
7fe5b171f000-7fe5b191f000 ---p 002b8000 08:01 790885 /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18.0.0
7fe5b191f000-7fe5b1926000 r--p 002b8000 08:01 790885 /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18.0.0
7fe5b1926000-7fe5b19a5000 rw-p 002bf000 08:01 790885 /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18.0.0
7fe5b19a5000-7fe5b19ab000 rw-p 00000000 00:00 0
7fe5b19ab000-7fe5b19c5000 r-xp 00000000 08:01 3670116 /lib/x86_64-linux-gnu/libz.so.1.2.8
7fe5b19c5000-7fe5b1bc4000 ---p 0001a000 08:01 3670116 /lib/x86_64-linux-gnu/libz.so.1.2.8
7fe5b1bc4000-7fe5b1bc5000 r--p 00019000 08:01 3670116 /lib/x86_64-linux-gnu/libz.so.1.2.8
7fe5b1bc5000-7fe5b1bc6000 rw-p 0001a000 08:01 3670116 /lib/x86_64-linux-gnu/libz.so.1.2.8
7fe5b1bc6000-7fe5b1bde000 r-xp 00000000 08:01 3673162 /lib/x86_64-linux-gnu/libpthread-2.19.so
7fe5b1bde000-7fe5b1ddd000 ---p 00018000 08:01 3673162 /lib/x86_64-linux-gnu/libpthread-2.19.so
7fe5b1ddd000-7fe5b1dde000 r--p 00017000 08:01 3673162 /lib/x86_64-linux-gnu/libpthread-2.19.so
7fe5b1dde000-7fe5b1ddf000 rw-p 00018000 08:01 3673162 /lib/x86_64-linux-gnu/libpthread-2.19.so
7fe5b1ddf000-7fe5b1de3000 rw-p 00000000 00:00 0
7fe5b1de3000-7fe5b1df5000 r-xp 00000000 08:01 2360550 /home/ultima/server_2017_05_28/lib/libtinyxml.so
7fe5b1df5000-7fe5b1ff5000 ---p 00012000 08:01 2360550 /home/ultima/server_2017_05_28/lib/libtinyxml.so
7fe5b1ff5000-7fe5b1ff6000 r--p 00012000 08:01 2360550 /home/ultima/server_2017_05_28/lib/libtinyxml.so
7fe5b1ff6000-7fe5b1ff7000 rw-p 00013000 08:01 2360550 /home/ultima/server_2017_05_28/lib/libtinyxml.so
7fe5b1ff7000-7fe5b201c000 r-xp 00000000 08:01 2360549 /home/ultima/server_2017_05_28/lib/libplib.so
7fe5b201c000-7fe5b221b000 ---p 00025000 08:01 2360549 /home/ultima/server_2017_05_28/lib/libplib.so
7fe5b221b000-7fe5b221c000 r--p 00024000 08:01 2360549 /home/ultima/server_2017_05_28/lib/libplib.so
7fe5b221c000-7fe5b221d000 rw-p 00025000 08:01 2360549 /home/ultima/server_2017_05_28/lib/libplib.so
7fe5b221d000-7fe5b223e000 rw-p 00000000 00:00 0
7fe5b223e000-7fe5b22ac000 r-xp 00000000 08:01 2360548 /home/ultima/server_2017_05_28/lib/libclib.so
7fe5b22ac000-7fe5b24ab000 ---p 0006e000 08:01 2360548 /home/ultima/server_2017_05_28/lib/libclib.so
7fe5b24ab000-7fe5b24ad000 r--p 0006d000 08:01 2360548 /home/ultima/server_2017_05_28/lib/libclib.so
7fe5b24ad000-7fe5b24ae000 rw-p 0006f000 08:01 2360548 /home/ultima/server_2017_05_28/lib/libclib.so
7fe5b24ae000-7fe5b24b0000 rw-p 00000000 00:00 0
7fe5b24b0000-7fe5b2574000 r-xp 00000000 08:01 2360547 /home/ultima/server_2017_05_28/lib/libbscript.so
7fe5b2574000-7fe5b2774000 ---p 000c4000 08:01 2360547 /home/ultima/server_2017_05_28/lib/libbscript.so
7fe5b2774000-7fe5b277a000 r--p 000c4000 08:01 2360547 /home/ultima/server_2017_05_28/lib/libbscript.so
7fe5b277a000-7fe5b277f000 rw-p 000ca000 08:01 2360547 /home/ultima/server_2017_05_28/lib/libbscript.so
7fe5b277f000-7fe5b279f000 r-xp 00000000 08:01 3674960 /lib/x86_64-linux-gnu/ld-2.19.so
7fe5b27e4000-7fe5b2988000 rw-p 00000000 00:00 0
7fe5b2998000-7fe5b299f000 rw-p 00000000 00:00 0
7fe5b299f000-7fe5b29a0000 r--p 00020000 08:01 3674960 /lib/x86_64-linux-gnu/ld-2.19.so
7fe5b29a0000-7fe5b29a1000 rw-p 00021000 08:01 3674960 /lib/x86_64-linux-gnu/ld-2.19.so
7fe5b29a1000-7fe5b29a2000 rw-p 00000000 00:00 0
7ffd6f65b000-7ffd6f67c000 rw-p 00000000 00:00 0 [stack]
7ffd6f741000-7ffd6f743000 r--p 00000000 00:00 0 [vvar]
7ffd6f743000-7ffd6f745000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
Signal "SIGABRT"(6: abort signal from abort()) detected.
Signal code is -6
########################################################################################
POL will exit now. Please, post the following to the forum: http://forums.polserver.com/.
#00 0x00000000b226d160 in >> Pol::Clib::ExceptionParser::getTrace():[0x50] from ./lib/libclib.so
#1 0x00000000b226e493 in >> Pol::Clib::ExceptionParser::handleExceptionSignal(int):[0x83] from ./lib/libclib.so
#2 0x00000000b1bd5890 in :[0xf890] from /lib/x86_64-linux-gnu/libpthread.so.0
#3 0x00000000b03c6067 in gsignal:[0x37] from /lib/x86_64-linux-gnu/libc.so.6
#4 0x00000000b03c7448 in abort:[0x148] from /lib/x86_64-linux-gnu/libc.so.6
#5 0x00000000b04041b4 in :[0x731b4] from /lib/x86_64-linux-gnu/libc.so.6
#6 0x00000000b0489aa7 in __fortify_fail:[0x37] from /lib/x86_64-linux-gnu/libc.so.6
#7 0x00000000b0487cc0 in :[0xf6cc0] from /lib/x86_64-linux-gnu/libc.so.6
#8 0x00000000b0489a17 in :[0xf8a17] from /lib/x86_64-linux-gnu/libc.so.6
#9 0x0000000000649e91 in >> Pol::Core::client_io_thread(Pol::Network::Client
, bool):[0xf41] from ./pol
#10 0x00000000b228ba0f in :[0x4da0f] from ./lib/libclib.so
#11 0x00000000b22962de in >> Pol::threadhelp::run_thread(void (
)(void
), void*):[0xe] from ./lib/libclib.so
#12 0x00000000b22963e8 in >> Pol::threadhelp::thread_stub2(void*):[0x58] from ./lib/libclib.so
#13 0x00000000b1bce064 in :[0x8064] from /lib/x86_64-linux-gnu/libpthread.so.0
#14 0x00000000b047962d in clone:[0x6d] from /lib/x86_64-linux-gnu/libc.so.6
Admin contact: anonymous
Executable: ./pol
Start time: [06/02 15:47:42]
Current time: [06/03 13:20:24]

Stack trace:
#00 0x00000000b226d160 in >> Pol::Clib::ExceptionParser::getTrace():[0x50] from ./lib/libclib.so
#1 0x00000000b226e493 in >> Pol::Clib::ExceptionParser::handleExceptionSignal(int):[0x83] from ./lib/libclib.so
#2 0x00000000b1bd5890 in :[0xf890] from /lib/x86_64-linux-gnu/libpthread.so.0
#3 0x00000000b03c6067 in gsignal:[0x37] from /lib/x86_64-linux-gnu/libc.so.6
#4 0x00000000b03c7448 in abort:[0x148] from /lib/x86_64-linux-gnu/libc.so.6
#5 0x00000000b04041b4 in :[0x731b4] from /lib/x86_64-linux-gnu/libc.so.6
#6 0x00000000b0489aa7 in __fortify_fail:[0x37] from /lib/x86_64-linux-gnu/libc.so.6
#7 0x00000000b0487cc0 in :[0xf6cc0] from /lib/x86_64-linux-gnu/libc.so.6
#8 0x00000000b0489a17 in :[0xf8a17] from /lib/x86_64-linux-gnu/libc.so.6
#9 0x0000000000649e91 in >> Pol::Core::client_io_thread(Pol::Network::Client*, bool):[0xf41] from ./pol
#10 0x00000000b228ba0f in :[0x4da0f] from ./lib/libclib.so
#11 0x00000000b22962de in >> Pol::threadhelp::run_thread(void ()(void), void*):[0xe] from ./lib/libclib.so
#12 0x00000000b22963e8 in >> Pol::threadhelp::thread_stub2(void*):[0x58] from ./lib/libclib.so
#13 0x00000000b1bce064 in :[0x8064] from /lib/x86_64-linux-gnu/libpthread.so.0
#14 0x00000000b047962d in clone:[0x6d] from /lib/x86_64-linux-gnu/libc.so.6

Compiler: gcc 4.8.5
Compile time: 17:26:17
Build target: LINUX (64bit)
Build revision: POL99.0.0 Break Everything Even Rudder
GNU C library (compile time): 2.19

########################################################################################
Signal "SIGSEGV"(11: invalid memory reference) detected.
Segmentation fault detected - faulty memory reference at location: 0x8
Signal code is 1
########################################################################################
POL will exit now. Please, post the following to the forum: http://forums.polserver.com/.
#00 0x00000000b226d160 in >> Pol::Clib::ExceptionParser::getTrace():[0x50] from ./lib/libclib.so
#1 0x00000000b226e493 in >> Pol::Clib::ExceptionParser::handleExceptionSignal(int):[0x83] from ./lib/libclib.so
#2 0x00000000b1bd5890 in :[0xf890] from /lib/x86_64-linux-gnu/libpthread.so.0
#3 0x000000000056fbff in >> Pol::Items::getgraphic(unsigned int):[0xf] from ./pol
#4 0x000000000063abe3 in >> Pol::Multi::MultiDef::readshapes(Pol::Plib::MapShapeList&, short, short, short, unsigned int) const:[0xe3] from ./pol
#5 0x00000000006a20e3 in >> Pol::Realms::Realm::readmultis(Pol::Plib::MapShapeList&, unsigned short, unsigned short, unsigned int, std::vector<Pol::Multi::UMulti*, std::allocatorPol::Multi::UMulti* >&) const:[0x183] from ./pol
#6 0x00000000006a27d1 in >> Pol::Realms::Realm::find_supporting_multi(unsigned short, unsigned short, short) const:[0x81] from ./pol
#7 0x000000000053e1cc in >> Pol::Core::decay_worldzone(unsigned int, unsigned int, Pol::Realms::Realm*):[0x16c] from ./pol
#8 0x000000000053e49e in >> Pol::Core::decay_thread(void*):[0x7e] from ./pol
#9 0x00000000b22962de in >> Pol::threadhelp::run_thread(void ()(void), void*):[0xe] from ./lib/libclib.so
#10 0x00000000b22963e8 in >> Pol::threadhelp::thread_stub2(void*):[0x58] from ./lib/libclib.so
#11 0x00000000b1bce064 in :[0x8064] from /lib/x86_64-linux-gnu/libpthread.so.0
#12 0x00000000b047962d in clone:[0x6d] from /lib/x86_64-linux-gnu/libc.so.6
Admin contact: anonymous
Executable: ./pol
Start time: [06/02 15:47:42]
Current time: [06/03 13:20:24]

Stack trace:
#00 0x00000000b226d160 in >> Pol::Clib::ExceptionParser::getTrace():[0x50] from ./lib/libclib.so
#1 0x00000000b226e493 in >> Pol::Clib::ExceptionParser::handleExceptionSignal(int):[0x83] from ./lib/libclib.so
#2 0x00000000b1bd5890 in :[0xf890] from /lib/x86_64-linux-gnu/libpthread.so.0
#3 0x000000000056fbff in >> Pol::Items::getgraphic(unsigned int):[0xf] from ./pol
#4 0x000000000063abe3 in >> Pol::Multi::MultiDef::readshapes(Pol::Plib::MapShapeList&, short, short, short, unsigned int) const:[0xe3] from ./pol
#5 0x00000000006a20e3 in >> Pol::Realms::Realm::readmultis(Pol::Plib::MapShapeList&, unsigned short, unsigned short, unsigned int, std::vector<Pol::Multi::UMulti*, std::allocatorPol::Multi::UMulti* >&) const:[0x183] from ./pol
#6 0x00000000006a27d1 in >> Pol::Realms::Realm::find_supporting_multi(unsigned short, unsigned short, short) const:[0x81] from ./pol
#7 0x000000000053e1cc in >> Pol::Core::decay_worldzone(unsigned int, unsigned int, Pol::Realms::Realm*):[0x16c] from ./pol
#8 0x000000000053e49e in >> Pol::Core::decay_thread(void*):[0x7e] from ./pol
#9 0x00000000b22962de in >> Pol::threadhelp::run_thread(void ()(void), void*):[0xe] from ./lib/libclib.so
#10 0x00000000b22963e8 in >> Pol::threadhelp::thread_stub2(void*):[0x58] from ./lib/libclib.so
#11 0x00000000b1bce064 in :[0x8064] from /lib/x86_64-linux-gnu/libpthread.so.0
#12 0x00000000b047962d in clone:[0x6d] from /lib/x86_64-linux-gnu/libc.so.6

Compiler: gcc 4.8.5
Compile time: 17:26:17
Build target: LINUX (64bit)
Build revision: POL99.0.0 Break Everything Even Rudder
GNU C library (compile time): 2.19

########################################################################################
Segmentation fault

Assertion Failed: clientSocket < FD_SETSIZE

Script scripts/misc/logon.ecl running..1411..255
Client disconnected from XXX.XXX.XXX.XXX (707/22 connections)
Assertion Failed: clientSocket < FD_SETSIZE (Select() implementation in Linux cant handle this many sockets at the same time.), /polserver-8658725-17-Fev-2019/polserver-master/pol-core/pol/network/clientthread.cpp, line 107

Forcing stack backtrace.
=== Stack Backtrace ===
#00 0x00000000ba154660 in >> Pol::Clib::ExceptionParser::getTrace[abi:cxx11]():[0x50] from ./pol
#01 0x00000000ba1718ee in >> Pol::Clib::force_backtrace(bool):[0x2e] from ./pol
#02 0x00000000ba171f54 in >> Pol::Clib::passert_failed(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, unsigned int):[0x134] from ./pol
#03 0x00000000b9f74465 in >> Pol::Core::client_io_thread(Pol::Network::Client*, bool):[0x2e55] from ./pol
#04 0x00000000ba085392 in >> Pol::Core::uo_client_listener_thread(void*):[0x3d2] from ./pol
#05 0x00000000ba17a9ae in >> Pol::threadhelp::run_thread(void (*)(void*), void*):[0xe] from ./pol
#06 0x00000000ba17ac19 in >> Pol::threadhelp::thread_stub2(void*):[0x59] from ./pol
#07 0x0000000070ce4494 in :[0x7494] from /lib/x86_64-linux-gnu/libpthread.so.0
#08 0x000000006fbb2acf in clone:[0x3f] from /lib/x86_64-linux-gnu/libc.so.6

Shutting down due to assertion failure.
Client disconnected from XXX.XXX.XXX.XXX (706/23 connections)
Script scripts/misc/logofftest.ecl running..340..93
Script scripts/misc/logoff.ecl running..1053
Client disconnected from XXX.XXX.XXX.XXX (705/23 connections)

...

Script scripts/misc/logoff.ecl running..1053
Client disconnected from XXX.XXX.XXX.XXX (700/23 connections)
Script scripts/misc/logofftest.ecl running..340..93
Client#17352: Exception in i/o thread: Assertion Failed: clientSocket < FD_SETSIZE (Select() implementation in Linux cant handle this many sockets at the same time.), /polserver-8658725-17-Fev-2019/polserver-master/pol-core/pol/network/clientthread.cpp, line 107! (checkpoint=1)
Script scripts/misc/logoff.ecl running..1053
Client disconnected from XXX.XXX.XXX.XXX (699/23 connections)
Script scripts/misc/logofftest.ecl running..340..138

Warning twofish.cpp

[ 50%] Building CXX object pol-core/pol/CMakeFiles/pol.dir/crypt/twofish.cpp.o
/polserver-24b66a6-10-Fev-2019/polserver-master/pol-core/pol/crypt/twofish.cpp: In static member function 'static unsigned int Pol::Crypt::TwoFish::F32(unsigned int, unsigned int*, int)':
/polserver-24b66a6-10-Fev-2019/polserver-master/pol-core/pol/crypt/twofish.cpp:131:23: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
   *( (unsigned int*)b ) = Bswap( x );
                       ^

Commit 24b66a6.

extobj.cfg - missing intrinsic shield member

In config/extobj.cfg we have Wrestling intrinsic weapon objtype. POL requires also intrinsic shield but that one is not defined in extobj.cfg.

Looks like a bug because POL won't start if intrinsic shield objtype is not defined in itemdesc.cfg

Armor 0x1F022
{
    Name            intrinsicshield
    Graphic         1
    MaxHP           1
    SaveOnExit      0
}

source does not compile on ubuntu

c++: internal compiler error: Segmentation fault (program cc1plus) Please submit a full bug report, with preprocessed source if appropriate. See <file:///usr/share/doc/gcc-5/README.Bugs> for instructions. pol-core/clib/CMakeFiles/clib.dir/build.make:77: recipe for target 'pol-core/clib/CMakeFiles/clib.dir/Debugging/ExceptionParser.cpp.o' failed

Accessing party properties can crash POL (was: Container problem? 09/12/2017)

Signal "SIGSEGV"(11: invalid memory reference) detected.
Segmentation fault detected - null pointer reference
Signal code is 128
########################################################################################
POL will exit now. Please, post the following to the forum: http://forums.polserver.com/.
#00 0x00000000ea0d9506 in >> Pol::Clib::ExceptionParser::getTrace():[0x46] from ./lib/libclib.so
#01 0x00000000ea0da878 in >> Pol::Clib::ExceptionParser::handleExceptionSignal(int):[0x68] from ./lib/libclib.so
#02 0x00000000e9646890 in :[0xf890] from /lib/x86_64-linux-gnu/libpthread.so.0
#03 0x00000000006a7718 in >> Pol::Core::PropertyList::getprop(std::string const&, std::string&) const:[0x88] from ./pol
#04 0x00000000006a8c4f in >> Pol::Core::CallPropertyListMethod_id(Pol::Core::PropertyList&, int, Pol::Bscript::Executor&, bool&):[0x4ff] from ./pol
#05 0x00000000005e355b in >> Pol::Module::EPartyRefObjImp::call_method_id(int, Pol::Bscript::Executor&, bool):[0xeb] from ./pol
#06 0x00000000ea39d7eb in >> Pol::Bscript::Executor::ins_call_method_id(Pol::Bscript::Instruction const&):[0x3b] from ./lib/libbscript.so
#07 0x00000000ea3a55a8 in >> Pol::Bscript::Executor::execInstr():[0x218] from ./lib/libbscript.so
#08 0x000000000054daca in >> Pol::Core::ScriptScheduler::run_ready():[0x12a] from ./pol
#09 0x00000000006cb52f in >> Pol::Core::step_scripts(int*, bool*):[0x2f] from ./pol
#10 0x00000000006856f9 in >> Pol::Core::scripts_thread():[0x79] from ./pol
#11 0x00000000ea1043a8 in >> Pol::threadhelp::run_thread(void (*)()):[0x8] from ./lib/libclib.so
#12 0x00000000ea1044c8 in >> Pol::threadhelp::thread_stub2(void*):[0x68] from ./lib/libclib.so
#13 0x00000000e963f064 in :[0x8064] from /lib/x86_64-linux-gnu/libpthread.so.0
#14 0x00000000e81de62d in clone:[0x6d] from /lib/x86_64-linux-gnu/libc.so.6
Admin contact: anonymous
Executable: ./pol
Start time: [08/29 16:52:07] 
Current time: [09/12 21:59:56] 

Stack trace:
#00 0x00000000ea0d9506 in >> Pol::Clib::ExceptionParser::getTrace():[0x46] from ./lib/libclib.so
#01 0x00000000ea0da878 in >> Pol::Clib::ExceptionParser::handleExceptionSignal(int):[0x68] from ./lib/libclib.so
#02 0x00000000e9646890 in :[0xf890] from /lib/x86_64-linux-gnu/libpthread.so.0
#03 0x00000000006a7718 in >> Pol::Core::PropertyList::getprop(std::string const&, std::string&) const:[0x88] from ./pol
#04 0x00000000006a8c4f in >> Pol::Core::CallPropertyListMethod_id(Pol::Core::PropertyList&, int, Pol::Bscript::Executor&, bool&):[0x4ff] from ./pol
#05 0x00000000005e355b in >> Pol::Module::EPartyRefObjImp::call_method_id(int, Pol::Bscript::Executor&, bool):[0xeb] from ./pol
#06 0x00000000ea39d7eb in >> Pol::Bscript::Executor::ins_call_method_id(Pol::Bscript::Instruction const&):[0x3b] from ./lib/libbscript.so
#07 0x00000000ea3a55a8 in >> Pol::Bscript::Executor::execInstr():[0x218] from ./lib/libbscript.so
#08 0x000000000054daca in >> Pol::Core::ScriptScheduler::run_ready():[0x12a] from ./pol
#09 0x00000000006cb52f in >> Pol::Core::step_scripts(int*, bool*):[0x2f] from ./pol
#10 0x00000000006856f9 in >> Pol::Core::scripts_thread():[0x79] from ./pol
#11 0x00000000ea1043a8 in >> Pol::threadhelp::run_thread(void (*)()):[0x8] from ./lib/libclib.so
#12 0x00000000ea1044c8 in >> Pol::threadhelp::thread_stub2(void*):[0x68] from ./lib/libclib.so
#13 0x00000000e963f064 in :[0x8064] from /lib/x86_64-linux-gnu/libpthread.so.0
#14 0x00000000e81de62d in clone:[0x6d] from /lib/x86_64-linux-gnu/libc.so.6

Compiler: gcc 4.9.2
Compile time: 12:32:13
Build target: LINUX (64bit)
Build revision: POL99.0.0 Break Everything Even Rudder
GNU C library (compile time): 2.19

########################################################################################
Assertion Failed: contents_.empty(), /home/administrador/polserver-master-16-08-2017/pol-core/pol/containr.cpp, line 71
Forcing stack backtrace.
=== Stack Backtrace ===
#00 0x00000000ea0d9506 in >> Pol::Clib::ExceptionParser::getTrace():[0x46] from ./lib/libclib.so
#01 0x00000000ea0f7b04 in >> Pol::Clib::force_backtrace(bool):[0x24] from ./lib/libclib.so
#02 0x00000000ea0f7f9d in >> Pol::Clib::passert_failed(char const*, std::string const&, char const*, unsigned int):[0x13d] from ./lib/libclib.so
#03 0x00000000ea0f892d in >> Pol::Clib::passert_failed(char const*, char const*, unsigned int):[0x3d] from ./lib/libclib.so
#04 ./pol() [0x52202b]
#05 0x0000000000522039 in >> Pol::Core::UContainer::~UContainer():[0x9] from ./pol
#06 0x0000000000679559 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x29] from ./pol
#07 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#08 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#09 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#10 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#11 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#12 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#13 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#14 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#15 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#16 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#17 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#18 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#19 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#20 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#21 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#22 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#23 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#24 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#25 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#26 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#27 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#28 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#29 0x000000000054ce40 in >> Pol::Core::ObjectStorageManager::~ObjectStorageManager():[0x10] from ./pol
#30 0x00000000e812db29 in :[0x37b29] from /lib/x86_64-linux-gnu/libc.so.6
#31 0x00000000e812db75 in :[0x37b75] from /lib/x86_64-linux-gnu/libc.so.6
#32 0x00000000ea0dab54 in >> Pol::Clib::ExceptionParser::handleExceptionSignal(int):[0x344] from ./lib/libclib.so
#33 0x00000000e9646890 in :[0xf890] from /lib/x86_64-linux-gnu/libpthread.so.0
#34 0x00000000006a7718 in >> Pol::Core::PropertyList::getprop(std::string const&, std::string&) const:[0x88] from ./pol
#35 0x00000000006a8c4f in >> Pol::Core::CallPropertyListMethod_id(Pol::Core::PropertyList&, int, Pol::Bscript::Executor&, bool&):[0x4ff] from ./pol
#36 0x00000000005e355b in >> Pol::Module::EPartyRefObjImp::call_method_id(int, Pol::Bscript::Executor&, bool):[0xeb] from ./pol
#37 0x00000000ea39d7eb in >> Pol::Bscript::Executor::ins_call_method_id(Pol::Bscript::Instruction const&):[0x3b] from ./lib/libbscript.so
#38 0x00000000ea3a55a8 in >> Pol::Bscript::Executor::execInstr():[0x218] from ./lib/libbscript.so
#39 0x000000000054daca in >> Pol::Core::ScriptScheduler::run_ready():[0x12a] from ./pol
#40 0x00000000006cb52f in >> Pol::Core::step_scripts(int*, bool*):[0x2f] from ./pol
#41 0x00000000006856f9 in >> Pol::Core::scripts_thread():[0x79] from ./pol
#42 0x00000000ea1043a8 in >> Pol::threadhelp::run_thread(void (*)()):[0x8] from ./lib/libclib.so
#43 0x00000000ea1044c8 in >> Pol::threadhelp::thread_stub2(void*):[0x68] from ./lib/libclib.so
#44 0x00000000e963f064 in :[0x8064] from /lib/x86_64-linux-gnu/libpthread.so.0
#45 0x00000000e81de62d in clone:[0x6d] from /lib/x86_64-linux-gnu/libc.so.6

Shutting down due to assertion failure.
terminate called after throwing an instance of 'std::runtime_error'
  what():  Assertion Failed: contents_.empty(), /home/administrador/polserver-master-16-08-2017/pol-core/pol/containr.cpp, line 71
Signal "SIGABRT"(6: abort signal from abort()) detected.
Signal code is -6
########################################################################################
POL will exit now. Please, post the following to the forum: http://forums.polserver.com/.
#00 0x00000000ea0d9506 in >> Pol::Clib::ExceptionParser::getTrace():[0x46] from ./lib/libclib.so
#01 0x00000000ea0da878 in >> Pol::Clib::ExceptionParser::handleExceptionSignal(int):[0x68] from ./lib/libclib.so
#02 0x00000000e9646890 in :[0xf890] from /lib/x86_64-linux-gnu/libpthread.so.0
#03 0x00000000e812b067 in gsignal:[0x37] from /lib/x86_64-linux-gnu/libc.so.6
#04 0x00000000e812c448 in abort:[0x148] from /lib/x86_64-linux-gnu/libc.so.6
#05 0x00000000e8c2eb3d in __gnu_cxx::__verbose_terminate_handler():[0x15d] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#06 0x00000000e8c2cbb6 in :[0x5ebb6] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#07 0x00000000e8c2bca9 in :[0x5dca9] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#08 0x00000000e8c2c40b in __gxx_personality_v0:[0xeb] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#09 0x00000000e84b0ff3 in :[0xfff3] from /lib/x86_64-linux-gnu/libgcc_s.so.1
#10 0x00000000e84b1517 in _Unwind_Resume:[0x57] from /lib/x86_64-linux-gnu/libgcc_s.so.1
#11 0x00000000ea0f8954 in :[0x4d954] from ./lib/libclib.so
#12 ./pol() [0x52202b]
#13 0x0000000000522039 in >> Pol::Core::UContainer::~UContainer():[0x9] from ./pol
#14 0x0000000000679559 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x29] from ./pol
#15 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#16 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#17 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#18 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#19 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#20 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#21 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#22 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#23 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#24 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#25 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#26 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#27 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#28 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#29 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#30 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#31 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#32 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#33 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#34 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#35 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#36 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#37 0x000000000054ce40 in >> Pol::Core::ObjectStorageManager::~ObjectStorageManager():[0x10] from ./pol
#38 0x00000000e812db29 in :[0x37b29] from /lib/x86_64-linux-gnu/libc.so.6
#39 0x00000000e812db75 in :[0x37b75] from /lib/x86_64-linux-gnu/libc.so.6
#40 0x00000000ea0dab54 in >> Pol::Clib::ExceptionParser::handleExceptionSignal(int):[0x344] from ./lib/libclib.so
#41 0x00000000e9646890 in :[0xf890] from /lib/x86_64-linux-gnu/libpthread.so.0
#42 0x00000000006a7718 in >> Pol::Core::PropertyList::getprop(std::string const&, std::string&) const:[0x88] from ./pol
#43 0x00000000006a8c4f in >> Pol::Core::CallPropertyListMethod_id(Pol::Core::PropertyList&, int, Pol::Bscript::Executor&, bool&):[0x4ff] from ./pol
#44 0x00000000005e355b in >> Pol::Module::EPartyRefObjImp::call_method_id(int, Pol::Bscript::Executor&, bool):[0xeb] from ./pol
#45 0x00000000ea39d7eb in >> Pol::Bscript::Executor::ins_call_method_id(Pol::Bscript::Instruction const&):[0x3b] from ./lib/libbscript.so
#46 0x00000000ea3a55a8 in >> Pol::Bscript::Executor::execInstr():[0x218] from ./lib/libbscript.so
#47 0x000000000054daca in >> Pol::Core::ScriptScheduler::run_ready():[0x12a] from ./pol
#48 0x00000000006cb52f in >> Pol::Core::step_scripts(int*, bool*):[0x2f] from ./pol
#49 0x00000000006856f9 in >> Pol::Core::scripts_thread():[0x79] from ./pol
#50 0x00000000ea1043a8 in >> Pol::threadhelp::run_thread(void (*)()):[0x8] from ./lib/libclib.so
#51 0x00000000ea1044c8 in >> Pol::threadhelp::thread_stub2(void*):[0x68] from ./lib/libclib.so
#52 0x00000000e963f064 in :[0x8064] from /lib/x86_64-linux-gnu/libpthread.so.0
#53 0x00000000e81de62d in clone:[0x6d] from /lib/x86_64-linux-gnu/libc.so.6
Admin contact: anonymous
Executable: ./pol
Start time: [08/29 16:52:07] 
Current time: [09/12 21:59:56] 

Stack trace:
#00 0x00000000ea0d9506 in >> Pol::Clib::ExceptionParser::getTrace():[0x46] from ./lib/libclib.so
#01 0x00000000ea0da878 in >> Pol::Clib::ExceptionParser::handleExceptionSignal(int):[0x68] from ./lib/libclib.so
#02 0x00000000e9646890 in :[0xf890] from /lib/x86_64-linux-gnu/libpthread.so.0
#03 0x00000000e812b067 in gsignal:[0x37] from /lib/x86_64-linux-gnu/libc.so.6
#04 0x00000000e812c448 in abort:[0x148] from /lib/x86_64-linux-gnu/libc.so.6
#05 0x00000000e8c2eb3d in __gnu_cxx::__verbose_terminate_handler():[0x15d] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#06 0x00000000e8c2cbb6 in :[0x5ebb6] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#07 0x00000000e8c2bca9 in :[0x5dca9] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#08 0x00000000e8c2c40b in __gxx_personality_v0:[0xeb] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#09 0x00000000e84b0ff3 in :[0xfff3] from /lib/x86_64-linux-gnu/libgcc_s.so.1
#10 0x00000000e84b1517 in _Unwind_Resume:[0x57] from /lib/x86_64-linux-gnu/libgcc_s.so.1
#11 0x00000000ea0f8954 in :[0x4d954] from ./lib/libclib.so
#12 ./pol() [0x52202b]
#13 0x0000000000522039 in >> Pol::Core::UContainer::~UContainer():[0x9] from ./pol
#14 0x0000000000679559 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x29] from ./pol
#15 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#16 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#17 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#18 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#19 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#20 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#21 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#22 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#23 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#24 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#25 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#26 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#27 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#28 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#29 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#30 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#31 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#32 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#33 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#34 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#35 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#36 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#37 0x000000000054ce40 in >> Pol::Core::ObjectStorageManager::~ObjectStorageManager():[0x10] from ./pol
#38 0x00000000e812db29 in :[0x37b29] from /lib/x86_64-linux-gnu/libc.so.6
#39 0x00000000e812db75 in :[0x37b75] from /lib/x86_64-linux-gnu/libc.so.6
#40 0x00000000ea0dab54 in >> Pol::Clib::ExceptionParser::handleExceptionSignal(int):[0x344] from ./lib/libclib.so
#41 0x00000000e9646890 in :[0xf890] from /lib/x86_64-linux-gnu/libpthread.so.0
#42 0x00000000006a7718 in >> Pol::Core::PropertyList::getprop(std::string const&, std::string&) const:[0x88] from ./pol
#43 0x00000000006a8c4f in >> Pol::Core::CallPropertyListMethod_id(Pol::Core::PropertyList&, int, Pol::Bscript::Executor&, bool&):[0x4ff] from ./pol
#44 0x00000000005e355b in >> Pol::Module::EPartyRefObjImp::call_method_id(int, Pol::Bscript::Executor&, bool):[0xeb] from ./pol
#45 0x00000000ea39d7eb in >> Pol::Bscript::Executor::ins_call_method_id(Pol::Bscript::Instruction const&):[0x3b] from ./lib/libbscript.so
#46 0x00000000ea3a55a8 in >> Pol::Bscript::Executor::execInstr():[0x218] from ./lib/libbscript.so
#47 0x000000000054daca in >> Pol::Core::ScriptScheduler::run_ready():[0x12a] from ./pol
#48 0x00000000006cb52f in >> Pol::Core::step_scripts(int*, bool*):[0x2f] from ./pol
#49 0x00000000006856f9 in >> Pol::Core::scripts_thread():[0x79] from ./pol
#50 0x00000000ea1043a8 in >> Pol::threadhelp::run_thread(void (*)()):[0x8] from ./lib/libclib.so
#51 0x00000000ea1044c8 in >> Pol::threadhelp::thread_stub2(void*):[0x68] from ./lib/libclib.so
#52 0x00000000e963f064 in :[0x8064] from /lib/x86_64-linux-gnu/libpthread.so.0
#53 0x00000000e81de62d in clone:[0x6d] from /lib/x86_64-linux-gnu/libc.so.6

Compiler: gcc 4.9.2
Compile time: 12:32:13
Build target: LINUX (64bit)
Build revision: POL99.0.0 Break Everything Even Rudder
GNU C library (compile time): 2.19

########################################################################################

POL infinite loop threads

@gtozzi This problem has occurred with some frequency.
Somehow, the POL enters an infinite loop in the thread and allows no one more connect to the game (stop in 'Verifying game').

This occurs:
http://i.imgur.com/fdkuUhP.png

I try to close correctly using Ctrl + C, but it is waiting, waiting, loops back and does not end the program. The only way is to kill the process, generating not the saving of the data.

Look when I try to close using with Ctrl + C:
http://i.imgur.com/mgbqgtc.png

The last script in use I saw was the Runner.ecl, but every time he does the loop (every 10 or 15 seconds), the PC changes.

See:
http://i.imgur.com/JI8vcHY.png

Thanks in advance.

Packet log for MoveBoatXY

Context: using clients 7.xx the client isn't updated when MoveBoatXY() is called.
After the boat 'teleport' from MoveBoatXY, the client position on Pol is correct but in the client it just keep in the same place moving on the same direction of the boat like nothing happened:
https://gyazo.com/f370704decffb34c9221ae99b2ac3e54

Packets:
Works, the player is teleported within the boat into the new position (no razor)
boat_6.0.1.7_norazor.log

Doesn't work (no razor)
boat_7.0.63.2_norazor.log

Works after the Resynchronize is requested on razor
boat_7.0.63.2_with_resync.log

This one is just the .startlog, Resynchronize, .stoplog after the boat teleport.
boat_7.0.63.2_only_resync.log

To reproduce: use a 7.xx client

var g_wrap_cfg := readConfigFile(":boat:worldWrap");

function worldWrap(byref boat)
	var realm_elem := g_wrap_cfg [boat.realm];
	if (!realm_elem) return 0; endif

	var new_x := boat.x;
	var new_y := boat.y;

	if (boat.x >= realm_elem.MaxX)
		new_x := realm_elem.MinX + 1;
	elseif	(boat.x <= realm_elem.MinX)		
		new_x := realm_elem.MaxX - 1;
	elseif	(boat.y >= realm_elem.MaxY)		
		new_y := realm_elem.MinY + 1;
	elseif	(boat.y <= realm_elem.MinY)		
		new_y := realm_elem.MaxY - 1;
	else
		return 0;
	endif

	MoveBoatXY( boat, new_x, new_y );
	return 1;
endFunction
worldWrap.cfg
Elem tokuno
{
	MinX	50
	MaxX	1397

	MinY	50
	MaxY	1397
}

Crash while near the map canvas limit on Tokuno (polserver\lib\StackWalker\StackWalker.cpp : 1046)

Context: i was "walking" with .tele over the seas in tokuno realm, got a crash when approaching the map limits, for example 1439 1341 -2, teleporting (.tele) at random near this location or using a boat makes the pol crash.

POL100 Never Gonna Give You Up (Windows 64bit (Rev. c2a12fb)) compiled on Dec 18 2019 16:33:00.

##########################################################
Current StackBackTrace
StackWalker::ShowCallstack - 0x7ff7cfe6bdb7
D:\GitHub\polserver\lib\StackWalker\StackWalker.cpp : 1046
Pol::Clib::HiddenMiniDumper::TopLevelFilter - 0x7ff7cfe4fc47
D:\GitHub\polserver\pol-core\clib\mdump.cpp : 195
UnhandledExceptionFilter - 0x7ffa6c95f67a
(filename not available)
memset - 0x7ffa6f5c4af2
(filename not available)
_C_specific_handler - 0x7ffa6f5ac6d6
(filename not available)
_chkstk - 0x7ffa6f5c11ff
(filename not available)
RtlRaiseException - 0x7ffa6f58a289
(filename not available)
KiUserExceptionDispatcher - 0x7ffa6f5bfe6e
(filename not available)
Pol::Plib::InMemoryMapServer::GetMapCell - 0x7ff7cfe5bd33
D:\GitHub\polserver\pol-core\plib\inmemorymapserver.cpp : 39
Pol::Plib::MapServer::GetMapShapes - 0x7ff7cfe59588
D:\GitHub\polserver\pol-core\plib\mapserver.cpp : 113
Pol::Realms::Realm::walkheight - 0x7ff7cfd3cbd9
D:\GitHub\polserver\pol-core\pol\realms\realmfunc.cpp : 365
Pol::Core::move_character_to - 0x7ff7cfbf22fc
D:\GitHub\polserver\pol-core\pol\core.cpp : 68
Pol::Module::UOExecutorModule::internal_MoveCharacter - 0x7ff7cfcd1266
D:\GitHub\polserver\pol-core\pol\module\uomod4.cpp : 115
Pol::Module::UOExecutorModule::mf_MoveObjectToLocation - 0x7ff7cfcd1f93
D:\GitHub\polserver\pol-core\pol\module\uomod4.cpp : 65
Pol::Bscript::Executor::execFunc - 0x7ff7cfe0be49
D:\GitHub\polserver\pol-core\bscript\executor.cpp : 841
Pol::Bscript::Executor::ins_func - 0x7ff7cfe154c3
D:\GitHub\polserver\pol-core\bscript\executor.cpp : 2273
Pol::Bscript::Executor::execInstr - 0x7ff7cfe0c723
D:\GitHub\polserver\pol-core\bscript\executor.cpp : 2994
Pol::Core::ScriptScheduler::run_ready - 0x7ff7cfc193a4
D:\GitHub\polserver\pol-core\pol\globals\script_internals.cpp : 196
Pol::Core::step_scripts - 0x7ff7cfd4bc6b
D:\GitHub\polserver\pol-core\pol\scrsched.cpp : 118
Pol::Core::scripts_thread - 0x7ff7cfd1b00d
D:\GitHub\polserver\pol-core\pol\pol.cpp : 592
Pol::threadhelp::run_thread - 0x7ff7cfe4c106
D:\GitHub\polserver\pol-core\clib\threadhelp.cpp : 118
Pol::threadhelp::thread_stub2 - 0x7ff7cfe4c3ef
D:\GitHub\polserver\pol-core\clib\threadhelp.cpp : 178
thread_start<unsigned int (__cdecl*)(void *),1> - 0x7ff7cfec2020
minkernel\crts\ucrt\src\appcrt\startup\thread.cpp : 97
BaseThreadInitThunk - 0x7ffa6d717bd4
(filename not available)
RtlUserThreadStart - 0x7ffa6f58ced1
(filename not available)
##########################################################
[12/26 22:23:38] ##########################################################
Unhandled Exception! Writing Minidump file.
Post this file with explanation and last lines from log files on http://forums.polserver.com/tracker.php for the development team.
Saved dump file to '20191226221823-0.dmp'

Last function called: MoveObjectToLocation.

Dump file:
20191226221823-0.zip

ListTextCommands( ) Expansion

Maybe the function could include an optional param to allow you to select a maximum cmd level to display commands for?

Can't build on Linux

When I try to build on linux, i get this error

polserver/pol-core/clib/clib_MD5.cpp:124:10: fatal error: MD5.h: No such file or directory
#include "MD5.h"

I taked a look in the code and there is no MD5.h in the clib folder.

ligt.cfg wrong property name in documentation

Looks like docs are wrong on light.cfg https://docs.polserver.com/pol100/configfiles.php#light.cfg

Region (region name)
{
    Range        (x-west) (y-north) (x-east) (y-south)
    [Realm       (string realmname {default "britannia"})]
    [Light       (int light level {default 0}]
}
[Region...]
LightRegion::LightRegion( Clib::ConfigElem& elem, RegionId id )
    : Region( elem, id ), lightlevel( elem.remove_ushort( "LightLevel", 0 ) )

I think it was LightLevel from the beggining. In older docs the wrong property name is also present.

CheckSkill not accepting attribute id.

From @DavidJSGardner
So, this is a feature request, one that I already thought was in place based on what the docs for CheckSkill say. I am talking primarily about one parameter, the skillid parameter.
CheckSkill( character, skillid, difficulty, points ) Parameters: Name Type character Character Ref skillid Integer skill/attribute ID difficulty Integer skill use difficulty points Integer skill gain on success

Based on this entry, I went through every script on this shard that calls CheckSkill (and there are over 200 of them) and replaced the SKILLID_BLAHBLAH with the attribute ID. I mean, how fantastic, things can be unified and use attribute ids. So I spent a few hours trying to figure out why I was failing in a skill I had no business in failing in. I had assumed that the docs were correct because if you look at the docs for POL 95, POL 96, POL 97, POL 98, POL 99, POL 100, the entry for the skill parameter says Integer skill/attribute ID. I am being sent back Invalid parameter type. Expected param 1 as Integer, got String.

So in an effort to not have wasted countless hours moving skill ids over to attribute ids because the docs were misleading or changed in anticipation but the change never happened or , can we change CheckSkill to accept either a skill id or an attribute id?

POL crash 20151118155731

pol.pdb, pol.exe and POL099-2013-09-03 Break Everything Even Rudder-20151118155731-0.dmp
See the log:

[11/18 19:16:52]

Current StackBackTrace
StackWalker::ShowCallstack - 0x140240a24
d:\polserver\lib\stackwalker\stackwalker.cpp : 1047
Pol::Clib::HiddenMiniDumper::print_backtrace - 0x14023590f
d:\polserver\pol-core\clib\mdump.cpp : 268
Pol::Clib::HiddenMiniDumper::TopLevelFilter - 0x140235534
d:\polserver\pol-core\clib\mdump.cpp : 184
UnhandledExceptionFilter - 0x76fbb990
(filename not available)
EtwEventSetInformation - 0x770ca0b8
(filename not available)
_C_specific_handler - 0x77058008
(filename not available)
RtlDecodePointer - 0x7706905d
(filename not available)
RtlUnwindEx - 0x77058c0f
(filename not available)
KiUserExceptionDispatcher - 0x7708d948
(filename not available)
Pol::Bscript::BApplicObjPol::Module::ClientPtrHolder::~BApplicObjPol::Module::ClientPtrHolder - 0x14010c8c1
(filename not available)
Pol::Module::EClientRefObjImp::`scalar deleting destructor' - 0x14010d1dc
(filename not available)
Pol::Bscript::BObject::~BObject - 0x1401ec977
d:\polserver\pol-core\bscript\object.cpp : 118
std::vectorPol::Bscript::BObjectRef,std::allocator<Pol::Bscript::BObjectRef >::_Destroy - 0x1400d4b1c
d:\program files (x86)\microsoft visual studio 12.0\vc\include\vector : 1567
Pol::Bscript::Executor::ins_return - 0x1401ffc22
d:\polserver\pol-core\bscript\executor.cpp : 2429
Pol::Bscript::Executor::execInstr - 0x1401f5788
d:\polserver\pol-core\bscript\executor.cpp : 3219
Pol::Bscript::Executor::exec - 0x1401f4fc1
d:\polserver\pol-core\bscript\executor.cpp : 3318
Pol::Core::ExportScript::call - 0x1400d5384
d:\polserver\pol-core\pol\syshookscript.cpp : 204
Pol::Network::CallOutgoingPacketExportedFunction - 0x14016e760
d:\polserver\pol-core\pol\network\packethooks.cpp : 201
Pol::Network::Client::transmit - 0x14016750e
d:\polserver\pol-core\pol\network\clientio.cpp : 209
Pol::Network::ClientTransmitThread - 0x140067a2a
d:\polserver\pol-core\pol\network\clienttransmit.cpp : 56
Pol::threadhelp::run_thread - 0x1402334d2
d:\polserver\pol-core\clib\threadhelp.cpp : 122
Pol::threadhelp::thread_stub2 - 0x14023372d
d:\polserver\pol-core\clib\threadhelp.cpp : 182
_callthreadstartex - 0x140267dd7
f:\dd\vctools\crt\crtw32\startup\threadex.c : 376
_threadstartex - 0x140267f7e
f:\dd\vctools\crt\crtw32\startup\threadex.c : 354
BaseThreadInitThunk - 0x76f35a4d
(filename not available)
RtlUserThreadStart - 0x7706b831
(filename not available)

[11/18 19:16:52] ##########################################################
Unhandled Exception! Writing Minidump file.
Post this file with explanation and last lines from log files on http://forums.polserver.com/tracker.php for the development team.
Saved dump file to 'POL099-2013-09-03 Break Everything Even Rudder-20151118155731-0.dmp'

Last Script: pkg/server core/repsys/puxa_target.ecl PC: 19

Can start multiple text entry scripts that conflict with the singleton game data information

BObjectImp* UOExecutorModule::mf_SendTextEntryGump()
we don't check if chr->client->gd->textentry_uoemod already exists ... like we do in eg. SendInstaResDialog()
BObjectImp* UOExecutorModule::mf_SendInstaResDialog()

I'm able to start multiple scripts that each call SendTextEntryGump()s and only the last one gets revived on dialog response, even though there are two dialog gumps open on the client
https://gist.github.com/KevinEady/aca6f52be001b0620b0821607a74bccb this starts multiple scripts with text entries

Crashlog, Network issue?

I cant be 100percent sure, but it looks like this problem appeared when my host had a network problems, so all players lost their connection.

*** buffer overflow detected : ./pol terminated
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x731af)[0x7f87c7d851af]
/lib/x86_64-linux-gnu/libc.so.6(__fortify_fail+0x37)[0x7f87c7e0aaa7]
/lib/x86_64-linux-gnu/libc.so.6(+0xf6cc0)[0x7f87c7e08cc0]
/lib/x86_64-linux-gnu/libc.so.6(+0xf8a17)[0x7f87c7e0aa17]
./pol(_ZN3Pol4Core16client_io_threadEPNS_7Network6ClientEb+0xf41)[0x649e91]
./lib/libclib.so(+0x4da0f)[0x7f87c9c0ca0f]
./lib/libclib.so(ZN3Pol10threadhelp10run_threadEPFvPvES1+0xe)[0x7f87c9c172de]
./lib/libclib.so(_ZN3Pol10threadhelp12thread_stub2EPv+0x58)[0x7f87c9c173e8]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x8064)[0x7f87c954f064]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7f87c7dfa62d]
======= Memory map: ========
00400000-007e1000 r-xp 00000000 08:01 2360549 /home/ultima/server_2017_05_28/pol
009e0000-00a02000 r--p 003e0000 08:01 2360549 /home/ultima/server_2017_05_28/pol
00a02000-00a06000 rw-p 00402000 08:01 2360549 /home/ultima/server_2017_05_28/pol
00a06000-595e7000 rw-p 00000000 00:00 0 [heap]
7f871c000000-7f871c081000 rw-p 00000000 00:00 0
7f871c081000-7f8720000000 ---p 00000000 00:00 0
7f8720000000-7f8720039000 rw-p 00000000 00:00 0
7f8720039000-7f8724000000 ---p 00000000 00:00 0
7f8724000000-7f872414f000 rw-p 00000000 00:00 0
7f872414f000-7f8728000000 ---p 00000000 00:00 0
7f8728000000-7f8728072000 rw-p 00000000 00:00 0
7f8728072000-7f872c000000 ---p 00000000 00:00 0
7f872c000000-7f872c163000 rw-p 00000000 00:00 0
7f872c163000-7f8730000000 ---p 00000000 00:00 0
7f8730000000-7f873007c000 rw-p 00000000 00:00 0
7f873007c000-7f8734000000 ---p 00000000 00:00 0
7f8734000000-7f87342a0000 rw-p 00000000 00:00 0
7f87342a0000-7f8738000000 ---p 00000000 00:00 0
7f8738000000-7f87380fb000 rw-p 00000000 00:00 0
7f87380fb000-7f873c000000 ---p 00000000 00:00 0
7f873c000000-7f873d1d0000 rw-p 00000000 00:00 0
7f873d1d0000-7f8740000000 ---p 00000000 00:00 0
7f8740000000-7f8740122000 rw-p 00000000 00:00 0
7f8740122000-7f8744000000 ---p 00000000 00:00 0
7f8744000000-7f874664f000 rw-p 00000000 00:00 0
7f874664f000-7f8748000000 ---p 00000000 00:00 0
7f8748000000-7f874885a000 rw-p 00000000 00:00 0
7f874885a000-7f874c000000 ---p 00000000 00:00 0
7f874c000000-7f874c021000 rw-p 00000000 00:00 0
7f874c021000-7f8750000000 ---p 00000000 00:00 0
7f8750000000-7f8750021000 rw-p 00000000 00:00 0
7f8750021000-7f8754000000 ---p 00000000 00:00 0
7f8754000000-7f8754021000 rw-p 00000000 00:00 0
7f8754021000-7f8758000000 ---p 00000000 00:00 0
7f8758000000-7f8758021000 rw-p 00000000 00:00 0
7f8758021000-7f875c000000 ---p 00000000 00:00 0
7f875c000000-7f875c021000 rw-p 00000000 00:00 0
7f875c021000-7f8760000000 ---p 00000000 00:00 0
7f8760000000-7f8760021000 rw-p 00000000 00:00 0
7f8760021000-7f8764000000 ---p 00000000 00:00 0
7f8764000000-7f8764021000 rw-p 00000000 00:00 0
7f8764021000-7f8768000000 ---p 00000000 00:00 0
7f876c000000-7f876c021000 rw-p 00000000 00:00 0
7f876c021000-7f8770000000 ---p 00000000 00:00 0
7f8770000000-7f8770021000 rw-p 00000000 00:00 0
7f8770021000-7f8774000000 ---p 00000000 00:00 0
7f8774000000-7f8774021000 rw-p 00000000 00:00 0
7f8774021000-7f8778000000 ---p 00000000 00:00 0
7f8778000000-7f8778021000 rw-p 00000000 00:00 0
7f8778021000-7f877c000000 ---p 00000000 00:00 0
7f877c000000-7f877c021000 rw-p 00000000 00:00 0
7f877c021000-7f8780000000 ---p 00000000 00:00 0
7f8780ff2000-7f8780ff3000 ---p 00000000 00:00 0
7f8780ff3000-7f87817f3000 rw-p 00000000 00:00 0
7f87827f5000-7f87827f6000 ---p 00000000 00:00 0
7f87827f6000-7f8782ff6000 rw-p 00000000 00:00 0
7f8782ff6000-7f8782ff7000 ---p 00000000 00:00 0
7f8782ff7000-7f87837f7000 rw-p 00000000 00:00 0
7f87837f7000-7f87837f8000 ---p 00000000 00:00 0
7f87837f8000-7f8783ff8000 rw-p 00000000 00:00 0
7f8783ff8000-7f8783ff9000 ---p 00000000 00:00 0
7f8783ff9000-7f87847f9000 rw-p 00000000 00:00 0
7f87847f9000-7f87847fa000 ---p 00000000 00:00 0
7f87847fa000-7f8784ffa000 rw-p 00000000 00:00 0
7f8784ffa000-7f8784ffb000 ---p 00000000 00:00 0
7f8784ffb000-7f87857fb000 rw-p 00000000 00:00 0
7f87857fb000-7f87857fc000 ---p 00000000 00:00 0
7f87857fc000-7f8785ffc000 rw-p 00000000 00:00 0
7f8785ffc000-7f8785ffd000 ---p 00000000 00:00 0
7f8785ffd000-7f87867fd000 rw-p 00000000 00:00 0
7f87867fd000-7f87867fe000 ---p 00000000 00:00 0
7f87867fe000-7f8786ffe000 rw-p 00000000 00:00 0
7f8786ffe000-7f8786fff000 ---p 00000000 00:00 0
7f8786fff000-7f87877ff000 rw-p 00000000 00:00 0
7f87877ff000-7f8787800000 ---p 00000000 00:00 0
7f8787800000-7f8788000000 rw-p 00000000 00:00 0
7f8788000000-7f8788021000 rw-p 00000000 00:00 0
7f8788021000-7f878c000000 ---p 00000000 00:00 0
7f878c7f9000-7f878c7fa000 ---p 00000000 00:00 0
7f878c7fa000-7f878cffa000 rw-p 00000000 00:00 0
7f878cffa000-7f878cffb000 ---p 00000000 00:00 0
7f878cffb000-7f878d7fb000 rw-p 00000000 00:00 0
7f878d7fb000-7f878d7fc000 ---p 00000000 00:00 0
7f878d7fc000-7f878dffc000 rw-p 00000000 00:00 0
7f878dffc000-7f878dffd000 ---p 00000000 00:00 0
7f878dffd000-7f878e7fd000 rw-p 00000000 00:00 0
7f878e7fd000-7f878e7fe000 ---p 00000000 00:00 0
7f878e7fe000-7f878effe000 rw-p 00000000 00:00 0
7f878effe000-7f878efff000 ---p 00000000 00:00 0
7f878efff000-7f878f7ff000 rw-p 00000000 00:00 0
7f878f7ff000-7f878f800000 ---p 00000000 00:00 0
7f878f800000-7f8790000000 rw-p 00000000 00:00 0
7f8790000000-7f8790021000 rw-p 00000000 00:00 0
7f8790021000-7f8794000000 ---p 00000000 00:00 0
7f8794000000-7f8794021000 rw-p 00000000 00:00 0
7f8794021000-7f8798000000 ---p 00000000 00:00 0
7f8798000000-7f879869d000 rw-p 00000000 00:00 0
7f879869d000-7f879c000000 ---p 00000000 00:00 0
7f879c000000-7f87a0000000 rw-p 00000000 00:00 0
7f87a0000000-7f87a0021000 rw-p 00000000 00:00 0
7f87a0021000-7f87a4000000 ---p 00000000 00:00 0
7f87a47f9000-7f87a47fa000 ---p 00000000 00:00 0
7f87a47fa000-7f87a4ffa000 rw-p 00000000 00:00 0
7f87a4ffa000-7f87a4ffb000 ---p 00000000 00:00 0
7f87a4ffb000-7f87a57fb000 rw-p 00000000 00:00 0
7f87a57fb000-7f87a57fc000 ---p 00000000 00:00 0
7f87a57fc000-7f87a5ffc000 rw-p 00000000 00:00 0
7f87a5ffc000-7f87a5ffd000 ---p 00000000 00:00 0
7f87a5ffd000-7f87a67fd000 rw-p 00000000 00:00 0
7f87a67fd000-7f87a67fe000 ---p 00000000 00:00 0
7f87a67fe000-7f87a6ffe000 rw-p 00000000 00:00 0
7f87a6ffe000-7f87a6fff000 ---p 00000000 00:00 0
7f87a6fff000-7f87a77ff000 rw-p 00000000 00:00 0
7f87a77ff000-7f87a7800000 ---p 00000000 00:00 0
7f87a7800000-7f87a8000000 rw-p 00000000 00:00 0
7f87a8000000-7f87a8021000 rw-p 00000000 00:00 0
7f87a8021000-7f87ac000000 ---p 00000000 00:00 0
7f87ac1d1000-7f87ad9d2000 rw-p 00000000 00:00 0
7f87ae115000-7f87ae116000 ---p 00000000 00:00 0
7f87ae116000-7f87ae916000 rw-p 00000000 00:00 0
7f87ae916000-7f87ae917000 ---p 00000000 00:00 0
7f87ae917000-7f87af925000 rw-p 00000000 00:00 0
7f87af925000-7f87af930000 r-xp 00000000 08:01 3670042 /lib/x86_64-linux-gnu/libnss_files-2.19.so
7f87af930000-7f87afb2f000 ---p 0000b000 08:01 3670042 /lib/x86_64-linux-gnu/libnss_files-2.19.so
7f87afb2f000-7f87afb30000 r--p 0000a000 08:01 3670042 /lib/x86_64-linux-gnu/libnss_files-2.19.so
7f87afb30000-7f87afb31000 rw-p 0000b000 08:01 3670042 /lib/x86_64-linux-gnu/libnss_files-2.19.so
7f87afb31000-7f87c0000000 rw-p 00000000 00:00 0
7f87c0000000-7f87c0021000 rw-p 00000000 00:00 0
7f87c0021000-7f87c4000000 ---p 00000000 00:00 0
7f87c4002000-7f87c6c57000 rw-p 00000000 00:00 0
7f87c6c57000-7f87c6f11000 r--p 00000000 08:01 797013 /usr/lib/locale/locale-archive
7f87c6f11000-7f87c6f12000 ---p 00000000 00:00 0
7f87c6f12000-7f87c7712000 rw-p 00000000 00:00 0
7f87c7712000-7f87c7715000 r-xp 00000000 08:01 3670031 /lib/x86_64-linux-gnu/libdl-2.19.so
7f87c7715000-7f87c7914000 ---p 00003000 08:01 3670031 /lib/x86_64-linux-gnu/libdl-2.19.so
7f87c7914000-7f87c7915000 r--p 00002000 08:01 3670031 /lib/x86_64-linux-gnu/libdl-2.19.so
7f87c7915000-7f87c7916000 rw-p 00003000 08:01 3670031 /lib/x86_64-linux-gnu/libdl-2.19.so
7f87c7916000-7f87c7ae3000 r-xp 00000000 08:01 788233 /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
7f87c7ae3000-7f87c7ce2000 ---p 001cd000 08:01 788233 /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
7f87c7ce2000-7f87c7cff000 r--p 001cc000 08:01 788233 /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
7f87c7cff000-7f87c7d0f000 rw-p 001e9000 08:01 788233 /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
7f87c7d0f000-7f87c7d12000 rw-p 00000000 00:00 0
7f87c7d12000-7f87c7eb3000 r-xp 00000000 08:01 3670027 /lib/x86_64-linux-gnu/libc-2.19.so
7f87c7eb3000-7f87c80b3000 ---p 001a1000 08:01 3670027 /lib/x86_64-linux-gnu/libc-2.19.so
7f87c80b3000-7f87c80b7000 r--p 001a1000 08:01 3670027 /lib/x86_64-linux-gnu/libc-2.19.so
7f87c80b7000-7f87c80b9000 rw-p 001a5000 08:01 3670027 /lib/x86_64-linux-gnu/libc-2.19.so
7f87c80b9000-7f87c80bd000 rw-p 00000000 00:00 0
7f87c80bd000-7f87c80d3000 r-xp 00000000 08:01 3670020 /lib/x86_64-linux-gnu/libgcc_s.so.1
7f87c80d3000-7f87c82d2000 ---p 00016000 08:01 3670020 /lib/x86_64-linux-gnu/libgcc_s.so.1
7f87c82d2000-7f87c82d3000 rw-p 00015000 08:01 3670020 /lib/x86_64-linux-gnu/libgcc_s.so.1
7f87c82d3000-7f87c82e9000 r-xp 00000000 08:01 798032 /usr/lib/x86_64-linux-gnu/libgomp.so.1.0.0
7f87c82e9000-7f87c84e8000 ---p 00016000 08:01 798032 /usr/lib/x86_64-linux-gnu/libgomp.so.1.0.0
7f87c84e8000-7f87c84e9000 rw-p 00015000 08:01 798032 /usr/lib/x86_64-linux-gnu/libgomp.so.1.0.0
7f87c84e9000-7f87c85e9000 r-xp 00000000 08:01 3670032 /lib/x86_64-linux-gnu/libm-2.19.so
7f87c85e9000-7f87c87e8000 ---p 00100000 08:01 3670032 /lib/x86_64-linux-gnu/libm-2.19.so
7f87c87e8000-7f87c87e9000 r--p 000ff000 08:01 3670032 /lib/x86_64-linux-gnu/libm-2.19.so
7f87c87e9000-7f87c87ea000 rw-p 00100000 08:01 3670032 /lib/x86_64-linux-gnu/libm-2.19.so
7f87c87ea000-7f87c88d6000 r-xp 00000000 08:01 791412 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20
7f87c88d6000-7f87c8ad6000 ---p 000ec000 08:01 791412 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20
7f87c8ad6000-7f87c8ade000 r--p 000ec000 08:01 791412 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20
7f87c8ade000-7f87c8ae0000 rw-p 000f4000 08:01 791412 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20
7f87c8ae0000-7f87c8af5000 rw-p 00000000 00:00 0
7f87c8af5000-7f87c8be1000 r-xp 00000000 08:01 2361018 /home/ultima/server_2017_05_28/lib/libboost_regex.so.1.63.0
7f87c8be1000-7f87c8de1000 ---p 000ec000 08:01 2361018 /home/ultima/server_2017_05_28/lib/libboost_regex.so.1.63.0
7f87c8de1000-7f87c8de5000 r--p 000ec000 08:01 2361018 /home/ultima/server_2017_05_28/lib/libboost_regex.so.1.63.0
7f87c8de5000-7f87c8de7000 rw-p 000f0000 08:01 2361018 /home/ultima/server_2017_05_28/lib/libboost_regex.so.1.63.0
7f87c8de7000-7f87c8de8000 rw-p 00000000 00:00 0
7f87c8de8000-7f87c90a0000 r-xp 00000000 08:01 790885 /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18.0.0
7f87c90a0000-7f87c92a0000 ---p 002b8000 08:01 790885 /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18.0.0
7f87c92a0000-7f87c92a7000 r--p 002b8000 08:01 790885 /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18.0.0
7f87c92a7000-7f87c9326000 rw-p 002bf000 08:01 790885 /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18.0.0
7f87c9326000-7f87c932c000 rw-p 00000000 00:00 0
7f87c932c000-7f87c9346000 r-xp 00000000 08:01 3670116 /lib/x86_64-linux-gnu/libz.so.1.2.8
7f87c9346000-7f87c9545000 ---p 0001a000 08:01 3670116 /lib/x86_64-linux-gnu/libz.so.1.2.8
7f87c9545000-7f87c9546000 r--p 00019000 08:01 3670116 /lib/x86_64-linux-gnu/libz.so.1.2.8
7f87c9546000-7f87c9547000 rw-p 0001a000 08:01 3670116 /lib/x86_64-linux-gnu/libz.so.1.2.8
7f87c9547000-7f87c955f000 r-xp 00000000 08:01 3670019 /lib/x86_64-linux-gnu/libpthread-2.19.so
7f87c955f000-7f87c975e000 ---p 00018000 08:01 3670019 /lib/x86_64-linux-gnu/libpthread-2.19.so
7f87c975e000-7f87c975f000 r--p 00017000 08:01 3670019 /lib/x86_64-linux-gnu/libpthread-2.19.so
7f87c975f000-7f87c9760000 rw-p 00018000 08:01 3670019 /lib/x86_64-linux-gnu/libpthread-2.19.so
7f87c9760000-7f87c9764000 rw-p 00000000 00:00 0
7f87c9764000-7f87c9776000 r-xp 00000000 08:01 2360548 /home/ultima/server_2017_05_28/lib/libtinyxml.so
7f87c9776000-7f87c9976000 ---p 00012000 08:01 2360548 /home/ultima/server_2017_05_28/lib/libtinyxml.so
7f87c9976000-7f87c9977000 r--p 00012000 08:01 2360548 /home/ultima/server_2017_05_28/lib/libtinyxml.so
7f87c9977000-7f87c9978000 rw-p 00013000 08:01 2360548 /home/ultima/server_2017_05_28/lib/libtinyxml.so
7f87c9978000-7f87c999d000 r-xp 00000000 08:01 2360546 /home/ultima/server_2017_05_28/lib/libplib.so
7f87c999d000-7f87c9b9c000 ---p 00025000 08:01 2360546 /home/ultima/server_2017_05_28/lib/libplib.so
7f87c9b9c000-7f87c9b9d000 r--p 00024000 08:01 2360546 /home/ultima/server_2017_05_28/lib/libplib.so
7f87c9b9d000-7f87c9b9e000 rw-p 00025000 08:01 2360546 /home/ultima/server_2017_05_28/lib/libplib.so
7f87c9b9e000-7f87c9bbf000 rw-p 00000000 00:00 0
7f87c9bbf000-7f87c9c2d000 r-xp 00000000 08:01 2360476 /home/ultima/server_2017_05_28/lib/libclib.so
7f87c9c2d000-7f87c9e2c000 ---p 0006e000 08:01 2360476 /home/ultima/server_2017_05_28/lib/libclib.so
7f87c9e2c000-7f87c9e2e000 r--p 0006d000 08:01 2360476 /home/ultima/server_2017_05_28/lib/libclib.so
7f87c9e2e000-7f87c9e2f000 rw-p 0006f000 08:01 2360476 /home/ultima/server_2017_05_28/lib/libclib.so
7f87c9e2f000-7f87c9e31000 rw-p 00000000 00:00 0
7f87c9e31000-7f87c9ef5000 r-xp 00000000 08:01 2359408 /home/ultima/server_2017_05_28/lib/libbscript.so
7f87c9ef5000-7f87ca0f5000 ---p 000c4000 08:01 2359408 /home/ultima/server_2017_05_28/lib/libbscript.so
7f87ca0f5000-7f87ca0fb000 r--p 000c4000 08:01 2359408 /home/ultima/server_2017_05_28/lib/libbscript.so
7f87ca0fb000-7f87ca100000 rw-p 000ca000 08:01 2359408 /home/ultima/server_2017_05_28/lib/libbscript.so
7f87ca100000-7f87ca121000 r-xp 00000000 08:01 3670021 /lib/x86_64-linux-gnu/ld-2.19.so
7f87ca165000-7f87ca309000 rw-p 00000000 00:00 0
7f87ca319000-7f87ca320000 rw-p 00000000 00:00 0
7f87ca320000-7f87ca321000 r--p 00020000 08:01 3670021 /lib/x86_64-linux-gnu/ld-2.19.so
7f87ca321000-7f87ca322000 rw-p 00021000 08:01 3670021 /lib/x86_64-linux-gnu/ld-2.19.so
7f87ca322000-7f87ca323000 rw-p 00000000 00:00 0
7ffc54cab000-7ffc54ccc000 rw-p 00000000 00:00 0 [stack]
7ffc54d21000-7ffc54d23000 r--p 00000000 00:00 0 [vvar]
7ffc54d23000-7ffc54d25000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
Signal "SIGABRT"(6: abort signal from abort()) detected.
Signal code is -6
########################################################################################
POL will exit now. Please, post the following to the forum: http://forums.polserver.com/.
#00 0x00000000c9bee160 in >> Pol::Clib::ExceptionParser::getTrace():[0x50] from ./lib/libclib.so
#1 0x00000000c9bef493 in >> Pol::Clib::ExceptionParser::handleExceptionSignal(int):[0x83] from ./lib/libclib.so
#2 0x00000000c9556890 in :[0xf890] from /lib/x86_64-linux-gnu/libpthread.so.0
#3 0x00000000c7d47067 in gsignal:[0x37] from /lib/x86_64-linux-gnu/libc.so.6
#4 0x00000000c7d48448 in abort:[0x148] from /lib/x86_64-linux-gnu/libc.so.6
#5 0x00000000c7d851b4 in :[0x731b4] from /lib/x86_64-linux-gnu/libc.so.6
#6 0x00000000c7e0aaa7 in __fortify_fail:[0x37] from /lib/x86_64-linux-gnu/libc.so.6
#7 0x00000000c7e08cc0 in :[0xf6cc0] from /lib/x86_64-linux-gnu/libc.so.6
#8 0x00000000c7e0aa17 in :[0xf8a17] from /lib/x86_64-linux-gnu/libc.so.6
#9 0x0000000000649e91 in >> Pol::Core::client_io_thread(Pol::Network::Client
, bool):[0xf41] from ./pol
#10 0x00000000c9c0ca0f in :[0x4da0f] from ./lib/libclib.so
#11 0x00000000c9c172de in >> Pol::threadhelp::run_thread(void (
)(void
), void*):[0xe] from ./lib/libclib.so
#12 0x00000000c9c173e8 in >> Pol::threadhelp::thread_stub2(void*):[0x58] from ./lib/libclib.so
#13 0x00000000c954f064 in :[0x8064] from /lib/x86_64-linux-gnu/libpthread.so.0
#14 0x00000000c7dfa62d in clone:[0x6d] from /lib/x86_64-linux-gnu/libc.so.6
Admin contact: anonymous
Executable: ./pol
Start time: [09/05 12:06:33]
Current time: [09/06 14:10:51]

Stack trace:
#00 0x00000000c9bee160 in >> Pol::Clib::ExceptionParser::getTrace():[0x50] from ./lib/libclib.so
#1 0x00000000c9bef493 in >> Pol::Clib::ExceptionParser::handleExceptionSignal(int):[0x83] from ./lib/libclib.so
#2 0x00000000c9556890 in :[0xf890] from /lib/x86_64-linux-gnu/libpthread.so.0
#3 0x00000000c7d47067 in gsignal:[0x37] from /lib/x86_64-linux-gnu/libc.so.6
#4 0x00000000c7d48448 in abort:[0x148] from /lib/x86_64-linux-gnu/libc.so.6
#5 0x00000000c7d851b4 in :[0x731b4] from /lib/x86_64-linux-gnu/libc.so.6
#6 0x00000000c7e0aaa7 in __fortify_fail:[0x37] from /lib/x86_64-linux-gnu/libc.so.6
#7 0x00000000c7e08cc0 in :[0xf6cc0] from /lib/x86_64-linux-gnu/libc.so.6
#8 0x00000000c7e0aa17 in :[0xf8a17] from /lib/x86_64-linux-gnu/libc.so.6
#9 0x0000000000649e91 in >> Pol::Core::client_io_thread(Pol::Network::Client*, bool):[0xf41] from ./pol
#10 0x00000000c9c0ca0f in :[0x4da0f] from ./lib/libclib.so
#11 0x00000000c9c172de in >> Pol::threadhelp::run_thread(void ()(void), void*):[0xe] from ./lib/libclib.so
#12 0x00000000c9c173e8 in >> Pol::threadhelp::thread_stub2(void*):[0x58] from ./lib/libclib.so
#13 0x00000000c954f064 in :[0x8064] from /lib/x86_64-linux-gnu/libpthread.so.0
#14 0x00000000c7dfa62d in clone:[0x6d] from /lib/x86_64-linux-gnu/libc.so.6

Compiler: gcc 4.8.5
Compile time: 17:26:17
Build target: LINUX (64bit)
Build revision: POL99.0.0 Break Everything Even Rudder
GNU C library (compile time): 2.19

########################################################################################
Signal "SIGSEGV"(11: invalid memory reference) detected.
Segmentation fault detected - faulty memory reference at location: 0xa6cb70
Signal code is 2
########################################################################################
POL will exit now. Please, post the following to the forum: http://forums.polserver.com/.
#00 0x00000000c9bee160 in >> Pol::Clib::ExceptionParser::getTrace():[0x50] from ./lib/libclib.so
#1 0x00000000c9bef493 in >> Pol::Clib::ExceptionParser::handleExceptionSignal(int):[0x83] from ./lib/libclib.so
#2 0x00000000c9556890 in :[0xf890] from /lib/x86_64-linux-gnu/libpthread.so.0
#3 [0xa6cb70]
Admin contact: anonymous
Executable: ./pol
Start time: [09/05 12:06:33]
Current time: [09/06 14:10:51]

Stack trace:
#00 0x00000000c9bee160 in >> Pol::Clib::ExceptionParser::getTrace():[0x50] from ./lib/libclib.so
#1 0x00000000c9bef493 in >> Pol::Clib::ExceptionParser::handleExceptionSignal(int):[0x83] from ./lib/libclib.so
#2 0x00000000c9556890 in :[0xf890] from /lib/x86_64-linux-gnu/libpthread.so.0
#3 [0xa6cb70]

Compiler: gcc 4.8.5
Compile time: 17:26:17
Build target: LINUX (64bit)
Build revision: POL99.0.0 Break Everything Even Rudder
GNU C library (compile time): 2.19

########################################################################################
Segmentation fault

Implement the guild member tracking feature of ClassicUO's World Map.

ClassicUO has a built in World Map similar to UOAuto Map. ClassicUO queries the server using packet 0xF0 for a character's guild member's locations. I would like the response packet implemented in the Core. This shouldn't require an option in serverspcopt.cfg as the server is simply responding to the query. Please see the ServUO implementation for an example of how to implement it.

Warning bug in eCompile, with verbosity set to 10.

Should verbosity=10 generate a warning for this?
return item.graphic := item.objtype;
and this?
return result := GFSendGump(who, virtue_gump);
Warning! possible incorrect assignment.
Ok. I changed return result := GFSendGump(who, virtue_gump); to
result := GFSendGump(who, virtue_gump);
return result;
and I get the same error. It is as if eCompile has the file cached. The script is in the Distro in \pkg\systems\virtue\virtueGump.src, Line 187.

Region functions

Request by @DavidJSGardner
Copied from forums here: https://forums.polserver.com/viewtopic.php?f=46&t=6383

  1. Be able to define child-regions within parent regions.
  2. Have the ability to have an on enter script and on leave script defined for that child-region.
  3. Have the ability to define an entered text and a leave text defined for that child-region.
  4. Have the ability to define for that child-region all of the other fiddly bits that regions can have defined.
    But
  5. When entering a child-region, the leave text of the parent region should not fire.
  6. When leaving a child-region returning to the parent region, the enter text of the parent region should not fire
  7. Have any fiddly bits defined within the child-region will override the same fiddly bits of the parent region.

Fiddly bits refer to the various other settings regions may have.

And I assume you would want the ability to have child regions defined within child-regions.

In terms of firing the enter/leave script fire for a parent region when entering/leaving a child region, I'd say no because you're still in the parent region, just in a child region.

I would like to be able to have child regions of child regions.

Thought of another function for regions.

ListMobilesInRegion( region_name, flags := PLAYERS )

Just like it sounds, returns an array of mobile references for mobiles in region.

Flags would allow us to differentiate between Players, NPCs or both. Typically I'd assume it'd mainly be used to look for players so it'd default to the player flag.

Crash on shutdown due to a race condition between status thread and the destruction of the networkstate (was: Crash POL [ Assertion Failed: contents_.empty() ] 05/15/2017 (with fsanitize))

Assertion Failed: contents_.empty(), /home/administrador/Downloads/f5e76a6-02-05-2017-DEBUG/polserver-master/pol-core/pol/containr.cpp, line 71
Forcing stack backtrace.
=== Stack Backtrace ===
#00 0x00000000609bc48a in backtrace:[0x3a] from /usr/lib/x86_64-linux-gnu/libasan.so.1
#01 0x000000006034c5db in >> Pol::Clib::ExceptionParser::getTrace():[0x11b] from ./lib/libclib.so
#02 0x00000000603934d6 in >> Pol::Clib::force_backtrace(bool):[0xa6] from ./lib/libclib.so
#03 0x00000000603941b0 in >> Pol::Clib::passert_failed(char const*, std::string const&, char const*, unsigned int):[0x1d0] from ./lib/libclib.so
#04 0x0000000060394ef5 in >> Pol::Clib::passert_failed(char const*, char const*, unsigned int):[0x45] from ./lib/libclib.so
#05 0x000000000056bc47 in >> Pol::Core::UContainer::~UContainer():[0xc7] from ./pol
#06 0x000000000056bc81 in >> Pol::Core::UContainer::~UContainer():[0x11] from ./pol
#07 0x000000000090c35f in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase_aux(std::_Rb_tree_const_iterator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >):[0x3f] from ./pol
#08 0x000000000090ba97 in >> Pol::Core::ObjectHash::Reap():[0x247] from ./pol
#09 0x000000000092cbbf in >> Pol::Core::reap_thread():[0x6f] from ./pol
#10 0x00000000603b148d in >> Pol::threadhelp::run_thread(void (*)()):[0xd] from ./lib/libclib.so
#11 0x00000000603b1650 in >> Pol::threadhelp::thread_stub2(void*):[0xd0] from ./lib/libclib.so
#12 0x000000005f85a064 in :[0x8064] from /lib/x86_64-linux-gnu/libpthread.so.0
#13 0x000000005e3f862d in clone:[0x6d] from /lib/x86_64-linux-gnu/libc.so.6

Shutting down due to assertion failure.
terminate called after throwing an instance of 'std::runtime_error'
  what():  Assertion Failed: contents_.empty(), /home/administrador/Downloads/f5e76a6-02-05-2017-DEBUG/polserver-master/pol-core/pol/containr.cpp, line 71
Signal "SIGABRT"(6: abort signal from abort()) detected.
Signal code is -6
########################################################################################
POL will exit now. Please, post the following to the forum: http://forums.polserver.com/.
#00 0x00000000609bc48a in backtrace:[0x3a] from /usr/lib/x86_64-linux-gnu/libasan.so.1
#01 0x000000006034c5db in >> Pol::Clib::ExceptionParser::getTrace():[0x11b] from ./lib/libclib.so
#02 0x000000006034edf7 in >> Pol::Clib::ExceptionParser::handleExceptionSignal(int):[0x147] from ./lib/libclib.so
#03 0x000000005f861890 in :[0xf890] from /lib/x86_64-linux-gnu/libpthread.so.0
#04 0x000000005e345067 in gsignal:[0x37] from /lib/x86_64-linux-gnu/libc.so.6
#05 0x000000005e346448 in abort:[0x148] from /lib/x86_64-linux-gnu/libc.so.6
#06 0x000000005ee48b3d in __gnu_cxx::__verbose_terminate_handler():[0x15d] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#07 0x000000005ee46bb6 in :[0x5ebb6] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#08 0x000000005ee45ca9 in :[0x5dca9] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#09 0x000000005ee4640b in __gxx_personality_v0:[0xeb] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#10 0x000000005e6caff3 in :[0xfff3] from /lib/x86_64-linux-gnu/libgcc_s.so.1
#11 0x000000005e6cb517 in _Unwind_Resume:[0x57] from /lib/x86_64-linux-gnu/libgcc_s.so.1
#12 0x0000000060394f1a in :[0x8af1a] from ./lib/libclib.so
#13 0x000000000056bc47 in >> Pol::Core::UContainer::~UContainer():[0xc7] from ./pol
#14 0x000000000056bc81 in >> Pol::Core::UContainer::~UContainer():[0x11] from ./pol
#15 0x000000000090c35f in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase_aux(std::_Rb_tree_const_iterator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >):[0x3f] from ./pol
#16 0x000000000090ba97 in >> Pol::Core::ObjectHash::Reap():[0x247] from ./pol
#17 0x000000000092cbbf in >> Pol::Core::reap_thread():[0x6f] from ./pol
#18 0x00000000603b148d in >> Pol::threadhelp::run_thread(void (*)()):[0xd] from ./lib/libclib.so
#19 0x00000000603b1650 in >> Pol::threadhelp::thread_stub2(void*):[0xd0] from ./lib/libclib.so
#20 0x000000005f85a064 in :[0x8064] from /lib/x86_64-linux-gnu/libpthread.so.0
#21 0x000000005e3f862d in clone:[0x6d] from /lib/x86_64-linux-gnu/libc.so.6
Admin contact: anonymous
Executable: ./pol
Start time: [05/10 20:11:35] 
Current time: [05/15 00:59:39] 

Stack trace:
#00 0x00000000609bc48a in backtrace:[0x3a] from /usr/lib/x86_64-linux-gnu/libasan.so.1
#01 0x000000006034c5db in >> Pol::Clib::ExceptionParser::getTrace():[0x11b] from ./lib/libclib.so
#02 0x000000006034edf7 in >> Pol::Clib::ExceptionParser::handleExceptionSignal(int):[0x147] from ./lib/libclib.so
#03 0x000000005f861890 in :[0xf890] from /lib/x86_64-linux-gnu/libpthread.so.0
#04 0x000000005e345067 in gsignal:[0x37] from /lib/x86_64-linux-gnu/libc.so.6
#05 0x000000005e346448 in abort:[0x148] from /lib/x86_64-linux-gnu/libc.so.6
#06 0x000000005ee48b3d in __gnu_cxx::__verbose_terminate_handler():[0x15d] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#07 0x000000005ee46bb6 in :[0x5ebb6] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#08 0x000000005ee45ca9 in :[0x5dca9] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#09 0x000000005ee4640b in __gxx_personality_v0:[0xeb] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#10 0x000000005e6caff3 in :[0xfff3] from /lib/x86_64-linux-gnu/libgcc_s.so.1
#11 0x000000005e6cb517 in _Unwind_Resume:[0x57] from /lib/x86_64-linux-gnu/libgcc_s.so.1
#12 0x0000000060394f1a in :[0x8af1a] from ./lib/libclib.so
#13 0x000000000056bc47 in >> Pol::Core::UContainer::~UContainer():[0xc7] from ./pol
#14 0x000000000056bc81 in >> Pol::Core::UContainer::~UContainer():[0x11] from ./pol
#15 0x000000000090c35f in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase_aux(std::_Rb_tree_const_iterator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >):[0x3f] from ./pol
#16 0x000000000090ba97 in >> Pol::Core::ObjectHash::Reap():[0x247] from ./pol
#17 0x000000000092cbbf in >> Pol::Core::reap_thread():[0x6f] from ./pol
#18 0x00000000603b148d in >> Pol::threadhelp::run_thread(void (*)()):[0xd] from ./lib/libclib.so
#19 0x00000000603b1650 in >> Pol::threadhelp::thread_stub2(void*):[0xd0] from ./lib/libclib.so
#20 0x000000005f85a064 in :[0x8064] from /lib/x86_64-linux-gnu/libpthread.so.0
#21 0x000000005e3f862d in clone:[0x6d] from /lib/x86_64-linux-gnu/libc.so.6

Compiler: gcc 4.9.2
Compile time: 19:04:46
Build target: LINUX (64bit)
Build revision: POL99.0.0 Break Everything Even Rudder
GNU C library (compile time): 2.19

########################################################################################
Assertion Failed: contents_.empty(), /home/administrador/Downloads/f5e76a6-02-05-2017-DEBUG/polserver-master/pol-core/pol/containr.cpp, line 71
Forcing stack backtrace.
terminate called recursively
=== Stack Backtrace ===
#00 0x00000000609bc48a in backtrace:[0x3a] from /usr/lib/x86_64-linux-gnu/libasan.so.1
#01 0x000000006034c5db in >> Pol::Clib::ExceptionParser::getTrace():[0x11b] from ./lib/libclib.so
#02 0x00000000603934d6 in >> Pol::Clib::force_backtrace(bool):[0xa6] from ./lib/libclib.so
#03 0x00000000603941b0 in >> Pol::Clib::passert_failed(char const*, std::string const&, char const*, unsigned int):[0x1d0] from ./lib/libclib.so
#04 0x0000000060394ef5 in >> Pol::Clib::passert_failed(char const*, char const*, unsigned int):[0x45] from ./lib/libclib.so
#05 0x000000000056bc47 in >> Pol::Core::UContainer::~UContainer():[0xc7] from ./pol
#06 0x000000000056bc81 in >> Pol::Core::UContainer::~UContainer():[0x11] from ./pol
#07 0x000000000090c264 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x64] from ./pol
#08 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#09 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#10 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#11 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#12 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#13 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#14 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#15 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#16 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#17 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#18 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#19 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#20 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#21 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#22 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#23 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#24 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#25 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#26 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#27 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#28 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#29 0x00000000005e66a8 in >> Pol::Core::ObjectStorageManager::~ObjectStorageManager():[0x18] from ./pol
#30 0x000000005e347b29 in :[0x37b29] from /lib/x86_64-linux-gnu/libc.so.6
#31 0x000000005e347b75 in :[0x37b75] from /lib/x86_64-linux-gnu/libc.so.6
#32 0x000000006034f1a4 in >> Pol::Clib::ExceptionParser::handleExceptionSignal(int):[0x4f4] from ./lib/libclib.so
#33 0x000000005f861890 in :[0xf890] from /lib/x86_64-linux-gnu/libpthread.so.0
#34 0x000000005e345067 in gsignal:[0x37] from /lib/x86_64-linux-gnu/libc.so.6
#35 0x000000005e346448 in abort:[0x148] from /lib/x86_64-linux-gnu/libc.so.6
#36 0x000000005ee48b3d in __gnu_cxx::__verbose_terminate_handler():[0x15d] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#37 0x000000005ee46bb6 in :[0x5ebb6] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#38 0x000000005ee45ca9 in :[0x5dca9] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#39 0x000000005ee4640b in __gxx_personality_v0:[0xeb] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#40 0x000000005e6caff3 in :[0xfff3] from /lib/x86_64-linux-gnu/libgcc_s.so.1
#41 0x000000005e6cb517 in _Unwind_Resume:[0x57] from /lib/x86_64-linux-gnu/libgcc_s.so.1
#42 0x0000000060394f1a in :[0x8af1a] from ./lib/libclib.so
#43 0x000000000056bc47 in >> Pol::Core::UContainer::~UContainer():[0xc7] from ./pol
#44 0x000000000056bc81 in >> Pol::Core::UContainer::~UContainer():[0x11] from ./pol
#45 0x000000000090c35f in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase_aux(std::_Rb_tree_const_iterator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >):[0x3f] from ./pol
#46 0x000000000090ba97 in >> Pol::Core::ObjectHash::Reap():[0x247] from ./pol
#47 0x000000000092cbbf in >> Pol::Core::reap_thread():[0x6f] from ./pol
#48 0x00000000603b148d in >> Pol::threadhelp::run_thread(void (*)()):[0xd] from ./lib/libclib.so
#49 0x00000000603b1650 in >> Pol::threadhelp::thread_stub2(void*):[0xd0] from ./lib/libclib.so
#50 0x000000005f85a064 in :[0x8064] from /lib/x86_64-linux-gnu/libpthread.so.0
#51 0x000000005e3f862d in clone:[0x6d] from /lib/x86_64-linux-gnu/libc.so.6

Signal "SIGABRT"(6: abort signal from abort()) detected.
Signal code is -6
########################################################################################
POL will exit now. Please, post the following to the forum: http://forums.polserver.com/.
Shutting down due to assertion failure.
#00 0x00000000609bc48a in backtrace:[0x3a] from /usr/lib/x86_64-linux-gnu/libasan.so.1
#01 0x000000006034c5db in >> Pol::Clib::ExceptionParser::getTrace():[0x11b] from ./lib/libclib.so
#02 0x000000006034edf7 in >> Pol::Clib::ExceptionParser::handleExceptionSignal(int):[0x147] from ./lib/libclib.so
#03 0x000000005f861890 in :[0xf890] from /lib/x86_64-linux-gnu/libpthread.so.0
#04 0x000000005e345067 in gsignal:[0x37] from /lib/x86_64-linux-gnu/libc.so.6
#05 0x000000005e346448 in abort:[0x148] from /lib/x86_64-linux-gnu/libc.so.6
#06 0x000000005ee48acd in __gnu_cxx::__verbose_terminate_handler():[0xed] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#07 0x000000005ee46bb6 in :[0x5ebb6] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#08 0x000000005ee45ca9 in :[0x5dca9] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#09 0x000000005ee4640b in __gxx_personality_v0:[0xeb] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#10 0x000000005e6caff3 in :[0xfff3] from /lib/x86_64-linux-gnu/libgcc_s.so.1
#11 0x000000005e6cb517 in _Unwind_Resume:[0x57] from /lib/x86_64-linux-gnu/libgcc_s.so.1
#12 0x0000000060394f1a in :[0x8af1a] from ./lib/libclib.so
#13 0x000000000056bc47 in >> Pol::Core::UContainer::~UContainer():[0xc7] from ./pol
#14 0x000000000056bc81 in >> Pol::Core::UContainer::~UContainer():[0x11] from ./pol
#15 0x000000000090c264 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x64] from ./pol
#16 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#17 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#18 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#19 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#20 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#21 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#22 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#23 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#24 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#25 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#26 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#27 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#28 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#29 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#30 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#31 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#32 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#33 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#34 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#35 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#36 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#37 0x00000000005e66a8 in >> Pol::Core::ObjectStorageManager::~ObjectStorageManager():[0x18] from ./pol
#38 0x000000005e347b29 in :[0x37b29] from /lib/x86_64-linux-gnu/libc.so.6
#39 0x000000005e347b75 in :[0x37b75] from /lib/x86_64-linux-gnu/libc.so.6
#40 0x000000006034f1a4 in >> Pol::Clib::ExceptionParser::handleExceptionSignal(int):[0x4f4] from ./lib/libclib.so
#41 0x000000005f861890 in :[0xf890] from /lib/x86_64-linux-gnu/libpthread.so.0
#42 0x000000005e345067 in gsignal:[0x37] from /lib/x86_64-linux-gnu/libc.so.6
#43 0x000000005e346448 in abort:[0x148] from /lib/x86_64-linux-gnu/libc.so.6
#44 0x000000005ee48b3d in __gnu_cxx::__verbose_terminate_handler():[0x15d] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#45 0x000000005ee46bb6 in :[0x5ebb6] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#46 0x000000005ee45ca9 in :[0x5dca9] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#47 0x000000005ee4640b in __gxx_personality_v0:[0xeb] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#48 0x000000005e6caff3 in :[0xfff3] from /lib/x86_64-linux-gnu/libgcc_s.so.1
#49 0x000000005e6cb517 in _Unwind_Resume:[0x57] from /lib/x86_64-linux-gnu/libgcc_s.so.1
#50 0x0000000060394f1a in :[0x8af1a] from ./lib/libclib.so
#51 0x000000000056bc47 in >> Pol::Core::UContainer::~UContainer():[0xc7] from ./pol
#52 0x000000000056bc81 in >> Pol::Core::UContainer::~UContainer():[0x11] from ./pol
#53 0x000000000090c35f in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase_aux(std::_Rb_tree_const_iterator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >):[0x3f] from ./pol
#54 0x000000000090ba97 in >> Pol::Core::ObjectHash::Reap():[0x247] from ./pol
#55 0x000000000092cbbf in >> Pol::Core::reap_thread():[0x6f] from ./pol
#56 0x00000000603b148d in >> Pol::threadhelp::run_thread(void (*)()):[0xd] from ./lib/libclib.so
#57 0x00000000603b1650 in >> Pol::threadhelp::thread_stub2(void*):[0xd0] from ./lib/libclib.so
#58 0x000000005f85a064 in :[0x8064] from /lib/x86_64-linux-gnu/libpthread.so.0
#59 0x000000005e3f862d in clone:[0x6d] from /lib/x86_64-linux-gnu/libc.so.6
Admin contact: anonymous
Executable: ./pol
Start time: [05/10 20:11:35] 
Current time: [05/15 00:59:39] 

Stack trace:
#00 0x00000000609bc48a in backtrace:[0x3a] from /usr/lib/x86_64-linux-gnu/libasan.so.1
#01 0x000000006034c5db in >> Pol::Clib::ExceptionParser::getTrace():[0x11b] from ./lib/libclib.so
#02 0x000000006034edf7 in >> Pol::Clib::ExceptionParser::handleExceptionSignal(int):[0x147] from ./lib/libclib.so
#03 0x000000005f861890 in :[0xf890] from /lib/x86_64-linux-gnu/libpthread.so.0
#04 0x000000005e345067 in gsignal:[0x37] from /lib/x86_64-linux-gnu/libc.so.6
#05 0x000000005e346448 in abort:[0x148] from /lib/x86_64-linux-gnu/libc.so.6
#06 0x000000005ee48acd in __gnu_cxx::__verbose_terminate_handler():[0xed] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#07 0x000000005ee46bb6 in :[0x5ebb6] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#08 0x000000005ee45ca9 in :[0x5dca9] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#09 0x000000005ee4640b in __gxx_personality_v0:[0xeb] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#10 0x000000005e6caff3 in :[0xfff3] from /lib/x86_64-linux-gnu/libgcc_s.so.1
#11 0x000000005e6cb517 in _Unwind_Resume:[0x57] from /lib/x86_64-linux-gnu/libgcc_s.so.1
#12 0x0000000060394f1a in :[0x8af1a] from ./lib/libclib.so
#13 0x000000000056bc47 in >> Pol::Core::UContainer::~UContainer():[0xc7] from ./pol
#14 0x000000000056bc81 in >> Pol::Core::UContainer::~UContainer():[0x11] from ./pol
#15 0x000000000090c264 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x64] from ./pol
#16 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#17 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#18 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#19 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#20 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#21 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#22 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#23 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#24 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#25 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#26 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#27 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#28 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#29 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#30 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#31 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#32 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#33 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#34 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#35 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#36 0x000000000090c243 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x43] from ./pol
#37 0x00000000005e66a8 in >> Pol::Core::ObjectStorageManager::~ObjectStorageManager():[0x18] from ./pol
#38 0x000000005e347b29 in :[0x37b29] from /lib/x86_64-linux-gnu/libc.so.6
#39 0x000000005e347b75 in :[0x37b75] from /lib/x86_64-linux-gnu/libc.so.6
#40 0x000000006034f1a4 in >> Pol::Clib::ExceptionParser::handleExceptionSignal(int):[0x4f4] from ./lib/libclib.so
#41 0x000000005f861890 in :[0xf890] from /lib/x86_64-linux-gnu/libpthread.so.0
#42 0x000000005e345067 in gsignal:[0x37] from /lib/x86_64-linux-gnu/libc.so.6
#43 0x000000005e346448 in abort:[0x148] from /lib/x86_64-linux-gnu/libc.so.6
#44 0x000000005ee48b3d in __gnu_cxx::__verbose_terminate_handler():[0x15d] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#45 0x000000005ee46bb6 in :[0x5ebb6] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#46 0x000000005ee45ca9 in :[0x5dca9] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#47 0x000000005ee4640b in __gxx_personality_v0:[0xeb] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#48 0x000000005e6caff3 in :[0xfff3] from /lib/x86_64-linux-gnu/libgcc_s.so.1
#49 0x000000005e6cb517 in _Unwind_Resume:[0x57] from /lib/x86_64-linux-gnu/libgcc_s.so.1
#50 0x0000000060394f1a in :[0x8af1a] from ./lib/libclib.so
#51 0x000000000056bc47 in >> Pol::Core::UContainer::~UContainer():[0xc7] from ./pol
#52 0x000000000056bc81 in >> Pol::Core::UContainer::~UContainer():[0x11] from ./pol
#53 0x000000000090c35f in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase_aux(std::_Rb_tree_const_iterator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >):[0x3f] from ./pol
#54 0x000000000090ba97 in >> Pol::Core::ObjectHash::Reap():[0x247] from ./pol
#55 0x000000000092cbbf in >> Pol::Core::reap_thread():[0x6f] from ./pol
#56 0x00000000603b148d in >> Pol::threadhelp::run_thread(void (*)()):[0xd] from ./lib/libclib.so
#57 0x00000000603b1650 in >> Pol::threadhelp::thread_stub2(void*):[0xd0] from ./lib/libclib.so
#58 0x000000005f85a064 in :[0x8064] from /lib/x86_64-linux-gnu/libpthread.so.0
#59 0x000000005e3f862d in clone:[0x6d] from /lib/x86_64-linux-gnu/libc.so.6

Compiler: gcc 4.9.2
Compile time: 19:04:46
Build target: LINUX (64bit)
Build revision: POL99.0.0 Break Everything Even Rudder
GNU C library (compile time): 2.19

########################################################################################
=================================================================
==21713==ERROR: AddressSanitizer: heap-use-after-free on address 0x60c00000bff0 at pc 0x8bdff3 bp 0x7f293eb77910 sp 0x7f293eb77908
WRITE of size 1 at 0x60c00000bff0 thread T9
    #0 0x8bdff2 in Pol::Clib::message_queue<std::unique_ptr<Pol::Network::TransmitData, std::default_delete<Pol::Network::TransmitData> > >::cancel() (/home/administrador/pol/pol+0x8bdff2)
    #1 0x932f06 in Pol::Core::threadstatus_thread() (/home/administrador/pol/pol+0x932f06)
    #2 0x7f29603b148c in Pol::threadhelp::run_thread(void (*)()) (lib/libclib.so+0xa748c)
    #3 0x7f29603b164f in Pol::threadhelp::thread_stub2(void*) (lib/libclib.so+0xa764f)
    #4 0x7f295f85a063 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x8063)
    #5 0x7f295e3f862c in clone (/lib/x86_64-linux-gnu/libc.so.6+0xe862c)

==21713==AddressSanitizer: while reporting a bug found another one.Ignoring.
0x60c00000bff0 is located 112 bytes inside of 120-byte region [0x60c00000bf80,0x60c00000bff8)
freed by thread T7 here:
    #0 0x7f29609e6477 in operator delete(void*) (/usr/lib/x86_64-linux-gnu/libasan.so.1+0x55477)
    #1 0x5e0a4d in Pol::Core::NetworkManager::~NetworkManager() (/home/administrador/pol/pol+0x5e0a4d)
    #2 0x7f295e347b28 (/lib/x86_64-linux-gnu/libc.so.6+0x37b28)

previously allocated by thread T0 here:
    #0 0x7f29609e5fff in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.1+0x54fff)
    #1 0x5e1de2 in Pol::Core::NetworkManager::NetworkManager() (/home/administrador/pol/pol+0x5e1de2)
    #2 0x4f37f5 in _GLOBAL__sub_I_network.cpp (/home/administrador/pol/pol+0x4f37f5)
    #3 0xb5e2dc in __libc_csu_init (/home/administrador/pol/pol+0xb5e2dc)

Thread T9 created by T0 here:
    #0 0x7f29609b4bba in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.1+0x23bba)
    #1 0x7f29603ad175 in Pol::threadhelp::create_thread(Pol::threadhelp::ThreadData*, bool) (lib/libclib.so+0xa3175)
    #2 0x933a77 in Pol::Core::start_threads() (/home/administrador/pol/pol+0x933a77)
    #3 0x93588f in Pol::xmain_inner(bool) (/home/administrador/pol/pol+0x93588f)
    #4 0x935fc3 in Pol::xmain_outer(bool) (/home/administrador/pol/pol+0x935fc3)
    #5 0x514a79 in Pol::Clib::PolMain::main() (/home/administrador/pol/pol+0x514a79)
    #6 0x7f2960354945 in Pol::Clib::ProgramMain::start(int, char**) (lib/libclib.so+0x4a945)
    #7 0x514b05 in main (/home/administrador/pol/pol+0x514b05)
    #8 0x7f295e331b44 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b44)

Thread T7 created by T0 here:
    #0 0x7f29609b4bba in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.1+0x23bba)
    #1 0x7f29603ad175 in Pol::threadhelp::create_thread(Pol::threadhelp::ThreadData*, bool) (lib/libclib.so+0xa3175)
    #2 0x933a2f in Pol::Core::start_threads() (/home/administrador/pol/pol+0x933a2f)
    #3 0x93588f in Pol::xmain_inner(bool) (/home/administrador/pol/pol+0x93588f)
    #4 0x935fc3 in Pol::xmain_outer(bool) (/home/administrador/pol/pol+0x935fc3)
    #5 0x514a79 in Pol::Clib::PolMain::main() (/home/administrador/pol/pol+0x514a79)
    #6 0x7f2960354945 in Pol::Clib::ProgramMain::start(int, char**) (lib/libclib.so+0x4a945)
    #7 0x514b05 in main (/home/administrador/pol/pol+0x514b05)
    #8 0x7f295e331b44 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b44)

SUMMARY: AddressSanitizer: heap-use-after-free ??:0 Pol::Clib::message_queue<std::unique_ptr<Pol::Network::TransmitData, std::default_delete<Pol::Network::TransmitData> > >::cancel()
Shadow bytes around the buggy address:
  0x0c187fff97a0: fa fa fa fa fa fa fa fa 00 00 00 00 00 00 00 00
  0x0c187fff97b0: 00 00 00 00 00 00 00 fa fa fa fa fa fa fa fa fa
  0x0c187fff97c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c187fff97d0: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd
  0x0c187fff97e0: fd fd fd fd fd fd fd fa fa fa fa fa fa fa fa fa
=>0x0c187fff97f0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd[fd]fa
  0x0c187fff9800: fa fa fa fa fa fa fa fa 00 00 00 00 00 00 00 00
  0x0c187fff9810: 00 00 00 00 00 00 00 07 fa fa fa fa fa fa fa fa
  0x0c187fff9820: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07
  0x0c187fff9830: fa fa fa fa fa fa fa fa 00 00 00 00 00 00 00 00
  0x0c187fff9840: 00 00 00 00 00 00 00 07 fa fa fa fa fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Heap right redzone:      fb
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack partial redzone:   f4
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Contiguous container OOB:fc
  ASan internal:           fe
==21713==ABORTING

consolepol.20170510_201135_crash.txt

ApplyRawDamage needs changed.

ApplyRawDamage should not be limited to the range 0..255. Some "bosses" might have HP in the tens of thousands on some servers and if there is a special "boss weapon" that can deal damage greater than 255 it fails to do any damage because ApplyRawDamage will not accept a number above 255.

Crash POL 09-05-2017

Script pkg/systems/combat/unequipweapon.ecl running..635..645
syslog [pkg/systems/worldSaver/worldSaver.ecl]: 09.05/14:27 Saving World State
syslog [pkg/systems/worldSaver/worldSaver.ecl]: 09.05/14:27 World state saved (2.8 seconds)
Script pkg/systems/combat/unequipweapon.ecl running..635
sysload=6 (1) cputime=0
scpt: 948512 task: 127(26) scin: 2582686 scsl: 3547512450 MOB: 3489 TLI: 67389
Script pkg/systems/combat/equipweapon.ecl running..662..654
sysload=3 (0) cputime=0
scpt: 957823 task: 133(31) scin: 2522360 scsl: 3579213522 MOB: 3489 TLI: 67388
Signal "SIGSEGV"(11: invalid memory reference) detected.
Segmentation fault detected - faulty memory reference at location: 0x8
Signal code is 1
########################################################################################
POL will exit now. Please, post the following to the forum: http://forums.polserver.com/.
#00 0x000000007b2261a0 in >> Pol::Clib::ExceptionParser::getTrace():[0x50] from ./lib/libclib.so
#1 0x000000007b2274d3 in >> Pol::Clib::ExceptionParser::handleExceptionSignal(int):[0x83] from ./lib/libclib.so
#2 0x000000007ab8e8d0 in :[0xf8d0] from /lib/x86_64-linux-gnu/libpthread.so.0
#3 0x000000007b4de4d9 in >> Pol::Bscript::Executor::paramAsLong(unsigned int):[0x9] from ./lib/libbscript.so
#4 0x00000000005b1b5c in >> Pol::Module::BasicExecutorModule::mf_SplitWords():[0xdc] from ./pol
#5 0x000000007b4ec752 in >> Pol::Bscript::Executor::execFunc(Pol::Bscript::Token const&):[0x62] from ./lib/libbscript.so
#6 0x000000007b4ecafe in >> Pol::Bscript::Executor::ins_func(Pol::Bscript::Instruction const&):[0x3e] from ./lib/libbscript.so
#7 0x000000007b4ec0c0 in >> Pol::Bscript::Executor::execInstr():[0x230] from ./lib/libbscript.so
#8 0x0000000000552476 in >> Pol::Core::ScriptScheduler::run_ready():[0x146] from ./pol
#9 0x00000000006c102f in >> Pol::Core::step_scripts(int*, bool*):[0x2f] from ./pol
#10 0x00000000006784c9 in >> Pol::Core::scripts_thread():[0x79] from ./pol
#11 0x000000007b24f288 in >> Pol::threadhelp::run_thread(void ()()):[0x8] from ./lib/libclib.so
#12 0x000000007b24f468 in >> Pol::threadhelp::thread_stub2(void
):[0x68] from ./lib/libclib.so
#13 0x000000007ab870a4 in :[0x80a4] from /lib/x86_64-linux-gnu/libpthread.so.0
#14 0x000000007943387d in clone:[0x6d] from /lib/x86_64-linux-gnu/libc.so.6
Admin contact:
Executable: ./pol
Start time: [05/07 07:44:51]
Current time: [05/09 14:29:12]

Stack trace:
#00 0x000000007b2261a0 in >> Pol::Clib::ExceptionParser::getTrace():[0x50] from ./lib/libclib.so
#1 0x000000007b2274d3 in >> Pol::Clib::ExceptionParser::handleExceptionSignal(int):[0x83] from ./lib/libclib.so
#2 0x000000007ab8e8d0 in :[0xf8d0] from /lib/x86_64-linux-gnu/libpthread.so.0
#3 0x000000007b4de4d9 in >> Pol::Bscript::Executor::paramAsLong(unsigned int):[0x9] from ./lib/libbscript.so
#4 0x00000000005b1b5c in >> Pol::Module::BasicExecutorModule::mf_SplitWords():[0xdc] from ./pol
#5 0x000000007b4ec752 in >> Pol::Bscript::Executor::execFunc(Pol::Bscript::Token const&):[0x62] from ./lib/libbscript.so
#6 0x000000007b4ecafe in >> Pol::Bscript::Executor::ins_func(Pol::Bscript::Instruction const&):[0x3e] from ./lib/libbscript.so
#7 0x000000007b4ec0c0 in >> Pol::Bscript::Executor::execInstr():[0x230] from ./lib/libbscript.so
#8 0x0000000000552476 in >> Pol::Core::ScriptScheduler::run_ready():[0x146] from ./pol
#9 0x00000000006c102f in >> Pol::Core::step_scripts(int*, bool*):[0x2f] from ./pol
#10 0x00000000006784c9 in >> Pol::Core::scripts_thread():[0x79] from ./pol
#11 0x000000007b24f288 in >> Pol::threadhelp::run_thread(void ()()):[0x8] from ./lib/libclib.so
#12 0x000000007b24f468 in >> Pol::threadhelp::thread_stub2(void
):[0x68] from ./lib/libclib.so
#13 0x000000007ab870a4 in :[0x80a4] from /lib/x86_64-linux-gnu/libpthread.so.0
#14 0x000000007943387d in clone:[0x6d] from /lib/x86_64-linux-gnu/libc.so.6

Compiler: gcc 4.8.5
Compile time: 19:52:42
Build target: LINUX (64bit)
Build revision: POL99.0.0 Break Everything Even Rudder
GNU C library (compile time): 2.19

########################################################################################
Segmentation fault

Crash POL 05-30-2017 (with fsanitize)

=================================================================
==4952==ERROR: AddressSanitizer: heap-use-after-free on address 0x60d0007151c0 at pc 0x784236 bp 0x7f694b79e920 sp 0x7f694b79e918
WRITE of size 4 at 0x60d0007151c0 thread T64901
    #0 0x784235 in ref_ptr<Pol::Core::Party>::add_ref() (/home/administrador/pol/pol+0x784235)
    #1 0x77d4dc in Pol::Module::CreatePartyRefObjImp(Pol::Core::Party*) (/home/administrador/pol/pol+0x77d4dc)
    #2 0xb22857 in Pol::Mobile::Character::get_script_member_id(int) const (/home/administrador/pol/pol+0xb22857)
    #3 0xb132fd in Pol::Module::ECharacterRefObjImp::get_member_id(int) (/home/administrador/pol/pol+0xb132fd)
    #4 0x7f69aff6c8e0 in Pol::Bscript::Executor::ins_get_member_id(Pol::Bscript::Instruction const&) (lib/libbscript.so+0xf58e0)
    #5 0x7f69aff8649c in Pol::Bscript::Executor::execInstr() (lib/libbscript.so+0x10f49c)
    #6 0x7f69aff8753e in Pol::Bscript::Executor::exec() (lib/libbscript.so+0x11053e)
    #7 0xa593bd in Pol::Core::ExportScript::call(unsigned int, Pol::Bscript::BObjectImp*, Pol::Bscript::BObjectImp*) (/home/administrador/pol/pol+0xa593bd)
    #8 0x8e48f2 in Pol::Network::ExportedPacketHookHandler(Pol::Network::Client*, void*) (/home/administrador/pol/pol+0x8e48f2)
    #9 0x8b1a93 in Pol::Core::process_data(Pol::Network::Client*) (/home/administrador/pol/pol+0x8b1a93)
    #10 0x8b6eb6 in Pol::Core::client_io_thread(Pol::Network::Client*, bool) (/home/administrador/pol/pol+0x8b6eb6)
    #11 0x7f69afc2f60a in Pol::Clib::_thread_stub2(void*) (lib/libclib.so+0x8c60a)
    #12 0x7f69afc4a392 in Pol::threadhelp::run_thread(void (*)(void*), void*) (lib/libclib.so+0xa7392)
    #13 0x7f69afc4a638 in Pol::threadhelp::thread_stub2(void*) (lib/libclib.so+0xa7638)
    #14 0x7f69af0f3063 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x8063)
    #15 0x7f69adc9162c in clone (/lib/x86_64-linux-gnu/libc.so.6+0xe862c)

0x60d0007151c0 is located 0 bytes inside of 136-byte region [0x60d0007151c0,0x60d000715248)
freed by thread T5 here:
    #0 0x7f69b027f477 in operator delete(void*) (/usr/lib/x86_64-linux-gnu/libasan.so.1+0x55477)
    #1 0x784273 in Pol::Module::EPartyRefObjImp::~EPartyRefObjImp() (/home/administrador/pol/pol+0x784273)
    #2 0x7f69afecf8c7 in ref_ptr<Pol::Bscript::BObject>::release() (lib/libbscript.so+0x588c7)
    #3 0x7f69aff61f91 in Pol::Bscript::Executor::ins_leave_block(Pol::Bscript::Instruction const&) (lib/libbscript.so+0xeaf91)
    #4 0x7f69aff8649c in Pol::Bscript::Executor::execInstr() (lib/libbscript.so+0x10f49c)
    #5 0x5e9399 in Pol::Core::ScriptScheduler::run_ready() (/home/administrador/pol/pol+0x5e9399)
    #6 0x9cca21 in Pol::Core::step_scripts(int*, bool*) (/home/administrador/pol/pol+0x9cca21)
    #7 0x92cef8 in Pol::Core::scripts_thread() (/home/administrador/pol/pol+0x92cef8)
    #8 0x7f69afc4a48c in Pol::threadhelp::run_thread(void (*)()) (lib/libclib.so+0xa748c)
    #9 0x7f69afc4a64f in Pol::threadhelp::thread_stub2(void*) (lib/libclib.so+0xa764f)
    #10 0x7f69af0f3063 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x8063)

previously allocated by thread T5 here:
    #0 0x7f69b027efff in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.1+0x54fff)
    #1 0x7803b1 in Pol::Module::PartyExecutorModule::mf_CreateParty() (/home/administrador/pol/pol+0x7803b1)
    #2 0x7f69aff89dec in Pol::Bscript::Executor::execFunc(Pol::Bscript::Token const&) (lib/libbscript.so+0x112dec)
    #3 0x7f69aff8a914 in Pol::Bscript::Executor::ins_func(Pol::Bscript::Instruction const&) (lib/libbscript.so+0x113914)
    #4 0x7f69aff8649c in Pol::Bscript::Executor::execInstr() (lib/libbscript.so+0x10f49c)
    #5 0x5e9399 in Pol::Core::ScriptScheduler::run_ready() (/home/administrador/pol/pol+0x5e9399)
    #6 0x9cca21 in Pol::Core::step_scripts(int*, bool*) (/home/administrador/pol/pol+0x9cca21)
    #7 0x92cef8 in Pol::Core::scripts_thread() (/home/administrador/pol/pol+0x92cef8)
    #8 0x7f69afc4a48c in Pol::threadhelp::run_thread(void (*)()) (lib/libclib.so+0xa748c)
    #9 0x7f69afc4a64f in Pol::threadhelp::thread_stub2(void*) (lib/libclib.so+0xa764f)
    #10 0x7f69af0f3063 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x8063)

Thread T64901 created by T2 here:
    #0 0x7f69b024dbba in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.1+0x23bba)
    #1 0x7f69afc46175 in Pol::threadhelp::create_thread(Pol::threadhelp::ThreadData*, bool) (lib/libclib.so+0xa3175)
    #2 0xb0cc43 in Pol::Core::uo_client_listener_thread(void*) (/home/administrador/pol/pol+0xb0cc43)
    #3 0x7f69afc4a392 in Pol::threadhelp::run_thread(void (*)(void*), void*) (lib/libclib.so+0xa7392)
    #4 0x7f69afc4a638 in Pol::threadhelp::thread_stub2(void*) (lib/libclib.so+0xa7638)
    #5 0x7f69af0f3063 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x8063)

Thread T2 created by T0 here:
    #0 0x7f69b024dbba in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.1+0x23bba)
    #1 0x7f69afc46175 in Pol::threadhelp::create_thread(Pol::threadhelp::ThreadData*, bool) (lib/libclib.so+0xa3175)
    #2 0xb09a01 in Pol::Core::start_uo_client_listeners() (/home/administrador/pol/pol+0xb09a01)
    #3 0x934be6 in Pol::xmain_inner(bool) (/home/administrador/pol/pol+0x934be6)
    #4 0x935fc3 in Pol::xmain_outer(bool) (/home/administrador/pol/pol+0x935fc3)
    #5 0x514a79 in Pol::Clib::PolMain::main() (/home/administrador/pol/pol+0x514a79)
    #6 0x7f69afbed945 in Pol::Clib::ProgramMain::start(int, char**) (lib/libclib.so+0x4a945)
    #7 0x514b05 in main (/home/administrador/pol/pol+0x514b05)
    #8 0x7f69adbcab44 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b44)

Thread T5 created by T0 here:
    #0 0x7f69b024dbba in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.1+0x23bba)
    #1 0x7f69afc46175 in Pol::threadhelp::create_thread(Pol::threadhelp::ThreadData*, bool) (lib/libclib.so+0xa3175)
    #2 0x933cca in Pol::Core::start_threads() (/home/administrador/pol/pol+0x933cca)
    #3 0x93588f in Pol::xmain_inner(bool) (/home/administrador/pol/pol+0x93588f)
    #4 0x935fc3 in Pol::xmain_outer(bool) (/home/administrador/pol/pol+0x935fc3)
    #5 0x514a79 in Pol::Clib::PolMain::main() (/home/administrador/pol/pol+0x514a79)
    #6 0x7f69afbed945 in Pol::Clib::ProgramMain::start(int, char**) (lib/libclib.so+0x4a945)
    #7 0x514b05 in main (/home/administrador/pol/pol+0x514b05)
    #8 0x7f69adbcab44 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b44)

SUMMARY: AddressSanitizer: heap-use-after-free ??:0 ref_ptr<Pol::Core::Party>::add_ref()
Shadow bytes around the buggy address:
  0x0c1a800da9e0: 00 00 fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c1a800da9f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c1a800daa00: fa fa fa fa 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c1a800daa10: 00 00 00 00 00 00 fa fa fa fa fa fa fa fa 00 00
  0x0c1a800daa20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
=>0x0c1a800daa30: fa fa fa fa fa fa fa fa[fd]fd fd fd fd fd fd fd
  0x0c1a800daa40: fd fd fd fd fd fd fd fd fd fa fa fa fa fa fa fa
  0x0c1a800daa50: fa fa 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c1a800daa60: 00 00 00 00 fa fa fa fa fa fa fa fa fd fd fd fd
  0x0c1a800daa70: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fa fa
  0x0c1a800daa80: fa fa fa fa fa fa 00 00 00 00 00 00 00 00 00 00
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Heap right redzone:      fb
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack partial redzone:   f4
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Contiguous container OOB:fc
  ASan internal:           fe
==4952==ABORTING

consolepol.20170525_130924_crash.txt

Compilation on linux - ubuntu

Hi,

I cloned master, uncompressed boost and run ./build_linux.sh. During compilation I got:

pol-core/clib/clib_MD5.cpp:119:105: fatal error: MD5.h: No such file or directory

I created dockerfile to reproduce it: dockerfile

Crash POL 05/05/17 (with fsanitize)

=================================================================
==7774==ERROR: AddressSanitizer: heap-use-after-free on address 0x60d000aaf258 at pc 0x91ca0f bp 0x7f9213f435a0 sp 0x7f9213f43598
READ of size 8 at 0x60d000aaf258 thread T4
    #0 0x91ca0e in Pol::Core::Party::on_mana_changed(Pol::Mobile::Character*) const (/home/administrador/pol/pol+0x91ca0e)
    #1 0x8c239f in Pol::Network::send_uo_mana(Pol::Network::Client*, Pol::Mobile::Character*, Pol::Core::Vital const*) (/home/administrador/pol/pol+0x8c239f)
    #2 0x8bf5f1 in Pol::Network::ClientInterface::tell_vital_changed(Pol::Mobile::Character*, Pol::Core::Vital const*) (/home/administrador/pol/pol+0x8bf5f1)
    #3 0xa654da in Pol::Core::regen_stats()::{lambda(Pol::Mobile::Character*)#1}::operator()(Pol::Mobile::Character*) const (/home/administrador/pol/pol+0xa654da)
    #4 0xa66682 in Pol::Core::regen_stats() (/home/administrador/pol/pol+0xa66682)
    #5 0x9b4494 in Pol::Core::check_scheduled_tasks(int*, bool*) (/home/administrador/pol/pol+0x9b4494)
    #6 0x92f01d in Pol::Core::tasks_thread() (/home/administrador/pol/pol+0x92f01d)
    #7 0x7f923205648c in Pol::threadhelp::run_thread(void (*)()) (lib/libclib.so+0xa748c)
    #8 0x7f923205664f in Pol::threadhelp::thread_stub2(void*) (lib/libclib.so+0xa764f)
    #9 0x7f92314ff063 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x8063)
    #10 0x7f923009d62c in clone (/lib/x86_64-linux-gnu/libc.so.6+0xe862c)

0x60d000aaf258 is located 8 bytes inside of 136-byte region [0x60d000aaf250,0x60d000aaf2d8)
freed by thread T5 here:
    #0 0x7f923268b477 in operator delete(void*) (/usr/lib/x86_64-linux-gnu/libasan.so.1+0x55477)
    #1 0x784273 in Pol::Module::EPartyRefObjImp::~EPartyRefObjImp() (/home/administrador/pol/pol+0x784273)
    #2 0x7f92322db8c7 in ref_ptr<Pol::Bscript::BObject>::release() (lib/libbscript.so+0x588c7)
    #3 0x7f923236df91 in Pol::Bscript::Executor::ins_leave_block(Pol::Bscript::Instruction const&) (lib/libbscript.so+0xeaf91)
    #4 0x7f923239249c in Pol::Bscript::Executor::execInstr() (lib/libbscript.so+0x10f49c)
    #5 0x5e9399 in Pol::Core::ScriptScheduler::run_ready() (/home/administrador/pol/pol+0x5e9399)
    #6 0x9cca21 in Pol::Core::step_scripts(int*, bool*) (/home/administrador/pol/pol+0x9cca21)
    #7 0x92cef8 in Pol::Core::scripts_thread() (/home/administrador/pol/pol+0x92cef8)
    #8 0x7f923205648c in Pol::threadhelp::run_thread(void (*)()) (lib/libclib.so+0xa748c)
    #9 0x7f923205664f in Pol::threadhelp::thread_stub2(void*) (lib/libclib.so+0xa764f)
    #10 0x7f92314ff063 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x8063)

previously allocated by thread T5 here:
    #0 0x7f923268afff in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.1+0x54fff)
    #1 0x7803b1 in Pol::Module::PartyExecutorModule::mf_CreateParty() (/home/administrador/pol/pol+0x7803b1)
    #2 0x7f9232395dec in Pol::Bscript::Executor::execFunc(Pol::Bscript::Token const&) (lib/libbscript.so+0x112dec)
    #3 0x7f9232396914 in Pol::Bscript::Executor::ins_func(Pol::Bscript::Instruction const&) (lib/libbscript.so+0x113914)
    #4 0x7f923239249c in Pol::Bscript::Executor::execInstr() (lib/libbscript.so+0x10f49c)
    #5 0x5e9399 in Pol::Core::ScriptScheduler::run_ready() (/home/administrador/pol/pol+0x5e9399)
    #6 0x9cca21 in Pol::Core::step_scripts(int*, bool*) (/home/administrador/pol/pol+0x9cca21)
    #7 0x92cef8 in Pol::Core::scripts_thread() (/home/administrador/pol/pol+0x92cef8)
    #8 0x7f923205648c in Pol::threadhelp::run_thread(void (*)()) (lib/libclib.so+0xa748c)
    #9 0x7f923205664f in Pol::threadhelp::thread_stub2(void*) (lib/libclib.so+0xa764f)
    #10 0x7f92314ff063 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x8063)

Thread T4 created by T0 here:
    #0 0x7f9232659bba in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.1+0x23bba)
    #1 0x7f9232052175 in Pol::threadhelp::create_thread(Pol::threadhelp::ThreadData*, bool) (lib/libclib.so+0xa3175)
    #2 0x933ca6 in Pol::Core::start_threads() (/home/administrador/pol/pol+0x933ca6)
    #3 0x93588f in Pol::xmain_inner(bool) (/home/administrador/pol/pol+0x93588f)
    #4 0x935fc3 in Pol::xmain_outer(bool) (/home/administrador/pol/pol+0x935fc3)
    #5 0x514a79 in Pol::Clib::PolMain::main() (/home/administrador/pol/pol+0x514a79)
    #6 0x7f9231ff9945 in Pol::Clib::ProgramMain::start(int, char**) (lib/libclib.so+0x4a945)
    #7 0x514b05 in main (/home/administrador/pol/pol+0x514b05)
    #8 0x7f922ffd6b44 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b44)

Thread T5 created by T0 here:
    #0 0x7f9232659bba in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.1+0x23bba)
    #1 0x7f9232052175 in Pol::threadhelp::create_thread(Pol::threadhelp::ThreadData*, bool) (lib/libclib.so+0xa3175)
    #2 0x933cca in Pol::Core::start_threads() (/home/administrador/pol/pol+0x933cca)
    #3 0x93588f in Pol::xmain_inner(bool) (/home/administrador/pol/pol+0x93588f)
    #4 0x935fc3 in Pol::xmain_outer(bool) (/home/administrador/pol/pol+0x935fc3)
    #5 0x514a79 in Pol::Clib::PolMain::main() (/home/administrador/pol/pol+0x514a79)
    #6 0x7f9231ff9945 in Pol::Clib::ProgramMain::start(int, char**) (lib/libclib.so+0x4a945)
    #7 0x514b05 in main (/home/administrador/pol/pol+0x514b05)
    #8 0x7f922ffd6b44 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b44)

SUMMARY: AddressSanitizer: heap-use-after-free ??:0 Pol::Core::Party::on_mana_changed(Pol::Mobile::Character*) const
Shadow bytes around the buggy address:
  0x0c1a8014ddf0: fa fa fa fa fa fa fa fa fa fa fa fa 00 00 00 00
  0x0c1a8014de00: 00 00 00 00 00 00 00 00 00 00 00 00 00 fa fa fa
  0x0c1a8014de10: fa fa fa fa fa fa 00 00 00 00 00 00 00 00 00 00
  0x0c1a8014de20: 00 00 00 00 00 00 03 fa fa fa fa fa fa fa fa fa
  0x0c1a8014de30: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
=>0x0c1a8014de40: fa fa fa fa fa fa fa fa fa fa fd[fd]fd fd fd fd
  0x0c1a8014de50: fd fd fd fd fd fd fd fd fd fd fd fa fa fa fa fa
  0x0c1a8014de60: fa fa fa fa 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c1a8014de70: 00 00 00 00 04 fa fa fa fa fa fa fa fa fa fa fa
  0x0c1a8014de80: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c1a8014de90: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Heap right redzone:      fb
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack partial redzone:   f4
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Contiguous container OOB:fc
  ASan internal:           fe
==7774==ABORTING

consolepol.20170505_050440crash.txt

[Feature Request] Make boats compatible with walkonscript

Boats currently do not have a walkonscript, please add it in the future.

Houses are already compatible with walkonscript.
On houses it runs only 1 time when you first step over the multi. If you somehow manage to stay inside then the next steps doesnt run the walkonscript again.

Testing POL with ASAN and USAN

Loading package in pkg/sistemas_novos/mercador_esmeraldas/
/home/administrador/downloads/polserver-master-debug/pol-core/pol/network/packets.h:318:5: runtime error: store to misaligned address 0x60300110e9fd for type 'u16', which requires 2 byte alignment
0x60300110e9fd: note: pointer points here
 00 bf 00 00 00 00 00  00 00 00 00 00 00 00 be  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  00
             ^ 
LSD: Hooking Delete Object...

  data/pcs.txt: 58 elements in 189 ms.
  data/pcequip.txt:/home/administrador/downloads/polserver-master-debug/pol-core/bscript/executor.cpp:1145:20: runtime error: load of misaligned address 0x6170003858ad for type 'const short unsigned int', which requires 2 byte alignment
0x6170003858ad: note: pointer points here
 00 00 00 00 2c 00 ff  bf 26 00 00 3c 00 ff c1  26 00 00 4c 00 ff bd 26  00 00 5b 00 fe 23 61 72  6d
             ^ 
/home/administrador/downloads/polserver-master-debug/pol-core/bscript/executor.cpp:1151:30: runtime error: load of misaligned address 0x6170003858b7 for type 'const int', which requires 4 byte alignment
0x6170003858b7: note: pointer points here
 00 3c 00 ff c1  26 00 00 4c 00 ff bd 26  00 00 5b 00 fe 23 61 72  6d 5f 64 65 6c 61 79 00  56 6f 63
             ^ 
 742 elements in 565 ms.
  data/npcs.txt:. 693 elements in 1342 ms.

Startup -> Iniciando Criando Storages
/home/administrador/downloads/polserver-master-debug/pol-core/pol/network/packets.h:97:39: runtime error: store to misaligned address 0x6120000502cd for type 'u32', which requires 4 byte alignment
0x6120000502cd: note: pointer points here
 00 78 00 00 00 00 00  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  00
             ^ 
/home/administrador/downloads/polserver-master-debug/pol-core/pol/network/packets.h:130:39: runtime error: store to misaligned address 0x6120000502d1 for type 'u16', which requires 2 byte alignment
0x6120000502d1: note: pointer points here
 04 0e 32  e5 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  00 00 00 00 00
              ^ 
/home/administrador/downloads/polserver-master-debug/pol-core/pol/network/packets.h:97:39: runtime error: store to misaligned address 0x6030029b3edb for type 'u32', which requires 4 byte alignment
0x6030029b3edb: note: pointer points here
 00  01 00 2e 00 00 00 00 00  00 00 00 00 00 00 00 00  00 be be be be be be be  00 00 00 00 00 00 00
              ^ 
/home/administrador/downloads/polserver-master-debug/pol-core/pol/network/packets.h:130:39: runtime error: store to misaligned address 0x6030029b3edf for type 'u16', which requires 2 byte alignment
0x6030029b3edf: note: pointer points here
 5e e0 6b 00 00  00 00 00 00 00 00 00 00  00 be be be be be be be  00 00 00 00 00 00 00 00  00 00 00
             ^ 
Cpu: 0% | Uptime: 0:00:01 | Players: 0

Instancias Startup -> load_instances ()
/home/administrador/downloads/polserver-master-debug/pol-core/bscript/executor.cpp:1172:20: runtime error: load of misaligned address 0x61600023d699 for type 'const short unsigned int', which requires 2 byte alignment
0x61600023d699: note: pointer points here
 f4 01 00  00 24 00 ff 01 00 00 00  2d 00 ff 02 00 00 00 37  00 fe 61 6c 76 6f 00 61  74 74 61 63 6b
              ^ 
Startup -> Iniciando Sistema de Champios Dungeons

/home/administrador/downloads/polserver-master-debug/pol-core/bscript/executor.cpp:1200:20: runtime error: load of misaligned address 0x6130000222d3 for type 'const short unsigned int', which requires 2 byte alignment
0x6130000222d3: note: pointer points here
 14  00 00 00 5e 00 ff 56 34  12 00 61 00 fe 78 00 00  00 08 00 00 00 08 00 00  00 00 00 00 00 73 6f
              ^ 
sysload=100 (147) cputime=0
Cpu: 100% | Uptime: 0:01:03 | Players: 0
/home/administrador/downloads/polserver-master-debug/pol-core/pol/module/../network/packets.h:97:39: runtime error: store to misaligned address 0x61100028090d for type 'u32', which requires 4 byte alignment
0x61100028090d: note: pointer points here
 00 1c 00 00 00 00 00  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  00
             ^ 
/home/administrador/downloads/polserver-master-debug/pol-core/pol/module/../network/packets.h:130:39: runtime error: store to misaligned address 0x611000280911 for type 'u16', which requires 2 byte alignment
0x611000280911: note: pointer points here
 04 0e 2f  93 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  00 00 00 00 00
              ^ 
/home/administrador/downloads/polserver-master-debug/pol-core/pol/module/../network/packets.h:130:39: runtime error: store to misaligned address 0x61100028090b for type 'u16', which requires 2 byte alignment
0x61100028090b: note: pointer points here
 00  01 00 1c 00 00 04 0e 2f  93 01 90 00 00 08 00 03  42 65 72 65 6e 67 65 72  2c 20 6f 20 61 6e 75
              ^ 
/home/administrador/downloads/polserver-master-debug/pol-core/pol/network/packets.h:97:39: runtime error: store to misaligned address 0x61500294328d for type 'u32', which requires 4 byte alignment
0x61500294328d: note: pointer points here
 00 ae 00 00 00 00 00  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  00
             ^ 
/home/administrador/downloads/polserver-master-debug/pol-core/pol/module/../network/packets.h:130:39: runtime error: store to misaligned address 0x615002943291 for type 'u16', which requires 2 byte alignment
0x615002943291: note: pointer points here
 04 0e 41  17 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  00 00 00 00 00
              ^ 
/home/administrador/downloads/polserver-master-debug/pol-core/pol/network/packets.h:97:39: runtime error: store to misaligned address 0x6030026e5f4b for type 'u32', which requires 4 byte alignment
0x6030026e5f4b: note: pointer points here
 00  01 00 a1 00 00 00 00 00  00 00 00 be be be be be  be be be be be be be 00  00 07 00 00 07 00 00
              ^ 
/home/administrador/downloads/polserver-master-debug/pol-core/pol/network/packets.h:130:39: runtime error: store to misaligned address 0x6030026e5f4f for type 'u16', which requires 2 byte alignment
0x6030026e5f4f: note: pointer points here
 04 0e 41 17 00  00 00 00 be be be be be  be be be be be be be 00  00 07 00 00 07 00 00 04  18 00 00
             ^ 
/home/administrador/downloads/polserver-master-debug/pol-core/pol/network/packets.h:130:39: runtime error: store to misaligned address 0x6030026e5f51 for type 'u16', which requires 2 byte alignment
0x6030026e5f51: note: pointer points here
 41 17 00  c8 00 00 be be be be be  be be be be be be be 00  00 07 00 00 07 00 00 04  18 00 00 00 23
              ^ 
/home/administrador/downloads/polserver-master-debug/pol-core/pol/network/../network/packets.h:130:39: runtime error: store to misaligned address 0x6030026e5f4f for type 'u16', which requires 2 byte alignment
0x6030026e5f4f: note: pointer points here
 04 0e 41 17 00  c8 00 00 be be be be be  be be be be be be be 00  00 07 00 00 07 00 00 04  18 00 00
             ^ 
/home/administrador/downloads/polserver-master-debug/pol-core/pol/network/packets.h:130:39: runtime error: store to misaligned address 0x6030026e5f51 for type 'u16', which requires 2 byte alignment
0x6030026e5f51: note: pointer points here
 41 17 03  e8 00 00 be be be be be  be be be be be be be 00  00 07 00 00 07 00 00 04  18 00 00 00 23
              ^ 
/home/administrador/downloads/polserver-master-debug/pol-core/pol/network/packets.h:97:39: runtime error: store to misaligned address 0x6030026e9e1b for type 'u32', which requires 4 byte alignment
0x6030026e9e1b: note: pointer points here
 00  01 00 af 00 00 00 00 00  00 00 00 00 00 00 00 be  be be be be be be be 00  00 07 00 00 07 00 00
              ^ 
syslog [scripts/misc/death.ecl]: 

/home/administrador/downloads/polserver-master-debug/pol-core/pol/module/uomod2.cpp:1193:56: runtime error: left shift of negative value -25
/home/administrador/downloads/polserver-master-debug/pol-core/pol/packetscrobj.cpp:193:25: runtime error: load of misaligned address 0x602000160391 for type 'u32', which requires 4 byte alignment
0x602000160391: note: pointer points here
 00 80 67  06 54 08 0c 72 00 00 00  00 00 00 00 00 00 00 00  03 35 00 00 35 00 00 04  0a 00 00 00 52
              ^ 

When I logon with character, POL crashs:

=================================================================
==20060==ERROR: AddressSanitizer: heap-use-after-free on address 0x60300308b990 at pc 0x7f6e2df76ff7 bp 0x7f6e119160b0 sp 0x7f6e11915860
READ of size 2 at 0x60300308b990 thread T7
    #0 0x7f6e2df76ff6 in StrstrCheck ../../../../gcc-8.1.0/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:490
    #1 0x7f6e2df861b7 in __interceptor_strstr ../../../../gcc-8.1.0/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:507
    #2 0x2861ed1 in strstr /usr/include/string.h:337
    #3 0x2861ed1 in Pol::Core::unload_script(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/administrador/downloads/polserver-master-debug/pol-core/pol/scrstore.cpp:132
    #4 0x18e7f6c in Pol::Module::OSExecutorModule::mf_unload_scripts() /home/administrador/downloads/polserver-master-debug/pol-core/pol/module/osmod.cpp:518
    #5 0x3466b82 in Pol::Bscript::Executor::execFunc(Pol::Bscript::Token const&) /home/administrador/downloads/polserver-master-debug/pol-core/bscript/executor.cpp:820
    #6 0x34691d0 in Pol::Bscript::Executor::ins_func(Pol::Bscript::Instruction const&) /home/administrador/downloads/polserver-master-debug/pol-core/bscript/executor.cpp:2252
    #7 0x348abc1 in Pol::Bscript::Executor::execInstr() /home/administrador/downloads/polserver-master-debug/pol-core/bscript/executor.cpp:2867
    #8 0xcb25dd in Pol::Core::ScriptScheduler::run_ready() /home/administrador/downloads/polserver-master-debug/pol-core/pol/globals/script_internals.cpp:157
    #9 0x283ec37 in Pol::Core::step_scripts(int*, bool*) /home/administrador/downloads/polserver-master-debug/pol-core/pol/scrsched.cpp:139
    #10 0x243baae in Pol::Core::scripts_thread() /home/administrador/downloads/polserver-master-debug/pol-core/pol/pol.cpp:592
    #11 0x38b781d in Pol::threadhelp::run_thread(void (*)()) /home/administrador/downloads/polserver-master-debug/pol-core/clib/threadhelp.cpp:118
    #12 0x38b7d8f in Pol::threadhelp::thread_stub2(void*) /home/administrador/downloads/polserver-master-debug/pol-core/clib/threadhelp.cpp:175
    #13 0x7f6e2d432063 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x8063)
    #14 0x7f6e2b66a62c in clone (/lib/x86_64-linux-gnu/libc.so.6+0xe862c)

0x60300308b990 is located 0 bytes inside of 27-byte region [0x60300308b990,0x60300308b9ab)
freed by thread T7 here:
    #0 0x7f6e2dfb9ef0 in operator delete(void*) ../../../../gcc-8.1.0/libsanitizer/asan/asan_new_delete.cc:135
    #1 0x2861d60 in __gnu_cxx::new_allocator<char>::deallocate(char*, unsigned long) /usr/local/gcc-8.1/include/c++/8.1.0/ext/new_allocator.h:125
    #2 0x2861d60 in std::allocator_traits<std::allocator<char> >::deallocate(std::allocator<char>&, char*, unsigned long) /usr/local/gcc-8.1/include/c++/8.1.0/bits/alloc_traits.h:462
    #3 0x2861d60 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_destroy(unsigned long) /usr/local/gcc-8.1/include/c++/8.1.0/bits/basic_string.h:226
    #4 0x2861d60 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_dispose() /usr/local/gcc-8.1/include/c++/8.1.0/bits/basic_string.h:221
    #5 0x2861d60 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() /usr/local/gcc-8.1/include/c++/8.1.0/bits/basic_string.h:647
    #6 0x2861d60 in std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> >::~pair() /usr/local/gcc-8.1/include/c++/8.1.0/bits/stl_pair.h:198
    #7 0x2861d60 in void __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > > >::destroy<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > >(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> >*) /usr/local/gcc-8.1/include/c++/8.1.0/ext/new_allocator.h:140
    #8 0x2861d60 in void std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > > > >::destroy<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > >(std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > > >&, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> >*) /usr/local/gcc-8.1/include/c++/8.1.0/bits/alloc_traits.h:487
    #9 0x2861d60 in std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > >, Pol::Clib::ci_cmp_pred, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > > >::_M_destroy_node(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > >*) /usr/local/gcc-8.1/include/c++/8.1.0/bits/stl_tree.h:661
    #10 0x2861d60 in std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > >, Pol::Clib::ci_cmp_pred, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > > >::_M_drop_node(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > >*) /usr/local/gcc-8.1/include/c++/8.1.0/bits/stl_tree.h:669
    #11 0x2861d60 in std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > >, Pol::Clib::ci_cmp_pred, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > > >::_M_erase_aux(std::_Rb_tree_const_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > >) /usr/local/gcc-8.1/include/c++/8.1.0/bits/stl_tree.h:2493
    #12 0x2861d60 in std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > >, Pol::Clib::ci_cmp_pred, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > > >::erase[abi:cxx11](std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > >) /usr/local/gcc-8.1/include/c++/8.1.0/bits/stl_tree.h:1141
    #13 0x2861d60 in std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ref_ptr<Pol::Bscript::EScriptProgram>, Pol::Clib::ci_cmp_pred, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > > >::erase[abi:cxx11](std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > >) /usr/local/gcc-8.1/include/c++/8.1.0/bits/stl_map.h:1038
    #14 0x2861d60 in Pol::Core::unload_script(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/administrador/downloads/polserver-master-debug/pol-core/pol/scrstore.cpp:127
    #15 0x18e7f6c in Pol::Module::OSExecutorModule::mf_unload_scripts() /home/administrador/downloads/polserver-master-debug/pol-core/pol/module/osmod.cpp:518
    #16 0x3466b82 in Pol::Bscript::Executor::execFunc(Pol::Bscript::Token const&) /home/administrador/downloads/polserver-master-debug/pol-core/bscript/executor.cpp:820
    #17 0x34691d0 in Pol::Bscript::Executor::ins_func(Pol::Bscript::Instruction const&) /home/administrador/downloads/polserver-master-debug/pol-core/bscript/executor.cpp:2252
    #18 0x348abc1 in Pol::Bscript::Executor::execInstr() /home/administrador/downloads/polserver-master-debug/pol-core/bscript/executor.cpp:2867
    #19 0xcb25dd in Pol::Core::ScriptScheduler::run_ready() /home/administrador/downloads/polserver-master-debug/pol-core/pol/globals/script_internals.cpp:157
    #20 0x283ec37 in Pol::Core::step_scripts(int*, bool*) /home/administrador/downloads/polserver-master-debug/pol-core/pol/scrsched.cpp:139
    #21 0x243baae in Pol::Core::scripts_thread() /home/administrador/downloads/polserver-master-debug/pol-core/pol/pol.cpp:592
    #22 0x38b781d in Pol::threadhelp::run_thread(void (*)()) /home/administrador/downloads/polserver-master-debug/pol-core/clib/threadhelp.cpp:118
    #23 0x38b7d8f in Pol::threadhelp::thread_stub2(void*) /home/administrador/downloads/polserver-master-debug/pol-core/clib/threadhelp.cpp:175
    #24 0x7f6e2d432063 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x8063)

previously allocated by thread T53 here:
    #0 0x7f6e2dfb9180 in operator new(unsigned long) ../../../../gcc-8.1.0/libsanitizer/asan/asan_new_delete.cc:90
    #1 0x285fd73 in void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*>(char*, char*, std::forward_iterator_tag) /usr/local/gcc-8.1/include/c++/8.1.0/bits/basic_string.tcc:219
    #2 0x287b96c in void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct_aux<char*>(char*, char*, std::__false_type) /usr/local/gcc-8.1/include/c++/8.1.0/bits/basic_string.h:236
    #3 0x287b96c in void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*>(char*, char*) /usr/local/gcc-8.1/include/c++/8.1.0/bits/basic_string.h:255
    #4 0x287b96c in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/local/gcc-8.1/include/c++/8.1.0/bits/basic_string.h:440
    #5 0x287b96c in std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> >::pair(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> >&&) /usr/local/gcc-8.1/include/c++/8.1.0/bits/stl_pair.h:293
    #6 0x287b96c in void __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > > >::construct<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > >(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> >*, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> >&&) /usr/local/gcc-8.1/include/c++/8.1.0/ext/new_allocator.h:136
    #7 0x287b96c in void std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > > > >::construct<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > >(std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > > >&, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> >*, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> >&&) /usr/local/gcc-8.1/include/c++/8.1.0/bits/alloc_traits.h:475
    #8 0x287b96c in void std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > >, Pol::Clib::ci_cmp_pred, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > > >::_M_construct_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > >(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > >*, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> >&&) /usr/local/gcc-8.1/include/c++/8.1.0/bits/stl_tree.h:637
    #9 0x287b96c in std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > >* std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > >, Pol::Clib::ci_cmp_pred, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > > >::_M_create_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > >(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> >&&) /usr/local/gcc-8.1/include/c++/8.1.0/bits/stl_tree.h:654
    #10 0x287b96c in std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > >* std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > >, Pol::Clib::ci_cmp_pred, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > > >::_Alloc_node::operator()<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > >(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> >&&) const /usr/local/gcc-8.1/include/c++/8.1.0/bits/stl_tree.h:567
    #11 0x287b96c in std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > > std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > >, Pol::Clib::ci_cmp_pred, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > > >::_M_insert_<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> >, std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > >, Pol::Clib::ci_cmp_pred, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > > >::_Alloc_node>(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> >&&, std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > >, Pol::Clib::ci_cmp_pred, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > > >::_Alloc_node&) /usr/local/gcc-8.1/include/c++/8.1.0/bits/stl_tree.h:1769
    #12 0x287b96c in std::pair<std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > >, bool> std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > >, Pol::Clib::ci_cmp_pred, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > > >::_M_insert_unique<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > >(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> >&&) /usr/local/gcc-8.1/include/c++/8.1.0/bits/stl_tree.h:2112
    #13 0x286ad33 in std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, ref_ptr<Pol::Bscript::EScriptProgram>, Pol::Clib::ci_cmp_pred, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> > > >::insert(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, ref_ptr<Pol::Bscript::EScriptProgram> >&&) /usr/local/gcc-8.1/include/c++/8.1.0/bits/stl_map.h:809
    #14 0x286ad33 in Pol::Core::find_script2(Pol::Core::ScriptDef const&, bool, bool) /home/administrador/downloads/polserver-master-debug/pol-core/pol/scrstore.cpp:106
    #15 0x2842a42 in Pol::Core::start_script(Pol::Core::ScriptDef const&, Pol::Bscript::BObjectImp*) /home/administrador/downloads/polserver-master-debug/pol-core/pol/scrsched.cpp:184
    #16 0x1940f0d in Pol::Module::OSExecutorModule::start_script() /home/administrador/downloads/polserver-master-debug/pol-core/pol/module/osmod.cpp:249
    #17 0x3466b82 in Pol::Bscript::Executor::execFunc(Pol::Bscript::Token const&) /home/administrador/downloads/polserver-master-debug/pol-core/bscript/executor.cpp:820
    #18 0x34691d0 in Pol::Bscript::Executor::ins_func(Pol::Bscript::Instruction const&) /home/administrador/downloads/polserver-master-debug/pol-core/bscript/executor.cpp:2252
    #19 0x348abc1 in Pol::Bscript::Executor::execInstr() /home/administrador/downloads/polserver-master-debug/pol-core/bscript/executor.cpp:2867
    #20 0x284c0e4 in Pol::Core::run_executor_to_completion(Pol::Core::UOExecutor&, Pol::Core::ScriptDef const&) /home/administrador/downloads/polserver-master-debug/pol-core/pol/scrsched.cpp:391
    #21 0x285b0d7 in Pol::Core::run_script_to_completion(Pol::Core::ScriptDef const&, Pol::Bscript::BObjectImp*) /home/administrador/downloads/polserver-master-debug/pol-core/pol/scrsched.cpp:437
    #22 0x285b2a2 in Pol::Core::call_script(Pol::Core::ScriptDef const&, Pol::Bscript::BObjectImp*) /home/administrador/downloads/polserver-master-debug/pol-core/pol/scrsched.cpp:550
    #23 0x246f115 in Pol::Core::call_chr_scripts(Pol::Mobile::Character*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) /home/administrador/downloads/polserver-master-debug/pol-core/pol/pol.cpp:334
    #24 0x247174f in Pol::Core::run_logon_script(Pol::Mobile::Character*) /home/administrador/downloads/polserver-master-debug/pol-core/pol/pol.cpp:354
    #25 0x2475793 in Pol::Core::char_select(Pol::Network::Client*, Pol::Core::PKTIN_5D*) /home/administrador/downloads/polserver-master-debug/pol-core/pol/pol.cpp:474
    #26 0x212d96e in Pol::Core::process_data(Pol::Network::Client*) /home/administrador/downloads/polserver-master-debug/pol-core/pol/network/clientthread.cpp:514
    #27 0x2141501 in Pol::Core::client_io_thread(Pol::Network::Client*, bool) /home/administrador/downloads/polserver-master-debug/pol-core/pol/network/clientthread.cpp:222
    #28 0x3825133 in _thread_stub2 /home/administrador/downloads/polserver-master-debug/pol-core/clib/socketsvc.cpp:58
    #29 0x38b79e0 in Pol::threadhelp::run_thread(void (*)(void*), void*) /home/administrador/downloads/polserver-master-debug/pol-core/clib/threadhelp.cpp:134
    #30 0x38b7d75 in Pol::threadhelp::thread_stub2(void*) /home/administrador/downloads/polserver-master-debug/pol-core/clib/threadhelp.cpp:173
    #31 0x7f6e2d432063 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x8063)

Thread T7 created by T0 here:
    #0 0x7f6e2df18770 in __interceptor_pthread_create ../../../../gcc-8.1.0/libsanitizer/asan/asan_interceptors.cc:202
    #1 0x38ae1c8 in Pol::threadhelp::create_thread(Pol::threadhelp::ThreadData*, bool) /home/administrador/downloads/polserver-master-debug/pol-core/clib/threadhelp.cpp:217
    #2 0x38b47cc in Pol::threadhelp::start_thread(void (*)(), char const*) /home/administrador/downloads/polserver-master-debug/pol-core/clib/threadhelp.cpp:256
    #3 0x243ff82 in Pol::Core::start_threads() /home/administrador/downloads/polserver-master-debug/pol-core/pol/pol.cpp:816
    #4 0x246978d in Pol::xmain_inner(bool) /home/administrador/downloads/polserver-master-debug/pol-core/pol/pol.cpp:1357
    #5 0x246d1f3 in Pol::xmain_outer(bool) /home/administrador/downloads/polserver-master-debug/pol-core/pol/pol.cpp:1452
    #6 0x71a07b in Pol::Clib::PolMain::main() /home/administrador/downloads/polserver-master-debug/pol-core/pol/PolMain.cpp:25
    #7 0x36b2bba in Pol::Clib::ProgramMain::start(int, char**) /home/administrador/downloads/polserver-master-debug/pol-core/clib/Program/ProgramMain.cpp:94
    #8 0x71a240 in main /home/administrador/downloads/polserver-master-debug/pol-core/pol/PolMain.cpp:37
    #9 0x7f6e2b5a3b44 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b44)

Thread T53 created by T4 here:
    #0 0x7f6e2df18770 in __interceptor_pthread_create ../../../../gcc-8.1.0/libsanitizer/asan/asan_interceptors.cc:202
    #1 0x38ae1c8 in Pol::threadhelp::create_thread(Pol::threadhelp::ThreadData*, bool) /home/administrador/downloads/polserver-master-debug/pol-core/clib/threadhelp.cpp:217
    #2 0x38b3f6d in Pol::threadhelp::start_thread(void (*)(void*), char const*, void*) /home/administrador/downloads/polserver-master-debug/pol-core/clib/threadhelp.cpp:243
    #3 0x2faec88 in Pol::Core::uo_client_listener_thread(void*) /home/administrador/downloads/polserver-master-debug/pol-core/pol/uolisten.cpp:131
    #4 0x38b79e0 in Pol::threadhelp::run_thread(void (*)(void*), void*) /home/administrador/downloads/polserver-master-debug/pol-core/clib/threadhelp.cpp:134
    #5 0x38b7d75 in Pol::threadhelp::thread_stub2(void*) /home/administrador/downloads/polserver-master-debug/pol-core/clib/threadhelp.cpp:173
    #6 0x7f6e2d432063 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x8063)

Thread T4 created by T0 here:
    #0 0x7f6e2df18770 in __interceptor_pthread_create ../../../../gcc-8.1.0/libsanitizer/asan/asan_interceptors.cc:202
    #1 0x38ae1c8 in Pol::threadhelp::create_thread(Pol::threadhelp::ThreadData*, bool) /home/administrador/downloads/polserver-master-debug/pol-core/clib/threadhelp.cpp:217
    #2 0x38b3f6d in Pol::threadhelp::start_thread(void (*)(void*), char const*, void*) /home/administrador/downloads/polserver-master-debug/pol-core/clib/threadhelp.cpp:243
    #3 0x2fa0132 in Pol::Core::start_uo_client_listeners() /home/administrador/downloads/polserver-master-debug/pol-core/pol/uolisten.cpp:170
    #4 0x2467b0e in Pol::xmain_inner(bool) /home/administrador/downloads/polserver-master-debug/pol-core/pol/pol.cpp:1285
    #5 0x246d1f3 in Pol::xmain_outer(bool) /home/administrador/downloads/polserver-master-debug/pol-core/pol/pol.cpp:1452
    #6 0x71a07b in Pol::Clib::PolMain::main() /home/administrador/downloads/polserver-master-debug/pol-core/pol/PolMain.cpp:25
    #7 0x36b2bba in Pol::Clib::ProgramMain::start(int, char**) /home/administrador/downloads/polserver-master-debug/pol-core/clib/Program/ProgramMain.cpp:94
    #8 0x71a240 in main /home/administrador/downloads/polserver-master-debug/pol-core/pol/PolMain.cpp:37
    #9 0x7f6e2b5a3b44 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b44)

SUMMARY: AddressSanitizer: heap-use-after-free ../../../../gcc-8.1.0/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:490 in StrstrCheck
Shadow bytes around the buggy address:
  0x0c06806096e0: 00 00 fa fa 00 00 00 fa fa fa 00 00 00 fa fa fa
  0x0c06806096f0: 00 00 00 fa fa fa fd fd fd fd fa fa 00 00 00 fa
  0x0c0680609700: fa fa fd fd fd fd fa fa 00 00 00 fa fa fa fd fd
  0x0c0680609710: fd fa fa fa 00 00 00 fa fa fa 00 00 00 00 fa fa
  0x0c0680609720: fd fd fd fa fa fa 00 00 00 00 fa fa fd fd fd fd
=>0x0c0680609730: fa fa[fd]fd fd fd fa fa 00 00 00 fa fa fa 00 00
  0x0c0680609740: 00 00 fa fa fd fd fd fd fa fa 00 00 03 fa fa fa
  0x0c0680609750: 00 00 01 fa fa fa 00 00 01 fa fa fa fd fd fd fa
  0x0c0680609760: fa fa 00 00 00 fa fa fa fd fd fd fd fa fa 00 00
  0x0c0680609770: 01 fa fa fa 00 00 01 fa fa fa 00 00 02 fa fa fa
  0x0c0680609780: 00 00 00 fa fa fa fd fd fd fd fa fa fd fd fd fd
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
==20060==ABORTING

Mobile: TrueName member

Mobiles could utilise a TrueName member similar to TrueColor. This member would allow for changing the name and having the original name stored in something other than a cprop.
This would allow for a package agnostic way to store name changes and allow staff to be able to quickly and easily see if someone is utilising incognitio e.g. it could be coupled with a priv for SeeTrueName so that the core sends that player the true name rather than the current name.

Antlr branch - apparently the 2020 compiler doesn't recognize the keyowrd 'unused'.

Error reported by the compiler:
D:\GitHub\OriginModernDistro\pkg\mobiles\npcs\job\job.src:175:28: error: extraneous input 'unused' expecting IDENTIFIER
D:\GitHub\OriginModernDistro\pkg\mobiles\npcs\job\job.src:175:49: error: extraneous input 'unused' expecting IDENTIFIER
D:\GitHub\OriginModernDistro\pkg\mobiles\npcs\job\job.src: 2 errors, 0 warnings.

The line in question:
function GetJobType (byref unused player, byref unused merchant)
Perhaps it is the placement of 'unused'? I will try before 'byref'.

Move to C++14

It's supported by most recent compilers anyway. Things to change when we do (feel free to edit here):

  • boost::make_unique -> std::make_unique

Add `struct enum` construct to Escript

Currently, enums are really just "grouped constants". We propose a new type, struct enum, which behaves as a read-only struct:

enum struct Days
    Sunday := 1,
    Monday,
    Tuesday,
    Wednesday,
    Thursday,
    Friday,
    Saturday,
endenum
var x = Days; // okay
var y = x.Monday; // okay
y = 0; // okay, you are changing the reference of `y`
x.Monday = 0; // no-op, `x` is a `struct enum`
Days.Monday = 0; // no-op, `Days` is a `struct enum`

Days is a struct and you can Print(Days), and normal member accessors work (with . and [])

Days[3] == Days.Tuesday

Migrate pol 097 to 099

Hi,

we want to migrate our polserver from 097 to latest master (099).

Is there any migration guide what needs to be changed, updated?
Changelog with deprecated / removed stuff?

Thanks

Crash POL [ Assertion Failed: contents_.empty() ] 08/29/2017

Character 0x3428C tried to drop item 0x6B7151FD, but had not gotten an item.
sysload=8 (3) cputime=0
Signal "SIGSEGV"(11: invalid memory reference) detected.
Segmentation fault detected - faulty memory reference at location: 0x7f377ffff000
Signal code is 2
########################################################################################
POL will exit now. Please, post the following to the forum: http://forums.polserver.com/.
#00 0x000000003ab9e506 in >> Pol::Clib::ExceptionParser::getTrace():[0x46] from ./lib/libclib.so
#01 0x000000003ab9f878 in >> Pol::Clib::ExceptionParser::handleExceptionSignal(int):[0x68] from ./lib/libclib.so
#02 0x000000003a10b890 in :[0xf890] from /lib/x86_64-linux-gnu/libpthread.so.0
#03 0x000000000067ea31 in >> Pol::Core::Party::on_stam_changed(Pol::Mobile::Character*) const:[0x121] from ./pol
#04 0x000000000065d9df in >> Pol::Network::send_uo_stamina(Pol::Network::Client*, Pol::Mobile::Character*, Pol::Core::Vital const*):[0x1af] from ./pol
#05 0x000000000065ce0d in >> Pol::Network::ClientInterface::tell_vital_changed(Pol::Mobile::Character*, Pol::Core::Vital const*):[0x3d] from ./pol
#06 ./pol() [0x7030cb]
#07 0x00000000007035df in >> Pol::Core::regen_stats():[0xff] from ./pol
#08 0x00000000006bda47 in >> Pol::Core::check_scheduled_tasks(int*, bool*):[0x127] from ./pol
#09 0x000000000068624a in >> Pol::Core::tasks_thread():[0x9a] from ./pol
#10 0x000000003abc93a8 in >> Pol::threadhelp::run_thread(void (*)()):[0x8] from ./lib/libclib.so
#11 0x000000003abc94c8 in >> Pol::threadhelp::thread_stub2(void*):[0x68] from ./lib/libclib.so
#12 0x000000003a104064 in :[0x8064] from /lib/x86_64-linux-gnu/libpthread.so.0
#13 0x0000000038ca362d in clone:[0x6d] from /lib/x86_64-linux-gnu/libc.so.6
Admin contact: anonymous
Executable: ./pol
Start time: [08/28 01:43:42] 
Current time: [08/29 16:52:00] 

Stack trace:
#00 0x000000003ab9e506 in >> Pol::Clib::ExceptionParser::getTrace():[0x46] from ./lib/libclib.so
#01 0x000000003ab9f878 in >> Pol::Clib::ExceptionParser::handleExceptionSignal(int):[0x68] from ./lib/libclib.so
#02 0x000000003a10b890 in :[0xf890] from /lib/x86_64-linux-gnu/libpthread.so.0
#03 0x000000000067ea31 in >> Pol::Core::Party::on_stam_changed(Pol::Mobile::Character*) const:[0x121] from ./pol
#04 0x000000000065d9df in >> Pol::Network::send_uo_stamina(Pol::Network::Client*, Pol::Mobile::Character*, Pol::Core::Vital const*):[0x1af] from ./pol
#05 0x000000000065ce0d in >> Pol::Network::ClientInterface::tell_vital_changed(Pol::Mobile::Character*, Pol::Core::Vital const*):[0x3d] from ./pol
#06 ./pol() [0x7030cb]
#07 0x00000000007035df in >> Pol::Core::regen_stats():[0xff] from ./pol
#08 0x00000000006bda47 in >> Pol::Core::check_scheduled_tasks(int*, bool*):[0x127] from ./pol
#09 0x000000000068624a in >> Pol::Core::tasks_thread():[0x9a] from ./pol
#10 0x000000003abc93a8 in >> Pol::threadhelp::run_thread(void (*)()):[0x8] from ./lib/libclib.so
#11 0x000000003abc94c8 in >> Pol::threadhelp::thread_stub2(void*):[0x68] from ./lib/libclib.so
#12 0x000000003a104064 in :[0x8064] from /lib/x86_64-linux-gnu/libpthread.so.0
#13 0x0000000038ca362d in clone:[0x6d] from /lib/x86_64-linux-gnu/libc.so.6

Compiler: gcc 4.9.2
Compile time: 12:32:13
Build target: LINUX (64bit)
Build revision: POL99.0.0 Break Everything Even Rudder
GNU C library (compile time): 2.19

########################################################################################
Assertion Failed: contents_.empty(), /home/administrador/polserver-master-16-08-2017/pol-core/pol/containr.cpp, line 71
Forcing stack backtrace.
=== Stack Backtrace ===
#00 0x000000003ab9e506 in >> Pol::Clib::ExceptionParser::getTrace():[0x46] from ./lib/libclib.so
#01 0x000000003abbcb04 in >> Pol::Clib::force_backtrace(bool):[0x24] from ./lib/libclib.so
#02 0x000000003abbcf9d in >> Pol::Clib::passert_failed(char const*, std::string const&, char const*, unsigned int):[0x13d] from ./lib/libclib.so
#03 0x000000003abbd92d in >> Pol::Clib::passert_failed(char const*, char const*, unsigned int):[0x3d] from ./lib/libclib.so
#04 ./pol() [0x52202b]
#05 0x0000000000522039 in >> Pol::Core::UContainer::~UContainer():[0x9] from ./pol
#06 0x0000000000679559 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x29] from ./pol
#07 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#08 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#09 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#10 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#11 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#12 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#13 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#14 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#15 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#16 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#17 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#18 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#19 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#20 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#21 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#22 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#23 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#24 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#25 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#26 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#27 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#28 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#29 0x000000000054ce40 in >> Pol::Core::ObjectStorageManager::~ObjectStorageManager():[0x10] from ./pol
#30 0x0000000038bf2b29 in :[0x37b29] from /lib/x86_64-linux-gnu/libc.so.6
#31 0x0000000038bf2b75 in :[0x37b75] from /lib/x86_64-linux-gnu/libc.so.6
#32 0x000000003ab9fb54 in >> Pol::Clib::ExceptionParser::handleExceptionSignal(int):[0x344] from ./lib/libclib.so
#33 0x000000003a10b890 in :[0xf890] from /lib/x86_64-linux-gnu/libpthread.so.0
#34 0x000000000067ea31 in >> Pol::Core::Party::on_stam_changed(Pol::Mobile::Character*) const:[0x121] from ./pol
#35 0x000000000065d9df in >> Pol::Network::send_uo_stamina(Pol::Network::Client*, Pol::Mobile::Character*, Pol::Core::Vital const*):[0x1af] from ./pol
#36 0x000000000065ce0d in >> Pol::Network::ClientInterface::tell_vital_changed(Pol::Mobile::Character*, Pol::Core::Vital const*):[0x3d] from ./pol
#37 ./pol() [0x7030cb]
#38 0x00000000007035df in >> Pol::Core::regen_stats():[0xff] from ./pol
#39 0x00000000006bda47 in >> Pol::Core::check_scheduled_tasks(int*, bool*):[0x127] from ./pol
#40 0x000000000068624a in >> Pol::Core::tasks_thread():[0x9a] from ./pol
#41 0x000000003abc93a8 in >> Pol::threadhelp::run_thread(void (*)()):[0x8] from ./lib/libclib.so
#42 0x000000003abc94c8 in >> Pol::threadhelp::thread_stub2(void*):[0x68] from ./lib/libclib.so
#43 0x000000003a104064 in :[0x8064] from /lib/x86_64-linux-gnu/libpthread.so.0
#44 0x0000000038ca362d in clone:[0x6d] from /lib/x86_64-linux-gnu/libc.so.6

Shutting down due to assertion failure.
terminate called after throwing an instance of 'std::runtime_error'
  what():  Assertion Failed: contents_.empty(), /home/administrador/polserver-master-16-08-2017/pol-core/pol/containr.cpp, line 71
Signal "SIGABRT"(6: abort signal from abort()) detected.
Signal code is -6
########################################################################################
POL will exit now. Please, post the following to the forum: http://forums.polserver.com/.
#00 0x000000003ab9e506 in >> Pol::Clib::ExceptionParser::getTrace():[0x46] from ./lib/libclib.so
#01 0x000000003ab9f878 in >> Pol::Clib::ExceptionParser::handleExceptionSignal(int):[0x68] from ./lib/libclib.so
#02 0x000000003a10b890 in :[0xf890] from /lib/x86_64-linux-gnu/libpthread.so.0
#03 0x0000000038bf0067 in gsignal:[0x37] from /lib/x86_64-linux-gnu/libc.so.6
#04 0x0000000038bf1448 in abort:[0x148] from /lib/x86_64-linux-gnu/libc.so.6
#05 0x00000000396f3b3d in __gnu_cxx::__verbose_terminate_handler():[0x15d] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#06 0x00000000396f1bb6 in :[0x5ebb6] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#07 0x00000000396f0ca9 in :[0x5dca9] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#08 0x00000000396f140b in __gxx_personality_v0:[0xeb] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#09 0x0000000038f75ff3 in :[0xfff3] from /lib/x86_64-linux-gnu/libgcc_s.so.1
#10 0x0000000038f76517 in _Unwind_Resume:[0x57] from /lib/x86_64-linux-gnu/libgcc_s.so.1
#11 0x000000003abbd954 in :[0x4d954] from ./lib/libclib.so
#12 ./pol() [0x52202b]
#13 0x0000000000522039 in >> Pol::Core::UContainer::~UContainer():[0x9] from ./pol
#14 0x0000000000679559 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x29] from ./pol
#15 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#16 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#17 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#18 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#19 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#20 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#21 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#22 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#23 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#24 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#25 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#26 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#27 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#28 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#29 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#30 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#31 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#32 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#33 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#34 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#35 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#36 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#37 0x000000000054ce40 in >> Pol::Core::ObjectStorageManager::~ObjectStorageManager():[0x10] from ./pol
#38 0x0000000038bf2b29 in :[0x37b29] from /lib/x86_64-linux-gnu/libc.so.6
#39 0x0000000038bf2b75 in :[0x37b75] from /lib/x86_64-linux-gnu/libc.so.6
#40 0x000000003ab9fb54 in >> Pol::Clib::ExceptionParser::handleExceptionSignal(int):[0x344] from ./lib/libclib.so
#41 0x000000003a10b890 in :[0xf890] from /lib/x86_64-linux-gnu/libpthread.so.0
#42 0x000000000067ea31 in >> Pol::Core::Party::on_stam_changed(Pol::Mobile::Character*) const:[0x121] from ./pol
#43 0x000000000065d9df in >> Pol::Network::send_uo_stamina(Pol::Network::Client*, Pol::Mobile::Character*, Pol::Core::Vital const*):[0x1af] from ./pol
#44 0x000000000065ce0d in >> Pol::Network::ClientInterface::tell_vital_changed(Pol::Mobile::Character*, Pol::Core::Vital const*):[0x3d] from ./pol
#45 ./pol() [0x7030cb]
#46 0x00000000007035df in >> Pol::Core::regen_stats():[0xff] from ./pol
#47 0x00000000006bda47 in >> Pol::Core::check_scheduled_tasks(int*, bool*):[0x127] from ./pol
#48 0x000000000068624a in >> Pol::Core::tasks_thread():[0x9a] from ./pol
#49 0x000000003abc93a8 in >> Pol::threadhelp::run_thread(void (*)()):[0x8] from ./lib/libclib.so
#50 0x000000003abc94c8 in >> Pol::threadhelp::thread_stub2(void*):[0x68] from ./lib/libclib.so
#51 0x000000003a104064 in :[0x8064] from /lib/x86_64-linux-gnu/libpthread.so.0
#52 0x0000000038ca362d in clone:[0x6d] from /lib/x86_64-linux-gnu/libc.so.6
Admin contact: anonymous
Executable: ./pol
Start time: [08/28 01:43:42] 
Current time: [08/29 16:52:00] 

Stack trace:
#00 0x000000003ab9e506 in >> Pol::Clib::ExceptionParser::getTrace():[0x46] from ./lib/libclib.so
#01 0x000000003ab9f878 in >> Pol::Clib::ExceptionParser::handleExceptionSignal(int):[0x68] from ./lib/libclib.so
#02 0x000000003a10b890 in :[0xf890] from /lib/x86_64-linux-gnu/libpthread.so.0
#03 0x0000000038bf0067 in gsignal:[0x37] from /lib/x86_64-linux-gnu/libc.so.6
#04 0x0000000038bf1448 in abort:[0x148] from /lib/x86_64-linux-gnu/libc.so.6
#05 0x00000000396f3b3d in __gnu_cxx::__verbose_terminate_handler():[0x15d] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#06 0x00000000396f1bb6 in :[0x5ebb6] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#07 0x00000000396f0ca9 in :[0x5dca9] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#08 0x00000000396f140b in __gxx_personality_v0:[0xeb] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#09 0x0000000038f75ff3 in :[0xfff3] from /lib/x86_64-linux-gnu/libgcc_s.so.1
#10 0x0000000038f76517 in _Unwind_Resume:[0x57] from /lib/x86_64-linux-gnu/libgcc_s.so.1
#11 0x000000003abbd954 in :[0x4d954] from ./lib/libclib.so
#12 ./pol() [0x52202b]
#13 0x0000000000522039 in >> Pol::Core::UContainer::~UContainer():[0x9] from ./pol
#14 0x0000000000679559 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x29] from ./pol
#15 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#16 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#17 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#18 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#19 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#20 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#21 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#22 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#23 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#24 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#25 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#26 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#27 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#28 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#29 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#30 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#31 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#32 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#33 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#34 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#35 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#36 0x000000000067954c in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase(std::_Rb_tree_node<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >*):[0x1c] from ./pol
#37 0x000000000054ce40 in >> Pol::Core::ObjectStorageManager::~ObjectStorageManager():[0x10] from ./pol
#38 0x0000000038bf2b29 in :[0x37b29] from /lib/x86_64-linux-gnu/libc.so.6
#39 0x0000000038bf2b75 in :[0x37b75] from /lib/x86_64-linux-gnu/libc.so.6
#40 0x000000003ab9fb54 in >> Pol::Clib::ExceptionParser::handleExceptionSignal(int):[0x344] from ./lib/libclib.so
#41 0x000000003a10b890 in :[0xf890] from /lib/x86_64-linux-gnu/libpthread.so.0
#42 0x000000000067ea31 in >> Pol::Core::Party::on_stam_changed(Pol::Mobile::Character*) const:[0x121] from ./pol
#43 0x000000000065d9df in >> Pol::Network::send_uo_stamina(Pol::Network::Client*, Pol::Mobile::Character*, Pol::Core::Vital const*):[0x1af] from ./pol
#44 0x000000000065ce0d in >> Pol::Network::ClientInterface::tell_vital_changed(Pol::Mobile::Character*, Pol::Core::Vital const*):[0x3d] from ./pol
#45 ./pol() [0x7030cb]
#46 0x00000000007035df in >> Pol::Core::regen_stats():[0xff] from ./pol
#47 0x00000000006bda47 in >> Pol::Core::check_scheduled_tasks(int*, bool*):[0x127] from ./pol
#48 0x000000000068624a in >> Pol::Core::tasks_thread():[0x9a] from ./pol
#49 0x000000003abc93a8 in >> Pol::threadhelp::run_thread(void (*)()):[0x8] from ./lib/libclib.so
#50 0x000000003abc94c8 in >> Pol::threadhelp::thread_stub2(void*):[0x68] from ./lib/libclib.so
#51 0x000000003a104064 in :[0x8064] from /lib/x86_64-linux-gnu/libpthread.so.0
#52 0x0000000038ca362d in clone:[0x6d] from /lib/x86_64-linux-gnu/libc.so.6

Compiler: gcc 4.9.2
Compile time: 12:32:13
Build target: LINUX (64bit)
Build revision: POL99.0.0 Break Everything Even Rudder
GNU C library (compile time): 2.19

########################################################################################
Signal "SIGABRT"(6: abort signal from abort()) detected.
Signal code is -6
########################################################################################
POL will exit now. Please, post the following to the forum: http://forums.polserver.com/.

Assertion Failed: charactr.cpp

Assertion Failed: gold_carried() >= amount, /polserver-master/pol-core/pol/mobile/charactr.cpp, line 1325
Forcing stack backtrace.
=== Stack Backtrace ===
#00 0x00000000bcdc96c0 in >> Pol::Clib::ExceptionParser::getTraceabi:cxx11:[0x50] from ./pol
#1 0x00000000bcde6c4e in >> Pol::Clib::force_backtrace(bool):[0x2e] from ./pol
#2 0x00000000bcde72b4 in >> Pol::Clib::passert_failed(char const, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, char const, unsigned int):[0x134] from ./pol
#3 0x00000000bcde7b26 in >> Pol::Clib::passert_failed(char const, char const, unsigned int):[0x36] from ./pol
#4 0x00000000bcafd32f in :[0x23432f] from ./pol
#5 0x00000000bcbac497 in >> Pol::Module::oldBuyHandler(Pol::Network::Client, Pol::Core::PKTBI_3B):[0x2a7] from ./pol
#6 0x00000000bcbac7f5 in >> Pol::Module::buyhandler(Pol::Network::Client, Pol::Core::PKTBI_3B):[0x45] from ./pol
#7 0x00000000bcbe5205 in >> Pol::Core::process_data(Pol::Network::Client):[0x6b5] from ./pol
#8 0x00000000bcbe8461 in >> Pol::Core::client_io_thread(Pol::Network::Client, bool):[0xb21] from ./pol
#9 0x00000000bcde883f in :[0x51f83f] from ./pol
#10 0x00000000bcdefd0e in >> Pol::threadhelp::run_thread(void ()(void), void):[0xe] from ./pol
#11 0x00000000bcdeff79 in >> Pol::threadhelp::thread_stub2(void):[0x59] from ./pol
#12 0x0000000056c4c494 in :[0x7494] from /lib/x86_64-linux-gnu/libpthread.so.0
#13 0x0000000055b1aacf in clone:[0x3f] from /lib/x86_64-linux-gnu/libc.so.6

Shutting down due to assertion failure.
Client#1542042: Exception in message handler 0x3B: Assertion Failed: gold_carried() >= amount, /polserver-master/pol-core/pol/mobile/charactr.cpp, line 1325
Client#1542042: Exception in i/o thread: Assertion Failed: gold_carried() >= amount, /polserver-master/pol-core/pol/mobile/charactr.cpp, line 1325! (checkpoint=4)

[Feature Request] Add realm parameter to walkonscript

program walkonscript(character, item, lastx, lasty, lastz, lastr)

Name | Type
character | Character Ref
item | Item Ref
lastx | Character's previous integer world coordinate
lasty | Character's previous integer world coordinate
lastz | Character's previous integer world coordinate
lastr | Character's previous realm

Im trying to send players back to where they came if they step over a specific item.
Now if they teleport from another realm directly to that item. They will get teleported to the wrong place, most likely to 0, 0, 0, britannia or to the same coordinate they came from but the wrong realm.

Orc Galleon Mast collision

The mast pieces of the Orc Galleon is colliding with terrain because it goes beyond the hull.
It makes this galleon less enjoyable to have since it doesn't fit some small harbors and is very annoying to manobrate or to find a good sport to "park".
You are always farway from the shore what makes it hard to leave the ship because of the distance. On my shard the distance to enter and leave the ship is limited to avoid abuse.

All Orc Galleon mast pieces share the same flags.
Flags: Foliage, PartialHue
Only the main Mast (e.g. 0x77CC) have one more flag.
Flags: Impassable, Foliage, PartialHue

I'm not sure but maybe it would be possible to ignore collision for boat pieces that have the flag Foliage only, without impassable or surface.

E.g.:
If boat piece has flags foliage and/or impassable, surface. Add collision.
if boat piece has flag foliage WITHOUT impassable, surface. Don't add collision.
Maybe it is enough to only check for foliage flag and if it has then don't add the consilion. I think all ships items with foliage are not that significant for collision and will not cause new problems.

newanvil

Some ASCII table not working

Hi.

Using POL on Linux, when i try do use some special character, for example "ç" or "á" in bc.src (bc.ecl) textcmd, the pol isn't recognizing and always show as "?" character (63 decimal ASCII table).

See the bc.src file:

use unicode;
program textcmd_bcast( who, text )
BroadcastUC(CAscZ("ç - " + text), "ENU", 0, 55);
Print(CAscZ(text));
endprogram

When i write in-game the command:
.bc aá

the output script in-game is:
ç - a?

the console output POL script:
{ 97, 63 }

So, the character "á" is 225 ASCII code, but the POL only recongnize as "?" (63 ASCII code).
The script is already in ASCII mode with notepad++.
I've tested on Windows and this problem isn't occur.
But on Linux (Debian), this problem occur.

Anyone can help?

Crash POL 05/24/2017 (with fsanitize)

Character 0x4C5B44F tried to drop item 0x6A4A0562, but had not gotten an item.
Character 0x4C5B44F tried to drop item 0x6A4A0525, but had not gotten an item.
Character 0x4C5B44F tried to drop item 0x6A4A0562, but had not gotten an item.
Character 0x4C5B44F tried to drop item 0x6A4A0525, but had not gotten an item.
Character 0x4C5B44F tried to drop item 0x6A4A0562, but had not gotten an item.
Character 0x4C5B44F tried to drop item 0x6A4A0525, but had not gotten an item.
Character 0x4C5B44F tried to drop item 0x6A4A051F, but had not gotten an item.
Character 0x4C5B44F tried to drop item 0x6A4A0562, but had not gotten an item.
Character 0x4C5B44F tried to drop item 0x6A4A0525, but had not gotten an item.
Character 0x4C5B44F tried to drop item 0x6A4A0562, but had not gotten an item.
Character 0x4C5B44F tried to drop item 0x6A4A0525, but had not gotten an item.
Character 0x4C5B44F tried to drop item 0x6A4A0562, but had not gotten an item.
Character 0x4C5B44F tried to drop item 0x6A4A0525, but had not gotten an item.
Assertion Failed: contents_.empty(), /home/administrador/Downloads/f5e76a6-02-05-2017-DEBUG/polserver-master/pol-core/pol/containr.cpp, line 71
Forcing stack backtrace.
=== Stack Backtrace ===
#00 0x0000000010f6548a in backtrace:[0x3a] from /usr/lib/x86_64-linux-gnu/libasan.so.1
#01 0x00000000108f55db in >> Pol::Clib::ExceptionParser::getTrace():[0x11b] from ./lib/libclib.so
#02 0x000000001093c4d6 in >> Pol::Clib::force_backtrace(bool):[0xa6] from ./lib/libclib.so
#03 0x000000001093d1b0 in >> Pol::Clib::passert_failed(char const*, std::string const&, char const*, unsigned int):[0x1d0] from ./lib/libclib.so
#04 0x000000001093def5 in >> Pol::Clib::passert_failed(char const*, char const*, unsigned int):[0x45] from ./lib/libclib.so
#05 0x000000000056bc47 in >> Pol::Core::UContainer::~UContainer():[0xc7] from ./pol
#06 0x000000000056bc81 in >> Pol::Core::UContainer::~UContainer():[0x11] from ./pol
#07 0x000000000090c35f in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase_aux(std::_Rb_tree_const_iterator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >):[0x3f] from ./pol
#08 0x000000000090ba97 in >> Pol::Core::ObjectHash::Reap():[0x247] from ./pol
#09 0x000000000092cbbf in >> Pol::Core::reap_thread():[0x6f] from ./pol
#10 0x000000001095a48d in >> Pol::threadhelp::run_thread(void (*)()):[0xd] from ./lib/libclib.so
#11 0x000000001095a650 in >> Pol::threadhelp::thread_stub2(void*):[0xd0] from ./lib/libclib.so
#12 0x000000000fe03064 in :[0x8064] from /lib/x86_64-linux-gnu/libpthread.so.0
#13 0x000000000e9a162d in clone:[0x6d] from /lib/x86_64-linux-gnu/libc.so.6

Shutting down due to assertion failure.
terminate called after throwing an instance of 'std::runtime_error'
  what():  Assertion Failed: contents_.empty(), /home/administrador/Downloads/f5e76a6-02-05-2017-DEBUG/polserver-master/pol-core/pol/containr.cpp, line 71
Signal "SIGABRT"(6: abort signal from abort()) detected.
Signal code is -6
########################################################################################
POL will exit now. Please, post the following to the forum: http://forums.polserver.com/.
#00 0x0000000010f6548a in backtrace:[0x3a] from /usr/lib/x86_64-linux-gnu/libasan.so.1
#01 0x00000000108f55db in >> Pol::Clib::ExceptionParser::getTrace():[0x11b] from ./lib/libclib.so
#02 0x00000000108f7df7 in >> Pol::Clib::ExceptionParser::handleExceptionSignal(int):[0x147] from ./lib/libclib.so
#03 0x000000000fe0a890 in :[0xf890] from /lib/x86_64-linux-gnu/libpthread.so.0
#04 0x000000000e8ee067 in gsignal:[0x37] from /lib/x86_64-linux-gnu/libc.so.6
#05 0x000000000e8ef448 in abort:[0x148] from /lib/x86_64-linux-gnu/libc.so.6
#06 0x000000000f3f1b3d in __gnu_cxx::__verbose_terminate_handler():[0x15d] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#07 0x000000000f3efbb6 in :[0x5ebb6] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#08 0x000000000f3eeca9 in :[0x5dca9] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#09 0x000000000f3ef40b in __gxx_personality_v0:[0xeb] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#10 0x000000000ec73ff3 in :[0xfff3] from /lib/x86_64-linux-gnu/libgcc_s.so.1
#11 0x000000000ec74517 in _Unwind_Resume:[0x57] from /lib/x86_64-linux-gnu/libgcc_s.so.1
#12 0x000000001093df1a in :[0x8af1a] from ./lib/libclib.so
#13 0x000000000056bc47 in >> Pol::Core::UContainer::~UContainer():[0xc7] from ./pol
#14 0x000000000056bc81 in >> Pol::Core::UContainer::~UContainer():[0x11] from ./pol
#15 0x000000000090c35f in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase_aux(std::_Rb_tree_const_iterator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >):[0x3f] from ./pol
#16 0x000000000090ba97 in >> Pol::Core::ObjectHash::Reap():[0x247] from ./pol
#17 0x000000000092cbbf in >> Pol::Core::reap_thread():[0x6f] from ./pol
#18 0x000000001095a48d in >> Pol::threadhelp::run_thread(void (*)()):[0xd] from ./lib/libclib.so
#19 0x000000001095a650 in >> Pol::threadhelp::thread_stub2(void*):[0xd0] from ./lib/libclib.so
#20 0x000000000fe03064 in :[0x8064] from /lib/x86_64-linux-gnu/libpthread.so.0
#21 0x000000000e9a162d in clone:[0x6d] from /lib/x86_64-linux-gnu/libc.so.6
Admin contact: anonymous
Executable: ./pol
Start time: [05/19 01:42:36] 
Current time: [05/24 20:39:19] 

Stack trace:
#00 0x0000000010f6548a in backtrace:[0x3a] from /usr/lib/x86_64-linux-gnu/libasan.so.1
#01 0x00000000108f55db in >> Pol::Clib::ExceptionParser::getTrace():[0x11b] from ./lib/libclib.so
#02 0x00000000108f7df7 in >> Pol::Clib::ExceptionParser::handleExceptionSignal(int):[0x147] from ./lib/libclib.so
#03 0x000000000fe0a890 in :[0xf890] from /lib/x86_64-linux-gnu/libpthread.so.0
#04 0x000000000e8ee067 in gsignal:[0x37] from /lib/x86_64-linux-gnu/libc.so.6
#05 0x000000000e8ef448 in abort:[0x148] from /lib/x86_64-linux-gnu/libc.so.6
#06 0x000000000f3f1b3d in __gnu_cxx::__verbose_terminate_handler():[0x15d] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#07 0x000000000f3efbb6 in :[0x5ebb6] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#08 0x000000000f3eeca9 in :[0x5dca9] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#09 0x000000000f3ef40b in __gxx_personality_v0:[0xeb] from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#10 0x000000000ec73ff3 in :[0xfff3] from /lib/x86_64-linux-gnu/libgcc_s.so.1
#11 0x000000000ec74517 in _Unwind_Resume:[0x57] from /lib/x86_64-linux-gnu/libgcc_s.so.1
#12 0x000000001093df1a in :[0x8af1a] from ./lib/libclib.so
#13 0x000000000056bc47 in >> Pol::Core::UContainer::~UContainer():[0xc7] from ./pol
#14 0x000000000056bc81 in >> Pol::Core::UContainer::~UContainer():[0x11] from ./pol
#15 0x000000000090c35f in std::_Rb_tree<unsigned int, std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> >, std::_Select1st<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > > >::_M_erase_aux(std::_Rb_tree_const_iterator<std::pair<unsigned int const, ref_ptr<Pol::Core::UObject> > >):[0x3f] from ./pol
#16 0x000000000090ba97 in >> Pol::Core::ObjectHash::Reap():[0x247] from ./pol
#17 0x000000000092cbbf in >> Pol::Core::reap_thread():[0x6f] from ./pol
#18 0x000000001095a48d in >> Pol::threadhelp::run_thread(void (*)()):[0xd] from ./lib/libclib.so
#19 0x000000001095a650 in >> Pol::threadhelp::thread_stub2(void*):[0xd0] from ./lib/libclib.so
#20 0x000000000fe03064 in :[0x8064] from /lib/x86_64-linux-gnu/libpthread.so.0
#21 0x000000000e9a162d in clone:[0x6d] from /lib/x86_64-linux-gnu/libc.so.6

Compiler: gcc 4.9.2
Compile time: 19:04:46
Build target: LINUX (64bit)
Build revision: POL99.0.0 Break Everything Even Rudder
GNU C library (compile time): 2.19

########################################################################################
=================================================================
==32604==ERROR: AddressSanitizer: heap-use-after-free on address 0x60405e1bb5a8 at pc 0x5fe179 bp 0x7f6ef327c9b0 sp 0x7f6ef327c9a8
READ of size 8 at 0x60405e1bb5a8 thread T3
    #0 0x5fe178 in std::_Rb_tree<std::string, std::pair<std::string const, std::string>, std::_Select1st<std::pair<std::string const, std::string> >, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > >::_M_erase(std::_Rb_tree_node<std::pair<std::string const, std::string> >*) (/home/administrador/pol/pol+0x5fe178)
    #1 0x9663bf in Pol::Core::http_thread() (/home/administrador/pol/pol+0x9663bf)
    #2 0x7f6f1095a48c in Pol::threadhelp::run_thread(void (*)()) (lib/libclib.so+0xa748c)
    #3 0x7f6f1095a64f in Pol::threadhelp::thread_stub2(void*) (lib/libclib.so+0xa764f)
    #4 0x7f6f0fe03063 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x8063)
    #5 0x7f6f0e9a162c in clone (/lib/x86_64-linux-gnu/libc.so.6+0xe862c)

Waiting for 94 child threads to exit
0x60405e1bb5a8 is located 24 bytes inside of 48-byte region [0x60405e1bb590,0x60405e1bb5c0)
freed by thread T7 here:
    #0 0x7f6f10f8f477 in operator delete(void*) (/usr/lib/x86_64-linux-gnu/libasan.so.1+0x55477)
    #1 0x5fe0e5 in std::_Rb_tree<std::string, std::pair<std::string const, std::string>, std::_Select1st<std::pair<std::string const, std::string> >, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > >::_M_erase(std::_Rb_tree_node<std::pair<std::string const, std::string> >*) (/home/administrador/pol/pol+0x5fe0e5)
    #2 0x5f5cf2 in Pol::Core::GameState::~GameState() (/home/administrador/pol/pol+0x5f5cf2)
    #3 0x7f6f0e8f0b28 (/lib/x86_64-linux-gnu/libc.so.6+0x37b28)

previously allocated by thread T3 here:
    #0 0x7f6f10f8efff in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.1+0x54fff)
    #1 0x970dc3 in std::_Rb_tree_iterator<std::pair<std::string const, std::string> > std::_Rb_tree<std::string, std::pair<std::string const, std::string>, std::_Select1st<std::pair<std::string const, std::string> >, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<std::string const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<std::string const, std::string> >, std::piecewise_construct_t const&, std::tuple<std::string const&>&&, std::tuple<>&&) (/home/administrador/pol/pol+0x970dc3)
    #2 0x9640f8 in Pol::Core::load_mime_config() (/home/administrador/pol/pol+0x9640f8)
    #3 0x9652f4 in Pol::Core::config_web_server() (/home/administrador/pol/pol+0x9652f4)
    #4 0x965561 in Pol::Core::http_thread() (/home/administrador/pol/pol+0x965561)
    #5 0x7f6f1095a48c in Pol::threadhelp::run_thread(void (*)()) (lib/libclib.so+0xa748c)
    #6 0x7f6f1095a64f in Pol::threadhelp::thread_stub2(void*) (lib/libclib.so+0xa764f)
    #7 0x7f6f0fe03063 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x8063)

Thread T3 created by T0 here:
    #0 0x7f6f10f5dbba in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.1+0x23bba)
    #1 0x7f6f10956175 in Pol::threadhelp::create_thread(Pol::threadhelp::ThreadData*, bool) (lib/libclib.so+0xa3175)
    #2 0x933c7c in Pol::Core::start_threads() (/home/administrador/pol/pol+0x933c7c)
    #3 0x93588f in Pol::xmain_inner(bool) (/home/administrador/pol/pol+0x93588f)
    #4 0x935fc3 in Pol::xmain_outer(bool) (/home/administrador/pol/pol+0x935fc3)
    #5 0x514a79 in Pol::Clib::PolMain::main() (/home/administrador/pol/pol+0x514a79)
    #6 0x7f6f108fd945 in Pol::Clib::ProgramMain::start(int, char**) (lib/libclib.so+0x4a945)
    #7 0x514b05 in main (/home/administrador/pol/pol+0x514b05)
    #8 0x7f6f0e8dab44 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b44)

Thread T7 created by T0 here:
    #0 0x7f6f10f5dbba in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.1+0x23bba)
    #1 0x7f6f10956175 in Pol::threadhelp::create_thread(Pol::threadhelp::ThreadData*, bool) (lib/libclib.so+0xa3175)
    #2 0x933a2f in Pol::Core::start_threads() (/home/administrador/pol/pol+0x933a2f)
    #3 0x93588f in Pol::xmain_inner(bool) (/home/administrador/pol/pol+0x93588f)
    #4 0x935fc3 in Pol::xmain_outer(bool) (/home/administrador/pol/pol+0x935fc3)
    #5 0x514a79 in Pol::Clib::PolMain::main() (/home/administrador/pol/pol+0x514a79)
    #6 0x7f6f108fd945 in Pol::Clib::ProgramMain::start(int, char**) (lib/libclib.so+0x4a945)
    #7 0x514b05 in main (/home/administrador/pol/pol+0x514b05)
    #8 0x7f6f0e8dab44 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b44)

SUMMARY: AddressSanitizer: heap-use-after-free ??:0 std::_Rb_tree<std::string, std::pair<std::string const, std::string>, std::_Select1st<std::pair<std::string const, std::string> >, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > >::_M_erase(std::_Rb_tree_node<std::pair<std::string const, std::string> >*)
Shadow bytes around the buggy address:
  0x0c088bc2f660: fa fa fd fd fd fd fd fd fa fa 00 00 00 00 00 fa
  0x0c088bc2f670: fa fa fa fa fa fa fa fa fa fa fd fd fd fd fd fa
  0x0c088bc2f680: fa fa 00 00 00 00 00 00 fa fa fa fa fa fa fa fa
  0x0c088bc2f690: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c088bc2f6a0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
=>0x0c088bc2f6b0: fa fa fd fd fd[fd]fd fd fa fa 00 00 00 00 00 00
  0x0c088bc2f6c0: fa fa fa fa fa fa fa fa fa fa fd fd fd fd fd fa
  0x0c088bc2f6d0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c088bc2f6e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c088bc2f6f0: fa fa 00 00 00 00 01 fa fa fa fa fa fa fa fa fa
  0x0c088bc2f700: fa fa fd fd fd fd fd fd fa fa fa fa fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Heap right redzone:      fb
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack partial redzone:   f4
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Contiguous container OOB:fc
  ASan internal:           fe
==32604==ABORTING

consolepol.20170519_014236_crash.txt

Wearable Items & corpses

NPC with a human graphic has wearable items in his backpack (but not equipped!).
When NPC dies these items are equipped on his corpse.

Did not tested it with Player Characters atm, will do it later.

Dangling party pointer on Character. Race condition? (was: Crash POL 09/22 19:20:19)

sysload=6 (0) cputime=0
Signal "SIGSEGV"(11: invalid memory reference) detected.
Segmentation fault detected - faulty memory reference at location: 0x7f545406d000
Signal code is 2
###### 

POL will exit now. Please, post the following to the forum: http://forums.polserver.com/.
#00 0x00000000949d4756 in >> Pol::Clib::ExceptionParser::getTrace():[0x46] from ./lib/libclib.so
#01 0x00000000949d5c88 in >> Pol::Clib::ExceptionParser::handleExceptionSignal(int):[0x68] from ./lib/libclib.so
#02 0x0000000093f418d0 in :[0xf8d0] from /lib/x86_64-linux-gnu/libpthread.so.0
#03 0x000000000064ec39 in >> Pol::Core::Party::on_stam_changed(Pol::Mobile::Character*) const:[0x139] from ./pol
#04 0x000000000062dd08 in >> Pol::Network::send_uo_stamina(Pol::Network::Client_, Pol::Mobile::Character_, Pol::Core::Vital const*):[0x1c8] from ./pol
#05 0x000000000062d0fd in >> Pol::Network::ClientInterface::tell_vital_changed(Pol::Mobile::Character_, Pol::Core::Vital const_):[0x3d] from ./pol
#06 0x000000000057179c in >> Pol::Mobile::Character::consume(Pol::Core::Vital const*, Pol::Mobile::VitalValue&, unsigned int):[0x3c] from ./pol
#07 0x0000000000579489 in >> Pol::Mobile::Character::move(unsigned char):[0x249] from ./pol
#08 0x00000000005fe200 in >> Pol::Core::handle_walk(Pol::Network::Client_, Pol::Core::PKTIN_02_):[0x40] from ./pol
#09 0x0000000000625a02 in >> Pol::Core::process_data(Pol::Network::Client*):[0x7f2] from ./pol
#10 0x00000000006293ae in >> Pol::Core::client_io_thread(Pol::Network::Client*, bool):[0xf8e] from ./pol
#11 0x00000000949f578f in :[0x4f78f] from ./lib/libclib.so
#12 0x0000000094a0071e in >> Pol::threadhelp::run_thread(void (_)(void_), void*):[0xe] from ./lib/libclib.so
#13 0x0000000094a008e8 in >> Pol::threadhelp::thread_stub2(void*):[0x58] from ./lib/libclib.so
#14 0x0000000093f3a0a4 in :[0x80a4] from /lib/x86_64-linux-gnu/libpthread.so.0
#15 0x0000000092ada87d in clone:[0x6d] from /lib/x86_64-linux-gnu/libc.so.6

Admin contact: anonymous
Executable: ./pol
Start time: [09/02 10:46:07] 
Current time: [09/22 19:20:19] 

Stack trace:
#00 0x00000000949d4756 in >> Pol::Clib::ExceptionParser::getTrace():[0x46] from ./lib/libclib.so
#01 0x00000000949d5c88 in >> Pol::Clib::ExceptionParser::handleExceptionSignal(int):[0x68] from ./lib/libclib.so
#02 0x0000000093f418d0 in :[0xf8d0] from /lib/x86_64-linux-gnu/libpthread.so.0
#03 0x000000000064ec39 in >> Pol::Core::Party::on_stam_changed(Pol::Mobile::Character*) const:[0x139] from ./pol
#04 0x000000000062dd08 in >> Pol::Network::send_uo_stamina(Pol::Network::Client_, Pol::Mobile::Character_, Pol::Core::Vital const*):[0x1c8] from ./pol
#05 0x000000000062d0fd in >> Pol::Network::ClientInterface::tell_vital_changed(Pol::Mobile::Character_, Pol::Core::Vital const_):[0x3d] from ./pol
#06 0x000000000057179c in >> Pol::Mobile::Character::consume(Pol::Core::Vital const*, Pol::Mobile::VitalValue&, unsigned int):[0x3c] from ./pol
#07 0x0000000000579489 in >> Pol::Mobile::Character::move(unsigned char):[0x249] from ./pol
#08 0x00000000005fe200 in >> Pol::Core::handle_walk(Pol::Network::Client_, Pol::Core::PKTIN_02_):[0x40] from ./pol
#09 0x0000000000625a02 in >> Pol::Core::process_data(Pol::Network::Client*):[0x7f2] from ./pol
#10 0x00000000006293ae in >> Pol::Core::client_io_thread(Pol::Network::Client*, bool):[0xf8e] from ./pol
#11 0x00000000949f578f in :[0x4f78f] from ./lib/libclib.so
#12 0x0000000094a0071e in >> Pol::threadhelp::run_thread(void (_)(void_), void*):[0xe] from ./lib/libclib.so
#13 0x0000000094a008e8 in >> Pol::threadhelp::thread_stub2(void*):[0x58] from ./lib/libclib.so
#14 0x0000000093f3a0a4 in :[0x80a4] from /lib/x86_64-linux-gnu/libpthread.so.0
#15 0x0000000092ada87d in clone:[0x6d] from /lib/x86_64-linux-gnu/libc.so.6

Compiler: gcc 4.9.2
Compile time: 16:42:54
Build target: LINUX (64bit)
Build revision: POL99.0.0 Break Everything Even Rudder
GNU C library (compile time): 2.19
###### 

Malaligned if statement based on polcore docs.

sd.quickconfig( "scripts/misc/dblclickself.ecl" );

according to the docs the dblclickself script should run before this line so that its up to the developer if they want to enable sending the paperdoll rather than the core deciding for them. Based on the docs if you have a print in the dblclickself.src to simply print "test" then it applies when the player is mounted but not when the player is unmounted. Thus making common dblclickself that start with
var mount := GetEquipmentByLayer( me, 25 ); if (!mount) OpenPaperdoll( me, me ); return; endif
Redundant.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.