Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

[BUG] Segmentation fault with callProcedure

Abierto
#415 0 comentarios 0 reacciones 0 asignados Ver en GitHub

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

  • odbc Package 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:

  1. Connect to database with options '...'
  2. Create database table '...'
  3. 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

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de IBM/node-odbc

Todos los issues de IBM/node-odbc

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.