6.4 beta crashed backend

From: Marcus Mascari <mascarim(at)yahoo(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: 6.4 beta crashed backend
Date: 1998-09-21 10:12:19
Message-ID: 19980921101219.25783.rocketmail@send1c.yahoomail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

I don't know if this is the correct place to post
this message or if the bug in question has already
been fixed but the following query crashed the
backend. Note however, that when there is only one
constant in the IN () list, the query works:

flock error for /tmp/.s.PGSQL.5432
debug info:
User = mmsadmin
RemoteHost = localhost
RemotePort = 0
DatabaseName = mms
Verbose = 5
Noversion = f
timings = f
dates = Normal
bufsize = 64
sortmem = 512
query echo = f
InitPostgres
StartTransactionCommand
query: SELECT employees.lastname, employees.firstname, employees.email,
employees.phoneno, employees.department, employees.title,
employees.employee FROM employees, engineers WHERE employees.employee =
engineers.employee AND engineers.costcntr IN ('63100','60100');
parser outputs:
{ QUERY
:command 1
:utility <>
:resultRelation 0
:into <>
:isPortal false
:isBinary false
:unionall false
:unique <>
:sortClause <>
:rtable (
{ RTE
:relname employees
:refname employees
:relid 315967
:inh false
:inFromCl true
:skipAcl false
}

{ RTE
:relname engineers
:refname engineers
:relid 316336
:inh false
:inFromCl true
:skipAcl false
}
)

:targetlist (
{ TARGETENTRY
:resdom
{ RESDOM
:resno 1
:restype 1043
:restypmod 24
:resname "lastname"
:reskey 0
:reskeyop 0
:resjunk 0
}

:expr
{ VAR
:varno 1
:varattno 2
:vartype 1043
:vartypmod 24
:varlevelsup 0
:varnoold 1
:varoattno 2
}
}

{ TARGETENTRY
:resdom
{ RESDOM
:resno 2
:restype 1043
:restypmod 20
:resname "firstname"
:reskey 0
:reskeyop 0
:resjunk 0
}

:expr
{ VAR
:varno 1
:varattno 3
:vartype 1043
:vartypmod 20
:varlevelsup 0
:varnoold 1
:varoattno 3
}
}

{ TARGETENTRY
:resdom
{ RESDOM
:resno 3
:restype 1043
:restypmod 54
:resname "email"
:reskey 0
:reskeyop 0
:resjunk 0
}

:expr
{ VAR
:varno 1
:varattno 5
:vartype 1043
:vartypmod 54
:varlevelsup 0
:varnoold 1
:varoattno 5
}
}

{ TARGETENTRY
:resdom
{ RESDOM
:resno 4
:restype 1043
:restypmod 20
:resname "phoneno"
:reskey 0
:reskeyop 0
:resjunk 0
}

:expr
{ VAR
:varno 1
:varattno 6
:vartype 1043
:vartypmod 20
:varlevelsup 0
:varnoold 1
:varoattno 6
}
}

{ TARGETENTRY
:resdom
{ RESDOM
:resno 5
:restype 1043
:restypmod 36
:resname "department"
:reskey 0
:reskeyop 0
:resjunk 0
}

:expr
{ VAR
:varno 1
:varattno 7
:vartype 1043
:vartypmod 36
:varlevelsup 0
:varnoold 1
:varoattno 7
}
}

postmaster: reaping dead processes...
postmaster: CleanupProc: pid 2769 exited with status 139
postmaster: CleanupProc: reinitializing shared memory and semaphores
binding ShmemCreate(key=52e325, size=831176)
nk 0
}

:expr
{ VAR
:varno 1
:varattno 8
:vartype 1043
:vartypmod 36
:varlevelsup 0
:varnoold 1
:varoattno 8
}
}

{ TARGETENTRY
:resdom
{ RESDOM
:resno 7
:restype 1043
:restypmod 14
:resname "employee"
:reskey 0
:reskeyop 0
:resjunk 0
}

:expr
{ VAR
:varno 1
:varattno 1
:vartype 1043
:vartypmod 14
:varlevelsup 0
:varnoold 1
:varoattno 1
}
}
)

