[ic] Interchange crashing when updating order status in admin.

Cameron G ritontor at icenet.com.au
Fri Oct 17 18:33:58 EDT 2003


Here's an interesting one, and I'm at a bit of a loss to explain it so far.
Here's the overview.

When processing orders and updating their status on one of the sites that
run on a particular server, IC crashes - most of the time, but not all of
the time. The other sites on the machine work perfectly. Here's an example
of strace -f -p output that shows where I *think* the child process is
breaking, incriminating details (like the admin username, which is where the
issue may be?) have been changed. Up until this point, both traces appear to
be basically identical...


THE BAD STRACE:

[pid  7000] <... read resumed>
"\5\0\0\0\r\0\0\0\3510\0\0007\0\0\0\2620\0\0D\0\0\0D6\0"..., 4096) = 4096
[pid  6999] <... rt_sigprocmask resumed> [], 8) = 0
[pid  7000] lseek(12, 12288, SEEK_SET <unfinished ...>
[pid  6999] rt_sigprocmask(SIG_BLOCK, NULL,  <unfinished ...>
[pid  7000] <... lseek resumed> )       = 12288
[pid  6999] <... rt_sigprocmask resumed> [], 8) = 0
[pid  7000] read(12,  <unfinished ...>
[pid  6999] rt_sigprocmask(SIG_BLOCK, NULL,  <unfinished ...>
[pid  7000] <... read resumed> "cusername\tpassword\tname\tlast_log"...,
178) = 178
[pid  6999] <... rt_sigprocmask resumed> [], 8) = 0
[pid  7000] lseek(12, 13960, SEEK_SET <unfinished ...>
[pid  6999] rt_sigprocmask(SIG_BLOCK, NULL,  <unfinished ...>
[pid  7000] <... lseek resumed> )       = 13960
[pid  6999] <... rt_sigprocmask resumed> [], 8) = 0
[pid  7000] read(12,  <unfinished ...>
[pid  6999] rt_sigprocmask(SIG_BLOCK, NULL,  <unfinished ...>
[pid  7000] <... read resumed>
"kadmin_usernameadmin_username\t79Vq5hPYORCT"..., 78) = 78
[pid  6999] <... rt_sigprocmask resumed> [], 8) = 0
[pid  7000] rt_sigprocmask(SIG_BLOCK, NULL,  <unfinished ...>
[pid  6999] rt_sigprocmask(SIG_BLOCK, NULL,  <unfinished ...>
[pid  7000] <... rt_sigprocmask resumed> [], 8) = 0
[pid  6999] <... rt_sigprocmask resumed> [], 8) = 0
[pid  7000] brk(0x981a000 <unfinished ...>
[pid  6999] rt_sigprocmask(SIG_BLOCK, NULL,  <unfinished ...>
[pid  7000] <... brk resumed> )         = 0x981a000
[pid  6999] <... rt_sigprocmask resumed> [], 8) = 0
[pid  7000] brk(0x981b000 <unfinished ...>
[pid  6999] rt_sigprocmask(SIG_BLOCK, NULL,  <unfinished ...>
[pid  7000] <... brk resumed> )         = 0x981b000
[pid  6999] <... rt_sigprocmask resumed> [], 8) = 0
[pid  7000] brk(0x981c000 <unfinished ...>
...
[skip a bunch more of these loops]
...
[pid  7000] stat64("/var/lib/interchange/store/products/2ndDayAir.gdbm",
<unfinished ...>
[pid  6999] <... rt_sigprocmask resumed> [], 8) = 0
[pid  7000] <... stat64 resumed> {st_mode=S_IFREG|0600, st_size=22968, ...})
= 0
[pid  6999] rt_sigprocmask(SIG_BLOCK, NULL,  <unfinished ...>
[pid  7000] stat64("/var/lib/interchange/store/products/2ndDayAir.csv",
<unfinished ...>
[pid  6999] <... rt_sigprocmask resumed> [], 8) = 0
[pid  7000] <... stat64 resumed> {st_mode=S_IFREG|0664, st_size=10240, ...})
= 0
[pid  6999] rt_sigprocmask(SIG_BLOCK, NULL,  <unfinished ...>
[pid  7000] stat64("/var/lib/interchange/store/products/2ndDayAir.gdbm",
<unfinished ...>
[pid  6999] <... rt_sigprocmask resumed> [], 8) = 0
[pid  7000] <... stat64 resumed> {st_mode=S_IFREG|0600, st_size=22968, ...})
= 0
[pid  6999] rt_sigprocmask(SIG_BLOCK, NULL,  <unfinished ...>
[pid  7000] open("/var/lib/interchange/store/products/2ndDayAir.gdbm",
O_RDONLY <unfinished ...>
[pid  6999] <... rt_sigprocmask resumed> [], 8) = 0



THE GOOD STRACE:

8158  <... read resumed>
"\5\0\0\0\r\0\0\0\3510\0\0007\0\0\0\2620\0\0D\0\0\0D6\0"..., 4096) = 4096
8157  rt_sigprocmask(SIG_BLOCK, NULL,  <unfinished ...>
8158  lseek(12, 12288, SEEK_SET)        = 12288
8158  read(12, "cusername\tpassword\tname\tlast_log"..., 178) = 178
8158  lseek(12, 13960, SEEK_SET)        = 13960
8158  read(12, "kadmin_usernameadmin_username\tQEkoOC4v57qp"..., 78) = 78
8158  brk(0x981a000)                    = 0x981a000
8158  rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
8158  brk(0x981b000)                    = 0x981b000
8158  brk(0x981c000)                    = 0x981c000
8158  brk(0x981d000)                    = 0x981d000
8158  brk(0x981e000)                    = 0x981e000
8158  brk(0x981f000)                    = 0x981f000
8158  brk(0x9820000)                    = 0x9820000
8158  brk(0x9821000)                    = 0x9821000
8158  brk(0x9822000)                    = 0x9822000
8158  brk(0x9823000)                    = 0x9823000
8158  stat64("/var/lib/interchange/store2/products/2ndDayAir.gdbm",
{st_mode=S_IFREG|0664, st_size=22968, ...}) = 0
8158  stat64("/var/lib/interchange/store2/products/2ndDayAir.csv",
{st_mode=S_IFREG|0664, st_size=10240, ...}) = 0
8158  stat64("/var/lib/interchange/store2/products/2ndDayAir.gdbm",
{st_mode=S_IFREG|0664, st_size=22968, ...}) = 0
8158  open("/var/lib/interchange/store2/products/2ndDayAir.gdbm", O_RDONLY)
= 13
8158  fstat64(13, {st_mode=S_IFREG|0664, st_size=22968, ...}) = 0



I gotta say, I'm not sure what's going on here. Anyone that can assist me in
this totally gets 50 bonus nerd points :)  



More information about the interchange-users mailing list