Debugging Signal 11

I just compiled ioquake3 on Windows 7, but i’m getting a strange error when playing a small local multiplayer match with a single bot. On the stderr file, i see:

^3R_LoadMD3: models/weapons2/machinegun/machinegun.md3 has more than 999 verts on supermachinegun (1418).
CL_InitCGame:  1.60 seconds
26 msec to draw all images
Com_TouchMemory: 0 msec
UnnamedPlayer^7 entered the game
UnnamedPlayer^7 was melted by Sarge^7's plasmagun
----- Client Shutdown (Received signal 11) -----
forcefully unloading cgame vm
RE_Shutdown( 1 )
----- Server Shutdown (Received signal 11) -----
==== ShutdownGame ====
AAS shutdown.

The only mod in my game is a custom MD3 model of the machinegun.

The first problem is your model has too many vertexes on a single mesh. The renderers only support up to 999. Either reduce the number of vertexes or split it into 2 meshes (1 model containing 2 meshes/surfaces).

Signal 11 (SEGFAULT) usually mean a NULL pointer was dereferenced. You can use a debugger (gdb, lldb, msvc?) to find the point of the crash.

Can i safely raise the vertexes limit on the codebase or should i use another format?

Increasing SHADER_MAX_VERTEXES is fine as far as I know, all formats in ioq3 are limited by it.

No need to update the format, then? Are there any limits that might cause problems if raised?

The MD3/MDR/IQM formats don’t need changes to have more vertexes. Which limits?

Asset-related: max animation frames, max vertexes, etc.

ioq3 limits max vertexes (to 999), MDR/IQM bones (to 128), max skin surfaces (to 32) and can be increased.

As far as I know there are no other limits aside from ones caused by using signed 32-bit integers in the model formats. numVertexes, numFrames, numTags must each be less than ~2.1 million, file must be less than ~2.1 GB, etc. Exporters may impose lower limits, I don’t know.

Alright. Thanks for the info! :slight_smile: