oracle / node-oracledb

Oracle Database driver for Node.js maintained by Oracle Corp.
http://oracle.github.io/node-oracledb/
Other
2.25k stars 1.07k forks source link

SIGSEGV error in Oracle function execution in Kubernetes ( linux). #1610

Closed biswajit415 closed 10 months ago

biswajit415 commented 12 months ago

Node version:18 (alpine image) Oracle version: 19c Node oracle db: 5.5.0

Oracle function execution error:

npm ERR! path /usr/src

npm ERR! command failed

npm ERR! signal SIGSEGV.


Pl_SQL =

` DECLARE param number; v_return SYS_REFCURSOR;

BEGIN

param:= :param; v_return :=My_oracle_fn( param=>param ); :v_return := v_return; END;`

const bind= {

param: { val: 1234, dir: oracledb.BIND_IN, type: oracledb.NUMBER, maxSize: 10, },

v_return: { type: oracledb.CURSOR, dir: oracledb.BIND_OUT, },

};

const result = await dbCon.execute(qry, schema);


Same implementation works with stored procedure in both environment.

Also cpu utilisation is not exceeding the limit in Kubernetes (linux)

There could have issue with oracle function execution in Linux environment.

sharadraju commented 12 months ago

Please provide the platform that you are using and a simple test case to reproduce the issue Please migrate to our latest version 6.1 for all our latest features and bug fixes.

biswajit415 commented 12 months ago

@sharadraju

Platform details:

Kubernetes (Linux ) Origin: Ubuntu Docker image : node16-alpine .

Simple test case: Execute any oracle(19c) function (Not procedure )

OracleConnection.execute(qryString, binds)

sudarshan12s commented 12 months ago

alpine base image does have problems . Do you have the full console prints when the error is seen? previous discussion here

biswajit415 commented 12 months ago

@sharadraju

Issue is found.

Its a problem with data parsing .

It does not allow to pass non numeric data through bind schema. It gives sagmentation failure in LINUX environment only. It only allow to pass stringified data .

It's happening with any PL/SQL query of oracle.

Please investigate, it might have problem with memory allocation Internally for linux for number data.

sharadraju commented 12 months ago

@biswajit415 Please try this test case again with the latest version of node-oracledb version 6.2. A lot of enhancements and bug fixes have gone in the newer releases. It would be extremely helpful to us if you could confirm if this issue is still there in the latest version.

Also please refer to @sudarshan12s 's comment on alpine linux images. This should not be a problem with Thin mode introduced in node-oracledb 6.0 as the Thin Mode is written purely in JavaScript.

sharadraju commented 11 months ago

@biswajit415 Please let us know if you have tried with node-oracledb 6.2 as indicated in the previous comment.

sharadraju commented 10 months ago

I am closing this as there is no activity. Please feel free to reopen, once there is an update.