![]() | |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
An ABF frame has a field with f8 format and tries to insert into the same named field in a table that is of type f4 (it is not a scientific application but lives in the pre-decimal type era), which results in a buffer overflow and brings the whole installation down (II 9.3.1 (a64.lnx/106)NPTL)... -----------BEGIN STACK TRACE------------ 0: 414a5740 libc.so.6(memcpy+0x46) [0x3dae27bee6]( ... ) 1: 414a5760 iidbms(qen_execute_cx+0x2e) [0x7cc719]( ... ) 2: 414a5810 iidbms(qea_append+0x5a2) [0x7b0f92]( ... ) 3: 414a6060 iidbms(qeq_query+0xe84) [0x4ea042]( ... ) 4: 414a69a0 iidbms(qef_call+0xf5d) [0x4e337d]( ... ) 5: 414a8fa0 iidbms(scs_sequencer+0x63aa) [0x489b4a]( ... ) 6: 414b1130 iidbms(CSMT_setup+0x50e) [0x71134e]( ... ) |
#3
| |||
| |||
|
|
On Jul 8, 2011, at 5:56 AM, nikosv wrote: An ABF frame has a field with f8 format and tries to insert into the same named field in a table that is of type f4 (it is not a scientific application but lives in the pre-decimal type era), which results in a buffer overflow and brings the whole installation down (II 9.3.1 (a64.lnx/106)NPTL)... -----------BEGIN STACK TRACE------------ 0: 414a5740 libc.so.6(memcpy+0x46) [0x3dae27bee6]( ... ) 1: 414a5760 iidbms(qen_execute_cx+0x2e) [0x7cc719]( ... ) 2: 414a5810 iidbms(qea_append+0x5a2) [0x7b0f92]( ... ) 3: 414a6060 iidbms(qeq_query+0xe84) [0x4ea042]( ... ) 4: 414a69a0 iidbms(qef_call+0xf5d) [0x4e337d]( ... ) 5: 414a8fa0 iidbms(scs_sequencer+0x63aa) [0x489b4a]( ... ) 6: 414b1130 iidbms(CSMT_setup+0x50e) [0x71134e]( ... ) I guess this is a REPEATED query? *is the cache_dynamic DBMS parameter turned ON in the config.dat? I've seen this sort of thing with cache_dynamic ON, caused by insufficient length checking in the parser. *An ordinary REPEATED query ought to behave itself. *The cache_dynamic bug was fixed, I don't know in which build. This is a server bug, either a row buffer was incorrectly allocated, or a MOVE operation was compiled with the wrong length. *The stack trace is a bit weird, though, I'd expect to see ade_execute_cx above qen_execute_cx. * I'm going to suppose that it's a traceback glitch and not the true state of affairs. Karl |
aram1,
aram2);
aram1 is f8
#4
| |||
| |||
|
|
On Jul 8, 2:02*pm, Karl Schendel <schen... (AT) kbcomputer (DOT) com> wrote: On Jul 8, 2011, at 5:56 AM, nikosv wrote: An ABF frame has a field with f8 format and tries to insert into the same named field in a table that is of type f4 (it is not a scientific application but lives in the pre-decimal type era), which results in a buffer overflow and brings the whole installation down (II 9.3.1 (a64.lnx/106)NPTL)... -----------BEGIN STACK TRACE------------ 0: 414a5740 libc.so.6(memcpy+0x46) [0x3dae27bee6]( ... ) 1: 414a5760 iidbms(qen_execute_cx+0x2e) [0x7cc719]( ... ) 2: 414a5810 iidbms(qea_append+0x5a2) [0x7b0f92]( ... ) 3: 414a6060 iidbms(qeq_query+0xe84) [0x4ea042]( ... ) 4: 414a69a0 iidbms(qef_call+0xf5d) [0x4e337d]( ... ) 5: 414a8fa0 iidbms(scs_sequencer+0x63aa) [0x489b4a]( ... ) 6: 414b1130 iidbms(CSMT_setup+0x50e) [0x71134e]( ... ) I guess this is a REPEATED query? *is the cache_dynamic DBMS parameter turned ON in the config.dat? I've seen this sort of thing with cache_dynamic ON, caused by insufficient length checking in the parser. *An ordinary REPEATED query ought to behave itself. *The cache_dynamic bug was fixed, I don't know in which build. This is a server bug, either a row buffer was incorrectly allocated, or a MOVE operation was compiled with the wrong length. *The stack trace is a bit weird, though, I'd expect to see ade_execute_cx above qen_execute_cx. * I'm going to suppose that it's a traceback glitch and not the true state of affairs. Karl I cannot get back to you until Monday, if you would like to look into it in more detail But it is something along those lines : The query is a simple insert with host variables like : like insert into table (field1,field2) values ( aram1, aram2);field1 is f4, aram1 is f8when that insert happens you get an error message that "data types are incompatible" and the SIGSEV |
#5
| |||
| |||
|
|
On Jul 8, 2011, at 5:56 AM, nikosv wrote: An ABF frame has a field with f8 format and tries to insert into the same named field in a table that is of type f4 (it is not a scientific application but lives in the pre-decimal type era), which results in a buffer overflow and brings the whole installation down (II 9.3.1 (a64.lnx/106)NPTL)... -----------BEGIN STACK TRACE------------ 0: 414a5740 libc.so.6(memcpy+0x46) [0x3dae27bee6]( ... ) 1: 414a5760 iidbms(qen_execute_cx+0x2e) [0x7cc719]( ... ) 2: 414a5810 iidbms(qea_append+0x5a2) [0x7b0f92]( ... ) 3: 414a6060 iidbms(qeq_query+0xe84) [0x4ea042]( ... ) 4: 414a69a0 iidbms(qef_call+0xf5d) [0x4e337d]( ... ) 5: 414a8fa0 iidbms(scs_sequencer+0x63aa) [0x489b4a]( ... ) 6: 414b1130 iidbms(CSMT_setup+0x50e) [0x71134e]( ... ) ok managed to take another look at it today.cache_dynamic is off |
|
(Also please let me know if the Ingres stack is read bottom-up or top- down) |
#6
| |||
| |||
|
|
On Jul 13, 2011, at 11:57 AM, nikosv wrote: On Jul 8, 2011, at 5:56 AM, nikosv wrote: An ABF frame has a field with f8 format and tries to insert into the same named field in a table that is of type f4 (it is not a scientific application but lives in the pre-decimal type era), which results ina buffer overflow and brings the whole installation down (II 9.3.1 (a64.lnx/106)NPTL)... -----------BEGIN STACK TRACE------------ 0: 414a5740 libc.so.6(memcpy+0x46) [0x3dae27bee6]( ... ) 1: 414a5760 iidbms(qen_execute_cx+0x2e) [0x7cc719]( ... ) 2: 414a5810 iidbms(qea_append+0x5a2) [0x7b0f92]( ... ) 3: 414a6060 iidbms(qeq_query+0xe84) [0x4ea042]( ... ) 4: 414a69a0 iidbms(qef_call+0xf5d) [0x4e337d]( ... ) 5: 414a8fa0 iidbms(scs_sequencer+0x63aa) [0x489b4a]( ... ) 6: 414b1130 iidbms(CSMT_setup+0x50e) [0x71134e]( ... ) ok managed to take another look at it today.cache_dynamic is off hmm, ok. *Should be simple enough to reproduce with a small test program, then. *Has this ABF program been recompiled or at least re-linked against the installed version of Ingres? *This looks more like a back-end problem than an ABF problem, but maybe ABF is doing something strange to provoke it. (Also please let me know if the Ingres stack is read bottom-up or top- down) bottom up. Karl Has this ABF program been recompiled or at least re-linked against the installed version of Ingres it has been corrected,i.e fixed the data type to f4 so it matches the |
#7
| |||
| |||
|
|
Since the stack trace is bottom-up and the last call is in 'memcpy' could be a case of buffer overflow? |
![]() |
| Thread Tools | |
| Display Modes | |
| |