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: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Steve Martin
Sent: 25 July 2005 05:58
To: pgadmin-support@postgresql.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 < [EMAIL PROTECTED] >  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





---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
      subscribe-nomail command to [EMAIL PROTECTED] so that your
      message can get through to the mailing list cleanly

Reply via email to