Skip site navigation (1) Skip section navigation (2)

Port Bug Report: lo_import fails - SIGBUS error in inv_newtuple

From: Unprivileged user <nobody>
To: pgsql-ports(at)postgresql(dot)org
Subject: Port Bug Report: lo_import fails - SIGBUS error in inv_newtuple
Date: 1999-03-16 21:00:09
Message-ID: 199903162100.QAA64272@hub.org (view raw or flat)
Thread:
Lists: pgsql-ports
============================================================================
                        POSTGRESQL BUG REPORT TEMPLATE
============================================================================


Your name		: Lysander David
Your email address	: ldavid(at)verisign(dot)com

Category		: runtime: back-end
Severity		: critical

Summary: lo_import fails - SIGBUS error in inv_newtuple

System Configuration
--------------------
  Operating System   : Solaris 

  PostgreSQL version : 6.4.2

  Compiler used      : gcc 2.7.1

Hardware:
---------
Sun Ultra 5, 256M RAM

Versions of other tools:
------------------------
gmake - 3.74
flex - 2.5.4

--------------------------------------------------------------------------

Problem Description:
--------------------
When attempting to use lo_import to insert a 
large object, it fails.

--------------------------------------------------------------------------

Test Case:
----------
1) create database test 
   createdb test

2) create a file to create the table named create.sql
   with the contents
   CREATE TABLE test (
          id int4 PRIMARY KEY,
          largeObject oid
   );
3) execute create.sql
   psql -d test -f create.sql

4) create a file to insert a row named insert.sql
   with these contents
   INSERT INTO test ( id, largeObject)
      VALUES ( 1, lo_import (<some local file>));

5) execute insert.sql
   psql -d test -f insert.sql

6) it will fail with output like this :
32 postgres(at)ldavid-sun(dot)verisign(dot)com:/home/postgres/devel/build/BuildReq/Query% psql -d test -f insert.sql 
postmaster: ServerLoop:		handling reading 5
postmaster: ServerLoop:		handling reading 5
postmaster: ServerLoop:		handling writing 5
postmaster: BackendStartup: environ dump:
-----------------------------------------
	PWD=/home/postgres/devel/build/BuildReq/Query
	TERM=dumb
	TERMCAP=
	COLUMNS=80
	EMACS=t
	DISPLAY=ldavid-sun:0.0
	POSTGRES_HOME=/net/ldavid-sun/disk1/opt/postgres
	LC_CTYPE=C
	LC_COLLATE=C
	PGDATA=/net/ldavid-sun/disk1/opt/postgres/data
	PGLIB=/net/ldavid-sun/disk1/opt/postgres/lib
	PURIFYOPTIONS=-follow-child-processes=yes
	FE_PC_EN_INSTALL=/ecas/public/fe-pc-en/
	FE_PC_CC_INSTALL=/ecas/public/fe-pc-cc/
	FE_SC_EN_INSTALL=/ecas/public/fe-sc-en/
	FE_SC_CC_INSTALL=/ecas/public/fe-sc-cc/
	FE_ONSITE_CRS_INSTALL=/ecas/public/fe-onsite-crs/
	FE_ONSITE_CC_INSTALL=/ecas/public/fe-onsite-cc/
	FE_ONSITE_EN_INSTALL=/ecas/public/fe-onsite-en/
	FE_EN_INSTALL=/ecas/public/fe-en/
	FE_OP_INSTALL=/ecas/public/fe-op/
	BE_INSTALL=/ecas/public/be/
	PORTAL=/opt/pin/5.0/
	ONE_OP_ALLOWED=1
	ECAS_ARGS_DEBUG=1
	ECAS_LOG_LEVEL=ECAS_LOG_DEBUG
	QMDEBUG=1
	ECAS_CUSTOM_CFG=/net/ldavid-sun/disk1/tcheung/build/make/custom/SunOS55.cfg
	AEAPPROVE=1
	LRACERT=1
	ECASINSTALL=/ecas/public/be/
	BEFORE_PATH=/net/ldavid-sun/disk1/opt/tcl/bin:/home/build/tools/Cvs/bin:/net/david-sun/disk1/opt/gnu/bin:/usr/local/bin:/opt/SUNWspro/bin:/usr/ccs/bin:/opt/SUNWspro/bin:/usr/dt/bin:/usr/openwin/bin:/bin:/usr/bin:/usr/ucb:/usr/contrib/bin:/usr/ccs/bin:/u/tools/bin:/home/pure/purify-4.0-solaris2:/usr/sbin:/usr/lib/lp:~/bin:.:/home/ddts/bin:/home/oracle/orahome/bin:/disk1/opt/tex/bin/sparc-solaris2.5.1:~/lbin2:/usr/openwin/bin:/opt/lesstif/bin:/u/tools/bin
	ORAHOME=/home/oracle/orahome
	ORACLE_DOC=/home/oracle/orahome/odoc
	ORACLE_SID=sid1
	ORACLE_NLS=/home/oracle/orahome/ocommon/nls/admin/data
	ORACLE_TERM=xsun
	ORACLE_HOME=/home/oracle/orahome
	TK_LIBRARY=/net/ldavid-sun/disk1/opt/tcl/lib
	TCL_LIBRARY=/net/ldavid-sun/disk1/opt/tcl/lib
	RCSBIN=/opt/gnu/bin
	CVSROOT=/cvs
	LD_LIBRARY_PATH=/lib:/usr/lib:/lib/dt/lib:/opt/SUNWspro/lib:/opt/lesstif/lib:/home/oracle/orahome/lib:/net/ldavid-sun/disk1/opt/postgres/bin
	MANPATH=/usr/man:/u/tools/man:/opt/SUNWspro/man:/net/ldavid-sun/disk1/opt/gnu/man:/net/ldavid-sun/disk1/opt/tcl/man:/net/ldavid-sun/disk1/opt/postgres/man
	OPENWINHOME=/usr/openwin
	PATH=/net/ldavid-sun/disk1/opt/gnu/bin:/ecas/public/be//bin:/net/ldavid-sun/disk1/opt/tcl/bin:/home/build/tools/Cvs/bin:/net/david-sun/disk1/opt/gnu/bin:/usr/local/bin:/opt/SUNWspro/bin:/usr/ccs/bin:/opt/SUNWspro/bin:/usr/dt/bin:/usr/openwin/bin:/bin:/usr/bin:/usr/ucb:/usr/contrib/bin:/usr/ccs/bin:/u/tools/bin:/home/pure/purify-4.0-solaris2:/usr/sbin:/usr/lib/lp:~/bin:.:/home/ddts/bin:/home/oracle/orahome/bin:/disk1/opt/tex/bin/sparc-solaris2.5.1:~/lbin2:/usr/openwin/bin:/opt/lesstif/bin:/u/tools/bin:/net/ldavid-sun/disk1/opt/postgres/bin
	LOGNAME=postgres
	USER=postgres
	SHELL=/bin/csh
	HOME=/home/postgres
	POSTPORT=5432
	POSTID=2147483643
	PG_USER=postgres
	IPC_KEY=5432100
