Page MenuHomeFeedback Tracker

Random server crashes - C000005 ACCESS_VIOLATION
Closed, ResolvedPublic

Description

Hello,

We are running an Altis Life Server and since we updated to the new version (using extDB rather than Arma2Net Database Framework) we've been having rather random Server crashes about memory access violation.

The crashes vary from someone joining the server to just playing the game without doing anything. I haven't found a way to reproduce the error, it seems really random. The server always crashes on this error.

The database system extDB is working fine and not throwing any errors. Before crashes, people can still see there vehicles in the garage, etc. Can this be due to faulty Mission file code or is it a faulty installation of the Arma 3 Server?

I uploaded the server RPT log files, the crash dump and the BIDMP files in the ZIP archive. Tell me if I should upload different crash records. (I edited out the Database queries and results)

Thank you for your time and help.

Details

Legacy ID
1443099289
Severity
None
Resolution
Fixed
Reproducibility
Random
Category
Server

Event Timeline

omacha edited Steps To Reproduce. (Show Details)Jul 22 2014, 3:01 PM
omacha edited Additional Information. (Show Details)
omacha set Category to Server.
omacha set Reproducibility to Random.
omacha set Severity to None.
omacha set Resolution to Fixed.
omacha set Legacy ID to 1443099289.May 7 2016, 7:04 PM
Bohemia added a subscriber: Bohemia.May 7 2016, 7:04 PM

Can't see the rpt logs

But this can be caused by extDB when you use large data fields.

For example using largetext fields
Largetext in MySQL can use upto 4GB of memory to store value.

extDB uses Poco Library for database access.
This will pre-allocate memory as it doesn't know the size of query answer until it receives information.
Pre-allocating 4gb memory for a single query, combine that with intel tbb malloc.
Will result in what seems like random crashes due to lack of memory.

Hello,
are you servers crashing without any mods activated? Also, server's clients experiencing crashes as well?

I am also getting this error now. Our server has crashed 4 times in a row now.

omacha added a subscriber: omacha.May 7 2016, 7:04 PM

Hello Torndeco,
thank you for your help and quick reply.

Our server is using largetext fields for storing data, but the text field never contains over about 5KiB of data (until now at least, I checked), so we should never be over 10KiB for the whole query. I will look into this with the server host. Why would my server be set up to use largetext fields if they are messy with the database system? I have looked up Tonic's database initialization commands and he's using 'text' fields. So the problem shouldn't be happening with those?

PS: I'm posting the error message for everyone to see:
Exception code: C0000005 ACCESS_VIOLATION at 6EDB8693
graphics: No
resolution: 160x120x32
Addons:

A3_Structures_F_Items_Tools in a3\structures_f\items\tools\
a3_weapons_f_rifles_SMG_02 in a3\weapons_f\smgs\smg_02\
A3_Modules_F_Marta in a3\modules_f\marta\
[...long list...]
A3_Armor_F_T100K in a3\armor_f_gamma\mbt_02\, A3_Sounds_F in a3\sounds_f\
A3_Structures_F_Ind_AirPort in a3\structures_f\ind\airport\
A3_BaseConfig_F in a3\baseconfig_f\

Mods: @life_server
Distribution: 0
Version 1.24.125979
Fault time: 2014/07/22 01:03:46
Fault address: 6EDB8693 01:00017693 C:\SERVICES\ni410255_1\arma3\tbbmalloc.dll
file: Altis_Life
world: Altis
Prev. code bytes: D0 EB 02 89 0A 8B 41 4C 85 C0 0F 84 98 06 00 00
Fault code bytes: 8B 30 89 71 4C 66 FF 41 5C 85 C0 0F 85 B0 FC FF

Registers:
EAX:6E697669 EBX:444AAB00
ECX:512F8000 EDX:444AAB08
ESI:6EDCABE0 EDI:4449B6A4
CS:EIP:0023:6EDB8693
SS:ESP:002B:4A99EF44 EBP:00000008
DS:002B ES:002B FS:0053 GS:002B

Flags:00010206

note: Minidump has been generated into the file config\arma3server_2014-07-22_00-06-59.mdmp

Hello Iceman,

The only mod server-side is @life_server version 3.1.3.5 extDB from Tonic. There are no client-side mods running. Clients don't experience crashes, they only experience by seeing the yellow closed chain, turning red after a while. So the server is clearly server-side.

Everything works as expected up until the server crashes. So Torndeco's issues description sounds very believable. I will look into this and give you feedback.

The problem is the C++ library i am using for database access is Poco Library.
It allocated the max size of memory for the datatype before it receives the info from the database.

It doesn't matter if you only have 1 char in the field.

Basicly memory fragmentation or extDB running multiple querys running at same time will cause extDB to run out memory & cause the server to crash.
Thats why it appears to happen @ random...

-------------------


LongText is overkill anyway.

Info for MYSQL
Change over to Text or Medium Text, should solve your crashes

TINYTEXT 256 bytes
TEXT 65,535 bytes ~64kb
MEDIUMTEXT 16,777,215 bytes ~16MB
LONGTEXT 4,294,967,295 bytes ~4GB

TEXT A string with a maximum length of 65,535 characters.
MEDIUMTEXT A string with a maximum length of 16,777,215 characters.
LONGTEXT A string with a maximum length of 4,294,967,295.

-------------------


Your server host might be using old version of Atlis Life Housing Table (it contained longtext fields).
Maybe they missed Tonic changing the fields from LongText->Text
This was causing alot of crashing intial till i found out the reason.

I think i need to write this issue in BOLD TEXT @ top of my github page ;)

Great! I guess this issue is solved then. Haven't had any crash up until now.

I guess you should write it, yeah, or just make a copiable text to write everytime someone posts about this issue... Your choice!

Thanks a lot for your help, much appreciated! :)

Hello everyone,

I can now fully disclose this issue. Since I have put all database fields to
"text" or "mediumtext" rather than "longtext" and the server has not crashed
since.

Thanks for your help,
omacha

Mass-closing all resolved issues not updated in the last month.

Please PM me in BI Forums (http://forums.bistudio.com/member.php?55374-Fireball) if you feel your bug was closed in error.