FirebirdSQL / firebird

Firebird server, client and tools
https://www.firebirdsql.org/
1.26k stars 216 forks source link

Server crashes intermittently when executing DDL/DML statements. Demonstration program attached. [CORE902] #1300

Closed firebird-automations closed 18 years ago

firebird-automations commented 18 years ago

Submitted by: Jim Behrendt (jimbehr)

Attachments: Show FB 2 error.zip Show FB 2 error.zip

We have a program that periodically crashes the Firebird server while running DML/DDL statements. The server will have stopped and a message will be in the server log file "INET/inet_error: send errno = 10054". Most of the time the statements execute without any problems.

A modified test program that shows this behavior is attached to this issue. This program is backing up, restoring, and then running DDL and DML statements on two database files. It loops continuously until the server crashes.

Commits: FirebirdSQL/firebird@d125a06eaed61504cc8f3866ffda6780c0a53f72 FirebirdSQL/firebird@2ecb3ccff6b848c023806398a0822f3a86b866e6

firebird-automations commented 18 years ago
Modified by: Jim Behrendt (jimbehr) Attachment: Show FB 2 error\.zip \[ 10120 \]
firebird-automations commented 18 years ago

Commented by: Jim Behrendt (jimbehr)

Unzip onto a computer with Firebird 2.0 RC3 or RC4 installed. Start the Migrate.exe program. Verify the parameters for Firebird and click the "Run" button.

firebird-automations commented 18 years ago
Modified by: Jim Behrendt (jimbehr) Attachment: Show FB 2 error\.zip \[ 10121 \]
firebird-automations commented 18 years ago

Commented by: @hvlad

I have made 100 passes and server not crashed FB 2.0.0.12724 RC4 on Win2K Srv

firebird-automations commented 18 years ago

Commented by: @asfernandes

Vlad, I reproduced it in first pass with HEAD. It crashed in a call to MOVE_FASTER in VIO.

Seems to come from GC.

firebird-automations commented 18 years ago
Modified by: @hvlad assignee: Vlad Horsun \[ hvlad \]
firebird-automations commented 18 years ago
Modified by: @hvlad status: Open \[ 1 \] =\> In Progress \[ 3 \]
firebird-automations commented 18 years ago

Commented by: @hvlad

Thanks, with HEAD i reproduced its too.

Crash is in VIO\delete_record :

if \(prior \!= record\) \{
    MOVE\_FASTER\(prior\-\>rec\_data, record\-\>rec\_data,
                record\-\>rec\_format\-\>fmt\_length\);
\}

prior->rec_len < record->rec_len (1040 < 1176) here

and it seems MOVE_FASTER copied few bytes from not allocated place

Will look at it closer

firebird-automations commented 18 years ago

Commented by: @hvlad

Fix is committed in HEAD. Adriano, can you, please, check it ?

firebird-automations commented 18 years ago

Commented by: @asfernandes

Seems ok.

firebird-automations commented 18 years ago

Commented by: @hvlad

It seems it is another candidat to be included in RC5

firebird-automations commented 18 years ago
Modified by: @hvlad status: In Progress \[ 3 \] =\> Resolved \[ 5 \] resolution: Fixed \[ 1 \] Fix Version: 2\.1 \[ 10041 \]
firebird-automations commented 18 years ago
Modified by: @hvlad Fix Version: 2\.0 RC5 \[ 10071 \] Fix Version: 2\.1 \[ 10041 \] =\>
firebird-automations commented 17 years ago

Commented by: @pmakowski

Q/A tests ok

firebird-automations commented 17 years ago
Modified by: @pmakowski status: Resolved \[ 5 \] =\> Closed \[ 6 \]
firebird-automations commented 16 years ago
Modified by: @pcisar Workflow: jira \[ 11162 \] =\> Firebird \[ 15052 \]
firebird-automations commented 8 years ago
Modified by: @pavel-zotov QA Status: No test