-----------------------------------------
postmaster child[2594]: starting with (/net/ldavid-sun/disk1/opt/postgres/bin/postgres, -p, -d3, -P5, -v131072, test, )
FindExec: found "/net/ldavid-sun/disk1/opt/postgres/bin/postgres" using argv[0]
debug info:
	User         = postgres
	RemoteHost   = localhost
	RemotePort   = 0
	DatabaseName = test
	Verbose      = 3
	Noversion    = f
	timings      = f
	dates        = Normal
	bufsize      = 64
	sortmem      = 512
	query echo   = f
InitPostgres
INSERT INTO test ( id, largeObject )
VALUES ( 1, lo_import ( '/home/postgres/devel/build/BuildReq/Query/rel_note' ));
StartTransactionCommand
postmaster: BackendStartup: pid 2594 user postgres db test socket 5
query: INSERT INTO test ( id, largeObject ) VALUES ( 1, lo_import ( '/home/postgres/devel/build/BuildReq/Query/rel_note' ));
ProcessQuery
postmaster: reaping dead processes...
postmaster: CleanupProc: pid 2594 exited with status 138
postmaster: CleanupProc: reinitializing shared memory and semaphores
shmem_exit(0) [#0]
binding ShmemCreate(key=52e389, size=831176)
pqReadData() -- backend closed the channel unexpectedly.
	This probably means the backend terminated abnormally before or while processing the request.
We have lost the connection to the backend, so further processing is impossible.  Terminating.

7) It fails in the source due to a SIGBUS error in
   inv_api.c:1067

	attptr = ((char *) ntup) + hoff;
->	*((int32 *) attptr) = obj_desc->offset + nwrite - 1;
	attptr += sizeof(int32);


--------------------------------------------------------------------------

Solution:
---------


--------------------------------------------------------------------------


Responses

pgsql-ports by date

Next:From: Bruce MomjianDate: 1999-03-16 21:03:53
Subject: Re: [PORTS] Port Bug Report: lo_import fails - SIGBUS error in inv_newtuple
Previous:From: Jonathan A. ZdziarskiDate: 1999-03-16 15:34:10
Subject: Re: [PORTS] Port Bug Report: The compiler bombs at pgc.l and fails to finish compiling

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group