What happened?
On the experimental feature/redm-physical-player-extension artifact (version 35798),
the Object pool exhausts after being raised, and the resulting crash does not name
which pool ran out.
Our server.cfg raises it:
increase_pool_size "Object" 2000
The crash we get:
Recursive-recursive error: <<unknown pool>> Pool Full, Size == 2500
2500 is consistent with a 500 base plus our +2000, so the increase is being applied
and the pool is still being exhausted.
Two distinct problems:
1. The pool is undersized for what this branch is for. This branch exists so RedM
servers can run 128+ players. We hit the wall at 56 concurrent (highest server id
observed), under half the target, with Object already raised 5x over base.
2. <<unknown pool>> makes it unactionable. The engine ran out of a pool and
could not report which one. We have 31 increase_pool_size lines and no way to tell
which to raise. For us this is the more important of the two — if the pool name were
printed, server owners could fix their own configs instead of guessing.
We also see 4x Failed to create 'CObjectPhysicsComponent' component during creating entity., which looks like the same allocation failure caught at a different site.
Scale: 55 of 103 disconnects in our logs are client crashes (53%).
Separately, and possibly worth its own documentation issue: Ped and
AnimatedBuilding are absent from the allowlist at
https://gss.cfx-services.net/v1/public/pool-size-limits/redm and cannot be raised at
all. Our ped pool caps at 356, and a dump taken with zero players connected already
showed 104 slots used by ambient population and MLO peds. If that ceiling is
intentional, having it documented would save every RedM server owner the same
investigation.
Expected result
Pool Full should name the exhausted pool, and the Object pool should sustain the player counts this branch targets.
Reproduction steps
- Run a RedM server on artifact 35798/specific/feature/redm-physical-player-extension with
onesync_physicalPlayerExtension true, onesync_population true and sv_maxclients 200.
- Raise the Object pool in server.cfg:
increase_pool_size "Object" 2000.
- Load a content-heavy server (ours: ~250 resources, ~1,387 .ydr, ~4.2 GB .ytd) and bring concurrency above ~50 players in populated areas such as Saint Denis and Blackwater.
- Clients crash with
Recursive-recursive error: <<unknown pool>> Pool Full, Size == 2500 and Failed to create 'CObjectPhysicsComponent' component during creating entity.
Importancy
Crash
Area(s)
RedM
Specific version(s)
RedM client 35798 (specific/feature/redm-physical-player-extension), game build b1491, Server linux
Additional information
Full pool configuration from our server.cfg, in case something here is fighting the
physical player extension:
increase_pool_size "CMoveObject" 100
increase_pool_size "FragmentStore" 4000
increase_pool_size "DrawableStore" 50000
increase_pool_size "CLightEntity" 2000
increase_pool_size "OcclusionInteriorInfo" 10
increase_pool_size "OcclusionPathNode" 1500
increase_pool_size "OcclusionPortalEntity" 140
increase_pool_size "OcclusionPortalInfo" 140
increase_pool_size "PortalInst" 150
increase_pool_size "ScaleformStore" 100
increase_pool_size "StaticBounds" 6500
increase_pool_size "TxdStore" 26000
increase_pool_size "InteriorProxy" 450
increase_pool_size "netGameEvent" 400
increase_pool_size "Object" 2000
increase_pool_size "AttachmentExtension" 430
increase_pool_size "CDoorExtension" 160
increase_pool_size "CPropSetObjectExtension" 950
increase_pool_size "CAvoidanceComponent" 1300
increase_pool_size "GrassBatch" 2000
increase_pool_size "CompEntity" 50
increase_pool_size "CNetObjDoor" 20
increase_pool_size "CDoorSyncData" 20
increase_pool_size "CNetObjPedBase" 110
increase_pool_size "NavMeshRoute" 200
increase_pool_size "CNetObjObject" 100
increase_pool_size "CCrimeObserver" 150
increase_pool_size "CNetObjVehicle" 40
increase_pool_size "CAnimalGroupMember" 110
increase_pool_size "CPedAvoidanceComponent" 256
increase_pool_size "CPedSyncData" 50
Full crash population from our logs (55 crashes / 103 total disconnects):
| Count |
Reason |
| 10 |
RDR2_b1491.exe+D8D800 |
| 6 |
RAGE error: 0xC5C2E25A:506 |
| 5 |
RDR2_b1491.exe+B4E829 |
| 4 |
RDR2_b1491.exe+2C0370A |
| 4 |
RDR2_b1491.exe+2B0FC15 |
| 4 |
RDR2_b1491.exe+2293F93 |
| 4 |
Failed to create 'CObjectPhysicsComponent' component during creating entity. |
| 3 |
RAGE error: ERR_GFX_STATE |
| 3 |
gta-net-rdr3.dll+70429 |
| 3 |
0x7ff740c40e49 |
| 2 |
Recursive-recursive error: <<unknown pool>> Pool Full, Size == 2500 |
| 2 |
RDR2_b1491.exe+D9FD6B |
| 2 |
RDR2_b1491.exe+2B0FC30 |
I am not claiming all of these are the same bug. ERR_GFX_STATE may well be our own
streaming load (~1,387 .ydr, ~4.2 GB .ytd). Including the full set so the pool-related
ones can be seen in proportion.
Also seeing 8x CSRF validation failed disconnects on this build, which is new to us.
Client side it shows only as "Disconnected by server" with no further detail. Mentioning
it in case it is related; happy to split it into its own issue if not.
We can supply crash dumps, full server logs, our resource list, or run a build with
extra logging. We have a 128+ player load test planned and can run whatever
instrumentation is useful during it.
What happened?
On the experimental
feature/redm-physical-player-extensionartifact (version 35798),the Object pool exhausts after being raised, and the resulting crash does not name
which pool ran out.
Our server.cfg raises it:
The crash we get:
2500 is consistent with a 500 base plus our +2000, so the increase is being applied
and the pool is still being exhausted.
Two distinct problems:
1. The pool is undersized for what this branch is for. This branch exists so RedM
servers can run 128+ players. We hit the wall at 56 concurrent (highest server id
observed), under half the target, with Object already raised 5x over base.
2.
<<unknown pool>>makes it unactionable. The engine ran out of a pool andcould not report which one. We have 31
increase_pool_sizelines and no way to tellwhich to raise. For us this is the more important of the two — if the pool name were
printed, server owners could fix their own configs instead of guessing.
We also see 4x
Failed to create 'CObjectPhysicsComponent' component during creating entity., which looks like the same allocation failure caught at a different site.Scale: 55 of 103 disconnects in our logs are client crashes (53%).
Separately, and possibly worth its own documentation issue:
PedandAnimatedBuildingare absent from the allowlist athttps://gss.cfx-services.net/v1/public/pool-size-limits/redm and cannot be raised at
all. Our ped pool caps at 356, and a dump taken with zero players connected already
showed 104 slots used by ambient population and MLO peds. If that ceiling is
intentional, having it documented would save every RedM server owner the same
investigation.
Expected result
Pool Full should name the exhausted pool, and the Object pool should sustain the player counts this branch targets.
Reproduction steps
onesync_physicalPlayerExtension true,onesync_population trueandsv_maxclients 200.increase_pool_size "Object" 2000.Recursive-recursive error: <<unknown pool>> Pool Full, Size == 2500andFailed to create 'CObjectPhysicsComponent' component during creating entity.Importancy
Crash
Area(s)
RedM
Specific version(s)
RedM client 35798 (specific/feature/redm-physical-player-extension), game build b1491, Server linux
Additional information
Full pool configuration from our server.cfg, in case something here is fighting the
physical player extension:
Full crash population from our logs (55 crashes / 103 total disconnects):
RDR2_b1491.exe+D8D800RAGE error: 0xC5C2E25A:506RDR2_b1491.exe+B4E829RDR2_b1491.exe+2C0370ARDR2_b1491.exe+2B0FC15RDR2_b1491.exe+2293F93Failed to create 'CObjectPhysicsComponent' component during creating entity.RAGE error: ERR_GFX_STATEgta-net-rdr3.dll+704290x7ff740c40e49Recursive-recursive error: <<unknown pool>> Pool Full, Size == 2500RDR2_b1491.exe+D9FD6BRDR2_b1491.exe+2B0FC30I am not claiming all of these are the same bug.
ERR_GFX_STATEmay well be our ownstreaming load (~1,387 .ydr, ~4.2 GB .ytd). Including the full set so the pool-related
ones can be seen in proportion.
Also seeing 8x
CSRF validation faileddisconnects on this build, which is new to us.Client side it shows only as "Disconnected by server" with no further detail. Mentioning
it in case it is related; happy to split it into its own issue if not.
We can supply crash dumps, full server logs, our resource list, or run a build with
extra logging. We have a 128+ player load test planned and can run whatever
instrumentation is useful during it.