> Can you provide a test case that makes it happen? I'm prepared to
> believe there's a bug here, but the simple fact of the error message
> is certainly not enough to find the bug :-(
Thanks, Tom. I didn't intend for this to be a bug report (if I had, I'd
have sent it to the bugs list instead.) I just wanted to know if others had
ideas. Looks like I'll try to get these memory checks in place, and then
see what happens.
I have been trying to get a test case put together. Unfortunately, I
haven't been able to do so. On our production systems, it generally takes
about three days of hitting the database pretty hard for this to turn up
once... and I don't have anything close to the production system available
for testing. I think it will be difficult to reproduce the problem in a
reasonable length of time.
I have put together an application that generates about the same
distribution of sizes for the bytea field, and does a continual series of
insert/read sequences to ensure that they show up right... that's making an
assumption, though, that the record is getting corrupted right from the
get-go, rather than by other actions later on; perhaps a bad one, so I'm
thinking of rewriting it to have a thread do inserts, and another keep
randomly reading the inserted fields out of order. Maybe that will make it
more reproducable.
I also have obtained permission to shut down a production system tonight and
leave my test app running overnight, with actual production traffic pointing
to the failover server. That would provide extra data for diagnosing as a
hardware issue (if I can reproduce easily on production but not at all
elsewhere, for example) and give a more powerful machine, which would allow
more testing to happen in less time. I'll let you know if I turn up
anything that looks suspicious by tomorrow morning.
--
www.designacourse.com
The Easiest Way to Train Anyone... Anywhere.
Chris Smith - Lead Software Developer/Technical Trainer
MindIQ Corporation