Re: Problems displaying data from Query Tool and

From: Steve Martin <smartin(at)nec(dot)co(dot)nz>
To: pgadmin-support(at)postgresql(dot)org
Subject: Re: Problems displaying data from Query Tool and
Date: 2005-07-25 21:32:31
Message-ID: 42E55A6F.2020400@nec.co.nz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-support

Hello Dave,

Thanks for your reply, I also suspected that it has something to do with
the threading.

I have compiled PostgreSQL with --enable-thread-safety
set and confirmed from the config.log that this option is set:

:
:
It was created by PostgreSQL configure 8.0.3, which was
generated by GNU Autoconf 2.53. Invocation command line was

$ ./configure --with-openssl --with-pam --enable-thread-safety
--enable-debug

## --------- ##
## Platform. ##
## --------- ##

hostname = xxxxx
uname -m = sun4u
uname -r = 5.9
uname -s = SunOS
uname -v = Generic_112233-07
:
:
configure:18926: checking thread safety of required library functions
configure:18951: gcc -o conftest -O2 -Wall -Wmissing-prototypes
-Wpointer-arith -fno-strict-aliasing -g -pthreads -pthreads
-D_REENTRANT -D_THREAD_SAFE -D_POSIX_PTHREAD_SEMANTICS -DIN_CONFIGURE
-I/usr/local/ssl/include conftest.c -lpam -lssl -lcrypto -lz
-lreadline -ltermcap -lrt -lresolv -lgen -lsocket -lnsl -ldl -lm
-lpthread -lpthread >&5
configure:18954: $? = 0
configure:18956: ./conftest
Your errno is thread-safe.
Your system uses strerror() which is thread-safe.
Your system has getpwuid_r(); it does not need getpwuid().
Your system has getaddrinfo(); it does not need gethostbyname()
or gethostbyname_r().

Your platform is thread-safe.
configure:18959: $? = 0
configure:18961: result: yes
configure:19112: creating ./config.status
:
:

I then re-made pgadmin, unfortunately, I still have the same problems but I
suspect it has improved slightly. When using the Query window, I now get
results more often than I did, but it still often fails. Using the View
button
still results in 100% failure.

I am using gdb to try and understand how this process works but I can only
spend a short time at work looking at this problem. I have no such problem
on my Linux (Fedora core 3) machine at home.

Regards, Steve

Dave Page wrote:

