[CDBI] EAGAIN loop

[prev] [thread] [next] [Date index for 2006/02/23]

From: Dave Howorth
Subject: [CDBI] EAGAIN loop
Date: 16:04 on 23 Feb 2006
I've got a weird problem - I don't begin to know what's happening and 
wonder if anybody has seen anything like this before?

I'm running a script that uses Class::DBI to access a MySQL database. 
When I run it after a few minutes it goes into a loop. Up to that point 
it seems to be behaving normally and printing progress information etc. 
The point at which it starts looping is different each time (i.e. 
apparently no dependence on my data). An strace shows it is trying to 
access the database (on another machine) and getting repeated EAGAIN 
errors. Here's a sample:

write(4, "q\0\0\0\3SELECT id\nFROM   identifier"..., 117) = 117
read(4, "\1\0\0\1", 4)                  = 4
read(4, "\1", 1)                        = 1
read(4, "\31\0\0\2", 4)                 = 4
read(4, "\videntifiers\2id\3\n\0\0\1\3\3#B\0", 25) = 25
read(4, "\1\0\0\3", 4)                  = 4
read(4, "\376", 1)                      = 1
read(4, "\10\0\0\4", 4)                 = 4
read(4, "\0072057736", 8)               = 8
read(4, "\1\0\0\5", 4)                  = 4
read(4, "\376", 1)                      = 1
fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
read(4, 0x8b1cae0, 8192)                = -1 EAGAIN (Resource 
temporarily unavailable)
fcntl64(4, F_SETFL, O_RDWR)             = 0
write(4, "\1\0\0\0\16", 5)              = 5
read(4, "\5\0\0\1", 4)                  = 4
read(4, "\0\0\0\2\0", 5)                = 5
fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
read(4, 0x8b1cae0, 8192)                = -1 EAGAIN (Resource 
temporarily unavailable)
fcntl64(4, F_SETFL, O_RDWR)             = 0
write(4, "6\0\0\0\3SELECT symbol\nFROM   identi"..., 58) = 58
read(4, "\1\0\0\1", 4)                  = 4
read(4, "\1", 1)                        = 1
read(4, "\35\0\0\2", 4)                 = 4
read(4, "\videntifiers\6symbol\3(\0\0\1\375\3\211@\0", 29) = 29
read(4, "\1\0\0\3", 4)                  = 4
read(4, "\376", 1)                      = 1
read(4, "\7\0\0\4", 4)                  = 4
read(4, "\6P01952", 7)                  = 7
read(4, "\1\0\0\5", 4)                  = 4
read(4, "\376", 1)                      = 1
fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
read(4, 0x8b1cae0, 8192)                = -1 EAGAIN (Resource 
temporarily unavailable)
fcntl64(4, F_SETFL, O_RDWR)             = 0
write(4, "\1\0\0\0\16", 5)              = 5
read(4, "\5\0\0\1", 4)                  = 4
read(4, "\0\0\0\2\0", 5)                = 5
fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
read(4, 0x8b1cae0, 8192)                = -1 EAGAIN (Resource 
temporarily unavailable)
fcntl64(4, F_SETFL, O_RDWR)             = 0

The database is still usable from other processes on the m/c that's 
running the script so there's apparently no problem with the database or 
connections to it.

Anybody have any ideas where to look next?

Thanks, Dave

_______________________________________________
ClassDBI mailing list
ClassDBI@xxxxx.xxxxxxxxxxxxxxxx.xxx
http://lists.digitalcraftsmen.net/mailman/listinfo/classdbi

[CDBI] EAGAIN loop
Dave Howorth 16:04 on 23 Feb 2006

Re: [CDBI] EAGAIN loop
Matt S Trout 16:39 on 23 Feb 2006

Generated at 12:31 on 28 Feb 2006 by mariachi v0.52