:qual
{ EXPR
:typeOid 16
:opType and
:oper <>
:args (
{ EXPR
:typeOid 16
:opType op
:oper
{ OPER
:opno 1062
:opid 0
:opresulttype 16
}

:args (
{ VAR
:varno 1
:varattno 1
:vartype 1043
:vartypmod 14
:varlevelsup 0
:varnoold 1
:varoattno 1
}

{ VAR
:varno 2
:varattno 1
:vartype 1043
:vartypmod 14
:varlevelsup 0
:varnoold 2
:varoattno 1
}
)
}

{ EXPR
:typeOid 16
:opType or
:oper <>
:args (
{ EXPR
:typeOid 16
:opType op
:oper
{ OPER
:opno 1062
:opid 0
:opresulttype 16
}

:args (
{ VAR
:varno 2
:varattno 2
:vartype 1043
:vartypmod 9
:varlevelsup 0
:varnoold 2
:varoattno 2
}

{ CONST
:consttype 1043
:constlen -1
:constisnull false
:constvalue 9 [ 9 0 0 0 54 51 49 48 48 ]
:constbyval true
}
)
}

{ EXPR
:typeOid 16
:opType op
:oper
{ OPER
:opno 1062
:opid 0
:opresulttype 16
}

:args (
{ VAR
:varno 2
:varattno 2
:vartype 1043
:vartypmod 9
:varlevelsup 0
:varnoold 2
:varoattno 2
}

{ CONST
:consttype 1043
:constlen -1
:constisnull false
:constvalue 9 [ 9 0 0 0 54 48 49 48 48 ]
:constbyval true
}
)
}
)
}
)
}

