-
Notifications
You must be signed in to change notification settings - Fork 119
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Direct Path Load write to oracle error #260
Comments
Hi, Can you more details? Regards, Vincent |
Hi Can you provide more info ? Regards, Vincent |
ocilib is v4.7.2 this is demo #include #define SIZE_COL 22 struct BomOrgItemParStruct { void createBomOrgItemWorker(OCI_Thread thread, void data) {
} bool createBomOrgItem(int orgTable, std::unordered_map<long, bool> *bomOrgItemMapPoint) {
} void err_handler(OCI_Error *err) { int main() {
} |
Hi, Looking at the error stack strace, the issue occurs when calling oracle client method from OcilibDirPathSetColumn(). Regards, Vincent |
When I change the client to instantclient_19_10, report the following error Errors in file : ----- Call Stack Trace ----- skgudmp()+154 call kgdsdst() 000000000 ? 000000000 ? Call stack signature: 0xef1a174a6a31dfe5 ----- Kernel Stack Trace ----- ----- End Kernel Stack Trace ----- call stack performance statistics: ----- End of Call Stack Trace ----- Errors in file : ----- Call Stack Trace ----- skgudmp()+154 call kgdsdst() 000000000 ? 000000000 ? Call stack signature: 0x7d0d324aae6fcc4a ----- Kernel Stack Trace ----- ----- End Kernel Stack Trace ----- call stack performance statistics: ----- End of Call Stack Trace ----- Errors in file : ----- Call Stack Trace ----- skgudmp()+154 call kgdsdst() 000000000 ? 000000000 ? Call stack signature: 0x6cefee83252783f1 ----- Kernel Stack Trace ----- ----- End Kernel Stack Trace ----- call stack performance statistics: ----- End of Call Stack Trace ----- Process finished with exit code 1 |
Have you tried with a much smaller buffer size? You use: 64mo or 1Go is way too big anyway for such operations!!! |
Thank you very much I use The error message is as follows ----- Call Stack Trace ----- Program received signal SIGSEGV, Segmentation fault. The actual amount of data is very small,the data written by each thread is less than 20 ----- Call Stack Trace ----- Program received signal SIGSEGV, Segmentation fault. |
Hi, OCI_DirPathSetBufferSize(dp, 64000000); ==> this is way to big. Have you tried a much smaller size ? |
Any news? |
When I use multi thread to write data to Oracle database, I report an error.
if (!OCI_Initialize(err_handler, nullptr, OCI_ENV_DEFAULT | OCI_ENV_THREADED)) {
return 1;
}
#0 0x00007f6ca2719387 in raise () from /lib64/libc.so.6
#1 0x00007f6ca5d4566f in skgesigOSCrash () from /u01/client/lib/libclntsh.so.21.1
#2 0x00007f6ca64335ed in kpeDbgSignalHandler () from /u01/client/lib/libclntsh.so.21.1
#3 0x00007f6ca5d45952 in skgesig_sigactionHandler () from /u01/client/lib/libclntsh.so.21.1
#4
#5 0x00007f6ca68d5d6d in kpuhhfreV1 () from /u01/client/lib/libclntsh.so.21.1
#6 0x00007f6ca39b9a65 in kpufdesc2 () from /u01/client/lib/libclntsh.so.21.1
#7 0x00007f6ca39bcf0d in kpufdesc () from /u01/client/lib/libclntsh.so.21.1
#8 0x00007f6ca32eed7a in OcilibDirPathSetColumn () from /usr/local/lib/libocilib.so.4
#9 0x000000000054f0aa in createBomOrgItemWorker (thread=0x44599e8, data=0x445a3f0) at /home/duoduo/Desktop/project/db/YinwuLoadData.cpp:1792
#10 0x00007f6ca1b20ea5 in start_thread () from /lib64/libpthread.so.0
#11 0x00007f6ca27e196d in clone () from /lib64/libc.so.6
The text was updated successfully, but these errors were encountered: