Have you tried devel mode? It uses compiler flags similar to optimized mode but leaves asserts on too.
Otherwise, I agree with Cody that there may be an uninitialized value that is silently being set to 0 in debug mode but contains garbage in optimized mode. -Ben On Jul 14, 2013, at 7:26 AM, "Cody Permann" <[email protected]> wrote: > Sounds like a memory corruption problem. I know several users that are > experts at writing code like that. > > Unfortunately, it can be difficult to track down on OS X due to a lack > of working memory analysis tools. > 1. Since this problem popped up after you changed your initial > condition, you may just want to start by carefully looking at your > code and thinking about cases where your variables might not be > initialized, or where calculations could potentially produce underflow > or overflow conditions. > 2. If you have access to a Linux box, then you will have bounds > checked STL containers at your disposal in debug mode. You'll also be > able to run your code through valgrind. Both of those operations are > relatively easy to perform. Let us know if you have any questions. > > Cody > > Sent from my iPhone > > On Jul 13, 2013, at 11:17 PM, subramanya sadasiva <[email protected]> wrote: > >> Hi, I am observing some really really really weird SNES behavior in my >> SNESVI code called through Libmesh. This behaviour appeared after I changed >> some initial conditions and only happens in an optimized build. I am running >> this code on a Macbook pro running os x 10.8.. >> When the debug code is run, the residuals computed for the initial >> conditions provided give norms which are of the expected magnitude.. so the >> SNES_Monitor output is, >> solving the cahn hilliard time step 0 SNES Function norm 8.223262421671e-01 >> 1 SNES Function norm 3.793806858333e-03Nonlinear solve did not converge due >> to DIVERGED_MAX_IT iterations 1 >> The output from SNES_Monitor with the optimized code on the other hand is, >> solving the cahn hilliard time step 0 SNES Function norm 5.153882032022e+19 >> 1 SNES Function norm 1.446612980133e+19Nonlinear solve did not converge due >> to DIVERGED_MAX_IT iterations 1 >> >> Absolutely nothing else has changed in the code except that one code is >> built with a debugging and one with an optimized version of the code. >> Any ideas?Subramanya >> ------------------------------------------------------------------------------ >> See everything from the browser to the database with AppDynamics >> Get end-to-end visibility with application monitoring from AppDynamics >> Isolate bottlenecks and diagnose root cause in seconds. >> Start your free trial of AppDynamics Pro today! >> http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk >> _______________________________________________ >> Libmesh-users mailing list >> [email protected] >> https://lists.sourceforge.net/lists/listinfo/libmesh-users > > ------------------------------------------------------------------------------ > See everything from the browser to the database with AppDynamics > Get end-to-end visibility with application monitoring from AppDynamics > Isolate bottlenecks and diagnose root cause in seconds. > Start your free trial of AppDynamics Pro today! > http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk > _______________________________________________ > Libmesh-users mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/libmesh-users ------------------------------------------------------------------------------ See everything from the browser to the database with AppDynamics Get end-to-end visibility with application monitoring from AppDynamics Isolate bottlenecks and diagnose root cause in seconds. Start your free trial of AppDynamics Pro today! http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk _______________________________________________ Libmesh-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libmesh-users
