From: Roy S. <roy...@ic...> - 2009-03-06 16:20:59
|
On Fri, 6 Mar 2009, Tim Kroeger wrote: > On Thu, 5 Mar 2009, Roy Stogner wrote: > >> This is surprising. What were you calling scale() on? As of now the >> only ghosted vectors are *supposed* to be current_local_solution and kin. > > It was the "solution" vector, not "current_local_solution". I don't know why > it crashed there, but that was reproducible. Perhaps I did something else > wrong. (In earlier times, when I didn't quite understand the difference > between these two vectors, Don't feel bad about that. For my own part, I don't care too much about serial vector memory usage - I'm mostly interested in getting ghosted vectors working because I think the solution / current_local_solution distinction is the second most confusing code in the library, and is the most confusing code that most users have to deal with. The sooner we can completely replace that dichotomy with a single ghosted solution vector, the better. > I think I sometimes cross-assigned one of them to the other in a > different system. Perhaps such an assignment still exists somewhere > hidden in my code.) That could be a serious problem, yes. But wouldn't we be catching that with a libmesh_assert()? The preconditions on operator= in petsc_vector.C seem pretty thorough. > I'm still working on the track-down. The problem is that the application > runs for more than 2 hours before it crashes, and I couldn't find a > possibility to let it crash earlier. I hope your app has restart file capabilities! > In particular, I noticed that the grid > is successfully refined two or three times before the crash. But I won't > capitulate. Thanks! >> On the other hand, here's something even more odd: I just realized >> that I'm not properly matching the ghosted vector init() function >> signature. The compiler must be deciding to convert GHOSTED to true >> and then using the default AUTOMATIC for the fifth argument? That >> wouldn't explain any crashes, but if we're fast-initializing vectors >> we should be clearing, that might explain your slightly-off residuals. >> I'll fix it in SVN. > > Did you fix that? "svn log" doesn't show anything from you later than > 2009-03-04. Whoops! Fixed it, got distracted by other work, forgot to commit the fix. I'll put in that (and your patch, which still looks good) today. --- Roy |