Il programma chiamante passa un numero di parametri diverso da quello dichiarato nell'intestazione 'PROCEDURE DIVISION USING ...' del sottoprogramma, provocando puntatori non validi e abend S0C4.
LINKAGE_PARAM_COUNT_MISMATCH
→
Interfacciando COBOL con librerie scritte in C su piattaforme Windows o Linux a 32/64 bit, un disallineamento tra convenzione STDCALL e CDECL corrompe il registro dello stack pointer (ESP/RSP) provocando crash istantaneo.
CALL_CONVENTION_MISMATCH
→
L'istruzione 'CANCEL "SUBPROG"' tenta di scaricare dalla memoria un sottoprogramma che è ancora presente nello stack di esecuzione attivo della gerarchia di chiamate.
CANCEL_MODULE_IN_USE
→
L'istruzione 'CALL "SUBPROG"' fallisce a runtime perché la libreria condivisa (.so, .dll) o il modulo di carico (load module in STEPLIB/COB_LIBRARY_PATH) non è presente nel percorso di ricerca dinamico.
CALL_MODULE_NOT_FOUND
→
La chiamata fa riferimento a un punto di ingresso alternativo dichiarato con 'ENTRY "NOME"' ma il modulo caricato non esporta tale simbolo.
ENTRY_POINT_NOT_FOUND
→
In COBOL il passaggio parametri predefinito è 'BY REFERENCE'; se il sottoprogramma altera il parametro formale nella LINKAGE SECTION, la variabile del programma chiamante viene sovrascritta a meno di passare 'BY CONTENT'.
CALL_BY_REF_CORRUPTION
→
Passare l'indirizzo di un elemento dichiarato con 'BASED' che non è mai stato allocato con 'ALLOCATE' invia un puntatore nullo (0x0) al sottoprogramma, causando abend non appena viene dereferenziato.
CALL_UNALLOCATED_BASED_ADDRESS
→
L'esecuzione dell'istruzione 'CANCEL "sub"' rimuove il modulo dalla memoria; a una successiva chiamata CALL, tutte le variabili nella WORKING-STORAGE ripartono dai valori iniziali di VALUE senza conservare lo stato precedente.
CANCEL_MODULE_STATE_RESET
→