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

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 (view raw or flat)
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

pgadmin-support by date

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

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