From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yngve Svendsen To: nobody@sourceware.cygnus.com Cc: gnats-prs@sourceware.cygnus.com Subject: Re: gnats/181: CHDB command must be issued twice in order to work Date: Sun, 26 Aug 2001 14:24:00 -0000 Message-id: <20010826212400.15862.qmail@sourceware.cygnus.com> X-SW-Source: 2001-q3/msg00103.html List-Id: The following reply was made to PR gnats/181; it has been noted by GNATS. From: Yngve Svendsen To: Milan Zamazal Cc: gnats-gnats@sourceware.cygnus.com Subject: Re: gnats/181: CHDB command must be issued twice in order to work Date: Sun, 26 Aug 2001 23:18:53 +0200 At 15:42 27.05.2001 +0200, Milan Zamazal wrote: > >>>>> "ys" == yngve svendsen writes: > > ys> The current Gnats 4 does not support multiple databases > ys> correctly. As the transcript from the Gnats session below shows, > ys> the CHDB command must be issued twice before gnatsd changes > ys> database. The default database in the Gnats installation was > ys> "helpdesk". > >Hm, I can't reproduce the problem. Was it fixed or does it still >persist? If the latter, could you send me your `databases' file? Strange. I am not seeing this problem on Linux, only on Solaris. Below is a truss from the following command sequence: 200 hurre.clustra.com GNATS server 4.0-alpha ready. chdb helpdesk 210-Now accessing GNATS database 'default' 210 User access level set to 'edit' chdb tt 210-Now accessing GNATS database 'tt' 210 User access level set to 'edit' I have defined three databases in my databases file. These are "default", "tt" and "helpdesk". As you can see from the above, the first command tries unsuccessfully to change database from "default" to "helpdesk". The second command tries to chdb to "tt", and that succeeds. If I try "chdb helpdesk" twice, the second command succeeds. My databases file looks as follows: default:Test Database 1:/usr/local/share/gnats/support tt:Test Database 2:/usr/local/share/gnats/tt helpdesk:Helpdesk test database:/usr/local/share/gnats/helpdesk - Yngve Truss output: poll(0xFFBEFB70, 1, 7200000) = 1 read(0, " c h d b h e l p d e s".., 1024) = 15 ioctl(2, TCGETA, 0xFFBEFAB4) Err#22 EINVAL fstat(-1, 0xFFBEFA40) Err#9 EBADF fstat(-1, 0xFFBEFA40) Err#9 EBADF open("/usr/local/etc/gnats/databases", O_RDONLY) = 4 fstat64(4, 0xFFBEF8F0) = 0 brk(0x00064A78) = 0 brk(0x00066A78) = 0 ioctl(4, TCGETA, 0xFFBEF87C) Err#25 ENOTTY read(4, " # T h i s f i l e ".., 8192) = 809 read(4, 0x000648F4, 8192) = 0 llseek(4, 0, SEEK_CUR) = 809 close(4) = 0 open("/usr/local/share/gnats/helpdesk/gnats-adm/gnatsd.access", O_RDONLY) = 4 fstat64(4, 0xFFBEF8E0) = 0 brk(0x00066A78) = 0 brk(0x00067278) = 0 ioctl(4, TCGETA, 0xFFBEF86C) Err#25 ENOTTY read(4, " #\n # ".., 8192) = 1293 read(4, 0x00064B7C, 8192) = 0 llseek(4, 0, SEEK_CUR) = 1293 close(4) = 0 open("/usr/local/etc/gnats/gnatsd.access", O_RDONLY) Err#2 ENOENT write(1, " 2 1 0 - N o w a c c e".., 81) = 81 poll(0xFFBEFB70, 1, 7200000) (sleeping...) poll(0xFFBEFB70, 1, 7200000) = 1 read(0, " c h d b t t\r\n", 1024) = 9 ioctl(2, TCGETA, 0xFFBEFAB4) Err#22 EINVAL fstat(-1, 0xFFBEFA40) Err#9 EBADF fstat(-1, 0xFFBEFA40) Err#9 EBADF open("/usr/local/etc/gnats/databases", O_RDONLY) = 4 fstat64(4, 0xFFBEF8F0) = 0 brk(0x00067278) = 0 brk(0x00069278) = 0 ioctl(4, TCGETA, 0xFFBEF87C) Err#25 ENOTTY read(4, " # T h i s f i l e ".., 8192) = 809 read(4, 0x0006709C, 8192) = 0 llseek(4, 0, SEEK_CUR) = 809 close(4) = 0 stat("/usr/local/share/gnats/tt", 0xFFBEF9C0) = 0 stat("/usr/local/share/gnats/tt/gnats-adm/gnatsd.host_access", 0xFFBEF950) Err#2 ENOENT open("/usr/local/share/gnats/tt/gnats-adm/dbconfig", O_RDONLY) = 4 fstat64(4, 0xFFBEF1F0) = 0 ioctl(4, TCGETA, 0xFFBEF17C) Err#25 ENOTTY read(4, " # T h i s c o n f i".., 8192) = 8192 open("/usr/local/share/gnats/tt/gnats-adm/categories", O_RDONLY) = 5 fstat64(5, 0xFFBEF258) = 0 brk(0x00069278) = 0 brk(0x0006B278) = 0 ioctl(5, TCGETA, 0xFFBEF1E4) Err#25 ENOTTY read(5, " #\t\t P o s s i".., 8192) = 1040 read(5, 0x0006923C, 8192) = 0 llseek(5, 0, SEEK_CUR) = 1040 close(5) = 0 open("/usr/local/share/gnats/tt/gnats-adm/responsible", O_RDONLY) = 5 fstat64(5, 0xFFBEF258) = 0 brk(0x0006B278) = 0 brk(0x0006CA78) = 0 ioctl(5, TCGETA, 0xFFBEF1E4) Err#25 ENOTTY read(5, " #\n #\t\t P e o p l".., 8192) = 1040 read(5, 0x0006A67C, 8192) = 0 llseek(5, 0, SEEK_CUR) = 1040 close(5) = 0 open("/usr/local/share/gnats/tt/gnats-adm/states", O_RDONLY) = 5 fstat64(5, 0xFFBEF258) = 0 ioctl(5, TCGETA, 0xFFBEF1E4) Err#25 ENOTTY read(5, " #\t\t P o s s i".., 8192) = 3016 read(5, 0x0006A8F4, 8192) = 0 llseek(5, 0, SEEK_CUR) = 3016 close(5) = 0 open("/usr/local/share/gnats/tt/gnats-adm/classes", O_RDONLY) = 5 fstat64(5, 0xFFBEF258) = 0 brk(0x0006CA78) = 0 brk(0x0006DA78) = 0 ioctl(5, TCGETA, 0xFFBEF1E4) Err#25 ENOTTY read(5, " #\t\t P o s s i".., 8192) = 1421 read(5, 0x0006B3CC, 8192) = 0 llseek(5, 0, SEEK_CUR) = 1421 close(5) = 0 open("/usr/local/share/gnats/tt/gnats-adm/submitters", O_RDONLY) = 5 fstat64(5, 0xFFBEF258) = 0 ioctl(5, TCGETA, 0xFFBEF1E4) Err#25 ENOTTY read(5, " #\n #\t\t s u b".., 8192) = 2141 read(5, 0x0006B644, 8192) = 0 llseek(5, 0, SEEK_CUR) = 2141 close(5) = 0 read(4, " u e r y - d e f a u l t".., 8192) = 8192 read(4, "\n #\t }\n\t f o r m a t".., 8192) = 4511 read(4, 0x000671BC, 8192) = 0 ioctl(0, TCGETA, 0xFFBEF264) Err#22 EINVAL llseek(4, 0, SEEK_CUR) = 20895 close(4) = 0 open("/usr/local/share/gnats/tt/gnats-adm/gnatsd.access", O_RDONLY) = 4 fstat64(4, 0xFFBEF8E0) = 0 brk(0x0006DA78) = 0 brk(0x0006F278) = 0 ioctl(4, TCGETA, 0xFFBEF86C) Err#25 ENOTTY read(4, " #\n # ".., 8192) = 1281 read(4, 0x0006CF14, 8192) = 0 llseek(4, 0, SEEK_CUR) = 1281 close(4) = 0 open("/usr/local/etc/gnats/gnatsd.access", O_RDONLY) Err#2 ENOENT write(1, " 2 1 0 - N o w a c c e".., 76) = 76 poll(0xFFBEFB70, 1, 7200000) (sleeping...)