>Hi Steve,
>
>The main difference between those tools and the rest of the code is that
>they execute their queries in a separate thread.
>
>I wonder if PostgreSQL needs to be compiled with --enable-thread-safety
>on Solaris for pgAdmin to work as it should?
>
>Regards, Dave.
>
>
>
>>-----Original Message-----
>>From: pgadmin-support-owner(at)postgresql(dot)org
>>[mailto:pgadmin-support-owner(at)postgresql(dot)org] On Behalf Of
>>Steve Martin
>>Sent: 25 July 2005 05:58
>>To: pgadmin-support(at)postgresql(dot)org
>>Subject: [pgadmin-support] Problems displaying data from
>>Query Tool and View/Edit Data Tool.
>>
>>Hi All,
>>
>>I have problems when using the "Edit Window" and "Query Window". It
>>seems that for some reason the recv is exiting early with the
>>reception of a EAGAIN (Resource temporarily unavailable) signal.
>>Refer to the truss output below. This results in no data being
>>displayed. For the query window, data will be intermittently be
>>displayed. There is 3 rows of data. For the "Edit Data" window, if
>>selected via the menu (Tools->View Data), data will sometimes be
>>displayed, but when the "View Data" bottom is pressed, the Edit Window
>>is displayed with no column or row data and the text "aborting" is
>>displayed at the bottom left of the window.
>>
>>Has anyone any ideas whether what would cause this and/or how to
>>isolate the cause. There seems to be no problem with gathering data
>>on the set-up of the database.
>>
>>This were obtained when "F5" (Execute) was pressed in the sql query
>>window, no data displayed. The following is a truss of the pgadmin
>>process.
>>
>>23191: lwp_create(0xFFBFD868, LWP_SUSPENDED, 0xFFBFD864) = 102
>>23191/1: lwp_continue(102) = 0
>>23191/102: lwp_create() (returning as new lwp ...) = 0
>>23191/102: lwp_schedctl(SC_STATE|SC_PREEMPT, 0, 0xFE0FBBBC) = 0
>>23191/102: time()
>> = 1122264710
>>23191/102: getpid()
>> = 23191
>>[23441]
>>23191/102: open64("pgadmin.log",
>>O_WRONLY|O_APPEND|O_CREAT, 0666) = 9
>>23191/102: llseek(9, 0, SEEK_END)
>> = 2255822
>>23191/102: fstat64(9, 0xFE0FB948) = 0
>>23191/102: fstat64(9, 0xFE0FB7F0) = 0
>>23191/102: ioctl(9, TCGETA, 0xFE0FB8D4)
>> Err#25
>>ENOTTY
>>23191/102: write(9, 0x011B3074, 65) = 65
>>23191/102: 2 0 0 5 - 0 7 - 2 5 1 6 : 1 1 : 5 0 I
>>N F O
>>: R u n
>>23191/102: n i n g q u e r y s e l e c t * f
>>r o m w e
>>a t h e r
>>23191/102: \n
>>23191/102: close(9) = 0
>>23191/102: time()
>> = 1122264710
>>23191/102: getpid()
>> = 23191
>>[23441]
>>23191/102: open64("pgadmin.log",
>>O_WRONLY|O_APPEND|O_CREAT, 0666) = 9
>>23191/102: llseek(9, 0, SEEK_END)
>> = 2255887
>>23191/102: fstat64(9, 0xFE0FB958) = 0
>>23191/102: fstat64(9, 0xFE0FB800) = 0
>>23191/102: ioctl(9, TCGETA, 0xFE0FB8E4)
>> Err#25
>>ENOTTY
>>23191/102: write(9, 0x011B3074, 64) = 64
>>23191/102: 2 0 0 5 - 0 7 - 2 5 1 6 : 1 1 : 5 0 Q
>>U E R Y
>>: T h r
>>23191/102: e a d Q u e r y s e l e c t * f r
>>o m w e a
>>t h e r\n
>>23191/1: write(6, 0x00BA8A08, 2832) = 2832
>>23191/1: 12\0\007\0 x L O\0\001AD\0\0\006
>>03\004\0\0\001 L 089
>>y 8 x\005
>>23191/1: \0 x\0 E\0\b80\0\0\0\0\0\0\0\0\0 8FF\004\0 x\0
>>F\0\b\0\0\0\0\0\0
>> :
>> :
>>23191/1: 02 ?\0D4 ;03\005\0 x\0 #\0\0\0\0\0\0\0\002 P\0E6
>> >03\007\0 x ` k
>>23191/1: \0 x L g\0 x\0 #\0\0\0\0\0\0\0\002 P\0E6
>>8\0\004\0 x\0
>>#\0\b\0\0
>>23191/1: \0\0\0\0 6 x\002\0 x ` k +9B\001
>>23191/102: close(9) = 0
>>23191/102: sigaction(SIGPIPE, 0xFE0FB9E0, 0xFE0FBB00) = 0
>>23191/102: send(8, 0x0105E878, 27, 0) = 27
>>23191/102: Q\0\0\01A s e l e c t * f r o m w e
>>a t h e r\0
>>23191/102: sigaction(SIGPIPE, 0xFE0FB9E0, 0xFE0FBB00) = 0
>>23191/102: recv(8, 0x0105A870, 16384, 0) = 304
>>23191/102: T\0\0\07F\005 c i t y\0\012
>>NC4\001\0\00413FFFF\0\0\0
>>T\0\0 t e
>>23191/102: m p _ l o\0\012
>>NC4\002\0\0\017\004FFFFFFFF\0\0 t e m
>>p _ h i\0
>>23191/102: \012 NC4\003\0\0\017\004FFFFFFFF\0\0 p r c p\0\012
>>NC4\004\0\002
>>23191/102: BC\004FFFFFFFF\0\0 d a t e\0\012 NC4\005\0\004
>>:\004FFFFFFFF\0\0
>>23191/102: D\0\0\0 6\005\0\0\0\r S a n F r a n c i s c
>>o\0\0\002 4 1\0\0
>>23191/102: \002 5 5\0\0\001 0\0\0\0\n 1 9 9 4 - 1 1 -
>>2 9 D\0\0\0
>>/\005\0\0
>>23191/102: \007 H a y w a r d\0\0\002 3 5\0\0\002 5
>>2FFFFFFFF\0\0\0\n 1 9 9
>>23191/102: 4 - 1 1 - 2 9 D\0\0\0 6\005\0\0\0\r S a n
>> F r a n c
>>i s c o\0
>>23191/102: \0\002 4 1\0\0\002 5 5\0\0\001 0\0\0\0\n 1
>>9 9 4 - 1 1
>>- 2 9 C\0
>>23191/102: \0\0\v S E L E C T\0 Z\0\0\005 I
>>23191/102: recv(8, 0x0105A876, 16378, 0)
>> Err#11
>>EAGAIN
>>23191/102: sigprocmask(SIG_SETMASK, 0xFE34A074, 0xFE0FBDA0) = 0
>>23191/102: sigprocmask(SIG_SETMASK, 0xFE0FBD8C, 0x00000000) = 0
>>23191/102: sigprocmask(SIG_SETMASK, 0xFE34A074, 0x00000000) = 0
>>23191/102: lwp_exit()
>>23191: read(6, 0xFFBFDAF8, 32) Err#11 EAGAIN
>>23191: poll(0xFFBFD848, 1, -1) = 1
>>23191: read(6, 0xFFBFDAF8, 32) = 32
>>
>>Slightly different example, same result:
>>
>>23191/1: \0\0\0\0\0\0\0\002 P\0E6 >9B\007\0 x ` ~\0
>>x L g\0 x\0
>>#\0\0\0\0
>>23191/1: \0\0\0\002 P\0E6 8 x\004\0 x\0 #\0\b\0\0\0\0\0\0 6
>>x\002\0 x ` ~
>>23191/1: +\0\001
>>23191/103: getpid()
>> = 23191
>>[23441]
>>23191/1: read(6, 0xFFBFDAF8, 32)
>> Err#11
>>EAGAIN
>>23191/103: open64("pgadmin.log",
>>O_WRONLY|O_APPEND|O_CREAT, 0666) = 9
>>23191/103: llseek(9, 0, SEEK_END)
>> = 2255951
>>23191/103: fstat64(9, 0xFE0FB948) = 0
>>23191/103: fstat64(9, 0xFE0FB7F0) = 0
>>23191/103: ioctl(9, TCGETA, 0xFE0FB8D4)
>> Err#25
>>ENOTTY
>>23191/103: write(9, 0x011B3A84, 65) = 65
>>23191/103: 2 0 0 5 - 0 7 - 2 5 1 6 : 1 1 : 5 2 I
>>N F O
>>: R u n
>>23191/103: n i n g q u e r y s e l e c t * f
>>r o m w e
>>a t h e r
>>23191/103: \n
>>23191/103: close(9) = 0
>>23191/103: time()
>> = 1122264712
>>23191/103: getpid()
>> = 23191
>>[23441]
>>23191/103: open64("pgadmin.log",
>>O_WRONLY|O_APPEND|O_CREAT, 0666) = 9
>>23191/103: llseek(9, 0, SEEK_END)
>> = 2256016
>>23191/103: fstat64(9, 0xFE0FB958) = 0
>>23191/103: fstat64(9, 0xFE0FB800) = 0
>>23191/103: ioctl(9, TCGETA, 0xFE0FB8E4)
>> Err#25
>>ENOTTY
>>23191/103: write(9, 0x011B3A84, 64) = 64
>>23191/103: 2 0 0 5 - 0 7 - 2 5 1 6 : 1 1 : 5 2 Q
>>U E R Y
>>: T h r
>>23191/103: e a d Q u e r y s e l e c t * f r
>>o m w e a
>>t h e r\n
>>23191/1: poll(0xFFBFD848, 1, -1) = 1
>>23191/1: read(6, 0xFFBFDAF8, 32) = 32
>> :
>> :
>>23191/1: ioctl(6, FIONREAD, 0xFFBFD70C) = 0
>>23191/1: ioctl(6, FIONREAD, 0xFFBFD864) = 0
>>23191/1: poll(0x00B98350, 2, 0) = 0
>>23191/1: ioctl(6, FIONREAD, 0xFFBFD864) = 0
>>23191/103: close(9) = 0
>>23191/103: sigaction(SIGPIPE, 0xFE0FB900, 0xFE0FBA20) = 0
>>23191/103: send(8, 0x0105E878, 15, 0) = 15
>>23191/103: Q\0\0\00E S E L E C T 1 ;\0
>>23191/103: sigaction(SIGPIPE, 0xFE0FB900, 0xFE0FBA20) = 0
>>23191/1: poll(0x00B98350, 2, 0) = 0
>>23191/1: ioctl(6, FIONREAD, 0xFFBFD864) = 0
>>23191/1: poll(0x00B98350, 2, 0) = 0
>>23191/1: ioctl(6, FIONREAD, 0xFFBFD864) = 0
>>23191/1: poll(0x00B98350, 2, 0) = 0
>>23191/103: poll(0xFE0FBA58, 1, -1) = 1
>>23191/103: recv(8, 0x0105A870, 16384, 0) = 64
>>23191/103: T\0\0\0 !\001 ? c o l u m n
>>?\0\0\0\0\0\0\0\0\0\017\004FFFFFFFF
>>23191/103: \0\0 D\0\0\0\v\001\0\0\001 1 C\0\0\0\v S E
>>L E C T\0
>>Z\0\0\005 I
>>23191/103: sigprocmask(SIG_SETMASK, 0xFE34A074, 0xFE0FBDA0) = 0
>>23191/103: sigprocmask(SIG_SETMASK, 0xFE0FBD8C, 0x00000000) = 0
>>23191/103: sigprocmask(SIG_SETMASK, 0xFE34A074, 0x00000000) = 0
>>23191/103: lwp_exit()
>>23191: write(6, 0x00BA8A08, 5660) = 5660
>>23191: \b\0\002\0 x L j 518\004\0 x `7F\0 x L e02 R\01F
>>;03\005\0 x\0 #
>>23191: \0\0\0\0\0\0\0\002 R\01F 8\0\005\0 x\0 #\0\0
>>0\0FFFFFFFEFFFFFE7F
>>23191: F\0\005\0 x `7F\0 x\0 #\0\0\0\002 R\01F 8 x\004\0
>>x\0 #\0\b\0\0
>>23191: \0\0\0\0 8 x\005\0 x\0 E\0\b80\0\0\0\0\0\0\0\0\0
>>8\0\004\0 x\0 F
>>
>>
>>Setup details.
>>
>>postgresql-8.0.3
>>pgadmin3-1.2.2
>>wxWidgets 2.6.1
>>gtk+-2.6.8
>>gcc 3.2.3
>>
>>Hardware
>>Sun sparc with Solaris 9 installed.
>>
>>Regards - Steve Martin
>>
>>
>>
>>
>>
>>---------------------------(end of
>>broadcast)---------------------------
>>TIP 3: Have you checked our extensive FAQ?
>>
>> http://www.postgresql.org/docs/faq
>>
>>
>>
>
>---------------------------(end of broadcast)---------------------------
>TIP 5: don't forget to increase your free space map settings
>
>
>

--
\\|// From near to far,
@ @ from here to there,
---oOOo-(_)-oOOo--- funny things are everywhere. (Dr. Seuss)
xXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXx
Steve Martin < smartin(at)wlg(dot)nec(dot)co(dot)nz > Cell 029-381 6291
Snail Mail Development, Telecom Unit, NEC New Zealand Ltd.,
PO Box 1936, Wellington, New Zealand.
Voice: +64-4-381 1111 Fax: +64-4-381 6262 DDI +64-4-381 6291
NEC NZ web site: http://www.nec.co.nz
xXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXxXx

In response to

Browse pgadmin-support by date

  From Date Subject
Next Message Dave Page 2005-07-26 07:59:09 Re: Problems displaying data from Query Tool and
Previous Message Dennis Veatch 2005-07-25 21:29:40 Re: void frmMain::OnClose(wxCloseEvent&)