[BUG] Segmentation fault with callProcedure
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Error
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- javascript, node.js
- Área
- databases
Línea de trabajo
Comienza con el fragmento de callProcedure proporcionado y compara su comportamiento con la ruta de sentencias preparadas, que según se informa funciona correctamente. Reproduce el problema con unixODBC y DB2 en IBM i 7.4 usando Node.js 22, incluidos los casos de parámetros INOUT y OUT; se considera terminado cuando callProcedure se completa sin un segmentation fault.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Describe your system
odbcPackage Version: 2.4.8- ODBC Driver: unixODBC
- Database Name: DB2 on ibmi 7.4
- Database Version:
- Database OS:
- Node.js Version: 22
- Node.js OS: linux ubuntu
Describe the bug
calling function callProcedure on an open connection ends with a Segmentation fault. We've also tried with a prepared statement and the call to the same procedure works. Our procedure take only a varchar as a INOUT parameter. We've try with a char(500) as an IN parameter and a second OUT parameter, but the segmentation fault still appears. The input parameter is JSON string and we're expecting to retrieve a JSON object as string from the INOUT parameter.
the connection used is obtained from a pool
Expected behavior
no segmentation fault occurs when using the callProcedure function
To Reproduce
Steps to reproduce the behavior:
- Connect to database with options '...'
- Create database table '...'
- Run query '...'
Code
we used the following code to reproduce the issue
import odbc from 'odbc';
(async () => {
const dsn = "<connection string>"
let conn;
try {
conn = await odbc.connect(dsn);
console.log("conn", conn.odbcConnection)
console.log("connected", conn.connected)
const data = {action: 'CR', data:{numcli: 103, price: 10}};
console.log("data", data);
const res = await conn.callProcedure(null, 'SCHEMA', 'TEST_PROC', [JSON.stringify(data)])
console.log(res2)
} catch (err) {
console.error('oups something wrong happens!');
console.error(err);
} finally {
if (conn) {
await conn.close()
}
}
})();
Additional context
the application runs into a docker container with node-22-slim as base image
- Lenguaje dominante
- JavaScript
- Estrellas
- 159
- Forks
- 92
- Merge medio
- 5 h 59 min
- PR fusionados (30 d)
- 3
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de IBM/node-odbc
-
doc: how to run the testsAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
-
security
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
-
[Bug] Sybase ASE: Encoding issue (works in msnodesqlv8, fails in node-odbc with \x1A artifacts)Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 38/100
Todos los issues de IBM/node-odbc
Issues similares
-
Bump Firebase JS SDK (12.19.0 → 13.0.0)Posiblemente ocupada @SelaseKay la tomó hoy. AbiertoNeeds Attention type: enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
invertase/react-native-firebase#9364 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
tchiotludo/akhq#3307 · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 1-3 horas Aptitud para principiantes 90/100
DietrichGebert/ponytail#1063 ·
Los mantenedores suelen responder en 3 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
zen-browser/desktop#15809 · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100