From: Roy S. <roy...@ic...> - 2007-04-13 20:22:03
|
There was a "char buf[81]" in src/mesh/mesh_data_unv_support.C, which was getting filled by sprintf with 8 integers padded out to ten characters each, one newline character... and a terminating null character. For 82 bytes total. Kaboom. --- Roy |
From: John P. <pet...@cf...> - 2007-04-13 20:27:47
|
There was a bug in ex12? ;-) Roy Stogner writes: > > There was a "char buf[81]" in src/mesh/mesh_data_unv_support.C, which > was getting filled by sprintf with 8 integers padded out to ten > characters each, one newline character... and a terminating null > character. For 82 bytes total. Kaboom. > --- > Roy |
From: Roy S. <roy...@ic...> - 2007-04-13 20:38:11
|
On Fri, 13 Apr 2007, John Peterson wrote: > There was a bug in ex12? > > ;-) Yeah; I'd forgotten about it too. Remember, it started crashing for no apparent reason, it was crashing in METHOD=opt but working in METHOD=dbg so it was nearly impossible to debug, and it turned out that none of the currently active developers use the MeshData class which that example is built around, so we all got lazy and disabled it instead of fixing it. :-P But, while I was fixing the examples/Makefile to link the right targets, I decided to clean it up by making it auto-loop over directories instead of going into each one manually, and I noticed that it was skipping example 12 for some reason. And, because it's Friday afternoon and I don't feel like doing any real work, I dumped a bunch of "std::cout debugging" into the code and fixed it. I'd say that this bugfix is a good omen that we should release 0.6.0-final, but I just mucked up the UniformRefinementEstimator code for Vikram and he hasn't had a chance to test it yet. --- Roy |
From: John P. <pet...@cf...> - 2007-04-13 20:49:28
|
Roy Stogner writes: > On Fri, 13 Apr 2007, John Peterson wrote: > > > There was a bug in ex12? > > > > ;-) > > Yeah; I'd forgotten about it too. Remember, it started crashing for > no apparent reason, it was crashing in METHOD=opt but working in > METHOD=dbg so it was nearly impossible to debug, and it turned out > that none of the currently active developers use the MeshData class > which that example is built around, so we all got lazy and disabled it > instead of fixing it. :-P > > But, while I was fixing the examples/Makefile to link the right > targets, I decided to clean it up by making it auto-loop over > directories instead of going into each one manually, and I noticed > that it was skipping example 12 for some reason. And, because it's > Friday afternoon and I don't feel like doing any real work, I dumped > a bunch of "std::cout debugging" into the code and fixed it. Nice find! One time I tried to get rid of all the static char arrays of fixed arbitrary length that I could find in the library... that is some scary stuff. > I'd say that this bugfix is a good omen that we should release > 0.6.0-final, but I just mucked up the UniformRefinementEstimator code > for Vikram and he hasn't had a chance to test it yet. > --- > Roy |