:groupClause <>
:havingQual <>
:hasAggs false
:hasSubLinks false
:unionClause <>
}
after rewriting:
{ QUERY
:command 1
:utility <>
:resultRelation 0
:into <>
:isPortal false
:isBinary false
:unionall false
:unique <>
:sortClause <>
:rtable (
{ RTE
:relname employees
:refname employees
:relid 315967
:inh false
:inFromCl true
:skipAcl false
}

{ RTE
:relname engineers
:refname engineers
:relid 316336
:inh false
:inFromCl true
:skipAcl false
}
)

:targetlist (
{ TARGETENTRY
:resdom
{ RESDOM
:resno 1
:restype 1043
:restypmod 24
:resname "lastname"
:reskey 0
:reskeyop 0
:resjunk 0
}

:expr
{ VAR
:varno 1
:varattno 2
:vartype 1043
:vartypmod 24
:varlevelsup 0
:varnoold 1
:varoattno 2
}
}

{ TARGETENTRY
:resdom
{ RESDOM
:resno 2
:restype 1043
:restypmod 20
:resname "firstname"
:reskey 0
:reskeyop 0
:resjunk 0
}

:expr
{ VAR
:varno 1
:varattno 3
:vartype 1043
:vartypmod 20
:varlevelsup 0
:varnoold 1
:varoattno 3
}
}

{ TARGETENTRY
:resdom
{ RESDOM
:resno 3
:restype 1043
:restypmod 54
:resname "email"
:reskey 0
:reskeyop 0
:resjunk 0
}

:expr
{ VAR
:varno 1
:varattno 5
:vartype 1043
:vartypmod 54
:varlevelsup 0
:varnoold 1
:varoattno 5
}
}

{ TARGETENTRY
:resdom
{ RESDOM
:resno 4
:restype 1043
:restypmod 20
:resname "phoneno"
:reskey 0
:reskeyop 0
:resjunk 0
}

:expr
{ VAR
:varno 1
:varattno 6
:vartype 1043
:vartypmod 20
:varlevelsup 0
:varnoold 1
:varoattno 6
}
}

{ TARGETENTRY
:resdom
{ RESDOM
:resno 5
:restype 1043
:restypmod 36
:resname "department"
:reskey 0
:reskeyop 0
:resjunk 0
}

:expr
{ VAR
:varno 1
:varattno 7
:vartype 1043
:vartypmod 36
:varlevelsup 0
:varnoold 1
:varoattno 7
}
}

{ TARGETENTRY
:resdom
{ RESDOM
:resno 6
:restype 1043
:restypmod 36
:resname "title"
:reskey 0
:reskeyop 0
:resjunk 0
}

:expr
{ VAR
:varno 1
:varattno 8
:vartype 1043
:vartypmod 36
:varlevelsup 0
:varnoold 1
:varoattno 8
}
}

{ TARGETENTRY
:resdom
{ RESDOM
:resno 7
:restype 1043
:restypmod 14
:resname "employee"
:reskey 0
:reskeyop 0
:resjunk 0
}

:expr
{ VAR
:varno 1
:varattno 1
:vartype 1043
:vartypmod 14
:varlevelsup 0
:varnoold 1
:varoattno 1
}
}
)

:qual
{ EXPR
:typeOid 16
:opType and
:oper <>
:args (
{ EXPR
:typeOid 16
:opType op
:oper
{ OPER
:opno 1062
:opid 0
:opresulttype 16
}

:args (
{ VAR
:varno 1
:varattno 1
:vartype 1043
:vartypmod 14
:varlevelsup 0
:varnoold 1
:varoattno 1
}

{ VAR
:varno 2
:varattno 1
:vartype 1043
:vartypmod 14
:varlevelsup 0
:varnoold 2
:varoattno 1
}
)
}

{ EXPR
:typeOid 16
:opType or
:oper <>
:args (
{ EXPR
:typeOid 16
:opType op
:oper
{ OPER
:opno 1062
:opid 0
:opresulttype 16
}

:args (
{ VAR
:varno 2
:varattno 2
:vartype 1043
:vartypmod 9
:varlevelsup 0
:varnoold 2
:varoattno 2
}

{ CONST
:consttype 1043
:constlen -1
:constisnull false
:constvalue 9 [ 9 0 0 0 54 51 49 48 48 ]
:constbyval false
}
)
}

{ EXPR
:typeOid 16
:opType op
:oper
{ OPER
:opno 1062
:opid 0
:opresulttype 16
}

:args (
{ VAR
:varno 2
:varattno 2
:vartype 1043
:vartypmod 9
:varlevelsup 0
:varnoold 2
:varoattno 2
}

{ CONST
:consttype 1043
:constlen -1
:constisnull false
:constvalue 9 [ 9 0 0 0 54 48 49 48 48 ]
:constbyval false
}
)
}
)
}
)
}

:groupClause <>
:havingQual <>
:hasAggs false
:hasSubLinks false
:unionClause <>
}
shmem_exit(0) [#0]
pmdie 2
proc_exit(0) [#0]
shmem_exit(0) [#0]
exit(0)

Again, if the same query is issued, but there is only
once constact in the IN () list, i.e.:

SELECT employees.lastname, employees.firstname, employees.email,
employees.phoneno, employees.department, employees.title,
employees.employee FROM employees, engineers WHERE employees.employee =
engineers.employee AND engineers.costcntr IN ('63100');

the backend succeeds without a problem.

The table definitions are as follows:

Table = employees
+----------------------------------+----------------------------------+-------+
| Field | Type
| Length|
+----------------------------------+----------------------------------+-------+
| employee | varchar() not null
| 10 |
| lastname | varchar() not null
| 20 |
| firstname | varchar() not null
| 16 |
| reportsto | varchar() not null
| 10 |
| email | varchar() not null
| 50 |
| phoneno | varchar() not null
| 16 |
| department | varchar() not null
| 32 |
| title | varchar() not null
| 32 |
+----------------------------------+----------------------------------+-------+
Index: k_employees

Table = engineers
+----------------------------------+----------------------------------+-------+
| Field | Type
| Length|
+----------------------------------+----------------------------------+-------+
| employee | varchar() not null
| 10 |
| costcntr | varchar() not null
| 5 |
+----------------------------------+----------------------------------+-------+
Index: k_engineers

The backend is the Beta1 release of 6.4 running on
Linux slackware 2.0.35 with gcc 2.7.2.2 on a Pentium
200 Mhz, 32M RAM, and the following libraries:

ldconfig: version 1.9.5
/usr/local/lib:
/usr/X11R6/lib:
libXtst.so.6 => libXtst.so.6.1
libXt.so.6 => libXt.so.6.0
libXp.so.6 => libXp.so.6.2
libXmu.so.6 => libXmu.so.6.0
libXi.so.6 => libXi.so.6.0
libXext.so.6 => libXext.so.6.3
libXaw.so.6 => libXaw.so.6.1
libXIE.so.6 => libXIE.so.6.0
libX11.so.6 => libX11.so.6.1
libSM.so.6 => libSM.so.6.0
libPEX5.so.6 => libPEX5.so.6.0
libICE.so.6 => libICE.so.6.3
libXpm.so.4 => libXpm.so.4.3
/usr/i486-linuxaout/lib:
libPEX5.so.6 => libPEX5.so.6.0
libXpm.so.4 => libXpm.so.4.3
libXt.so.6 => libXt.so.6.0
libXaw.so.6 => libXaw.so.6.0
libXIE.so.6 => libXIE.so.6.0
libX11.so.6 => libX11.so.6.0
libXt.so.3 => libXt.so.3.1.0
libXaw.so.3 => libXaw.so.3.1.0
libX11.so.3 => libX11.so.3.1.0
libdb.so.1 => libdb.so.1.85.1
libvga.so.1 => libvga.so.1.2.9
/usr/openwin/lib:
libsspkg.so.1 => libsspkg.so.1.0.0
libxview.so.3 => libxview.so.3.2.2
libolgx.so.3 => libolgx.so.3.2.2
/usr/local/pgsql/lib:
libpq++.so.1 => libpq++.so.1
libecpg.so.2 => libecpg.so.2.6.1
libpq.so.1 => libpq.so.1
/usr/lib:
libforms.so.0.88 => libforms.so.0.88
libz.so.1 => libz.so.1.0.2
libtiff.so.3 => libtiff.so.3.4.33
librle.so.1 => librle.so.1.0.0
libppm.so.1 => libppm.so.1.0.0
libpnm.so.1 => libpnm.so.1.0.0
libpng.so.1 => libpng.so.1.0.89
libpgm.so.1 => libpgm.so.1.0.0
libpbm.so.1 => libpbm.so.1.0.0
libjpeg.so.6 => libjpeg.so.6.0.1
libfbm.so.1 => libfbm.so.1.0.0
libtkx.so.1 => libtkx.so.1.4.1
libtclx.so.1 => libtclx.so.1.7.5
libtk.so.1 => libtk.so.1.4.1
libtcl.so.1 => libtcl.so.1.7.5
libform.so.3.0 => libform.so.3.0.0
libmenu.so.3.0 => libmenu.so.3.0.0
libpanel.so.3.0 => libpanel.so.3.0.0
libbfd.so.2.8.1.0.1 => libbfd.so.2.8.1.0.1
libopcodes.so.2.8.1.0.1 => libopcodes.so.2.8.1.0.1
libgpm.so.1 => libgpm.so.1.10
libdb.so.1 => libdb.so.1.85.4
libgdbm.so.2 => libgdbm.so.2.0.0
libdb.so.2 => libdb.so.2.0.0
libg++.so.27 => libg++.so.27.2.1
libstdc++.so.27 => libstdc++.so.27.2.1
libvgagl.so.1 => libvgagl.so.1.2.10
libvga.so.1 => libvga.so.1.2.10
/lib:
libncp.so.1 => libncp.so.1.0
libdl.so.1 => libdl.so.1.9.5
ld-linux.so.1 => ld-linux.so.1.9.5
libtermcap.so.2 => libtermcap.so.2.0.8
libm.so.5 => libm.so.5.0.9
libgdbm.so.1 => libgdbm.so.1.7.3
libcurses.so.1 => libcurses.so.1.0.0
libc.so.5 => libc.so.5.4.33
libncurses.so.3.0 => libncurses.so.3.0.0
libe2p.so.2 => libe2p.so.2.3
libext2fs.so.2 => libext2fs.so.2.3
libss.so.2 => libss.so.2.0
libuuid.so.1 => libuuid.so.1.1
libcom_err.so.2 => libcom_err.so.2.0
libc.so.4 => libc.so.4.7.6
libm.so.4 => libm.so.4.6.27
libcurses.so.0 => libcurses.so.0.1.2

The backend was built without any options...just
./configure ; make ; make install.
I hope this can be fixed as I love the feature richness
of postgresql.

Marcus Mascari

_________________________________________________________
DO YOU YAHOO!?
Get your free @yahoo.com address at http://mail.yahoo.com

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 1998-09-21 10:56:20 Re: [sferac@bo.nettuno.it: Re: [HACKERS] BUG: NOT boolfield kills backend]
Previous Message Oleg Bartunov 1998-09-21 06:34:53 Re: [sferac@bo.nettuno.it: Re: [HACKERS] BUG: NOT boolfield kills backend]