As Selva mentions, we want to , as part of error handling , sometimes want to create core dump within Traf code for certain conditions wehre we current assert and return with no information. We sometimes simply cannot debug without a corefile expecially for some extremem and unusual error conditions. For these, Trafodion seabaed layer provides this API msg_mon_dump_process_name(). This is different from the cases where the process aborts and dies.
So the suggestion from Hans/Gunnar is that we follow the same pattern as set by proc/sys/kernel/core_pattern file for these cases as well that will. be used mainly by us for debugging . I think that sounds fine to me. Today it creates them usually on the current directory and that has to change. Sandhya -----Original Message----- From: Hans Zeller [mailto:[email protected]] Sent: Thursday, November 12, 2015 4:43 PM To: dev <[email protected]> Subject: Re: Trafodion and core file location ? Here are some recommendations that I think many of us adopted over the years: - Include process name, pid, user in the core file name. - Collect all the cores in a single directory or directory tree (at least on production systems). - Consider mounting a separate disk partition for that directory tree, so that cores can't fill up the main disk and bring down the system. - As Gunnar and Selva mentioned, the rules for core file names and directories should be established in /proc/sys, not in our code. Hans On Thu, Nov 12, 2015 at 4:37 PM, Selva Govindarajan < [email protected]> wrote: > When an application dumps core by issuing abort() or > exit(non_zero_value), the core location is usually determined by > /proc/sys/kernel/core_pattern. > When Trafodion engine explicitly dump core for certain conditions like > dumping ssmp core before bringing down the node, we might be able to > control the location. Ideally, we would want these dumps also to > conform to core_pattern, but might be bit involved to do that. We > might have chosen an easy route to dump the core at some location. > > Selva > > -----Original Message----- > From: Dave Birdsall [mailto:[email protected]] > Sent: Thursday, November 12, 2015 4:21 PM > To: [email protected] > Subject: RE: Trafodion and core file location ? > > Hi, > > So, with the current situation, where do core files land? I sometimes > see them in $MY_SQROOT/sql/scripts, and I've also seen them in > directories where I was running sqlci. Is this the norm for the > current situation? > > Yes, I think it would be great to have a knob to place them where we > want them. Would be easier to find. And ultimately easier to manage > both from a user perspective and a support perspective. > > Dave > > -----Original Message----- > From: Sandhya Sundaresan [mailto:[email protected]] > Sent: Thursday, November 12, 2015 4:05 PM > To: [email protected] > Subject: Trafodion and core file location ? > > Hi , > > Has anyone thought of a standard location for trafodion core files to > reside ? There is a programmatic interface we currently have to > create a core file if needed. Today it doesn’t take a location param . > I was going to change it to allow a location to be specified. > Specifying a location for the core files we create may good so we > taking up space have a way of not inadvertently where we shouldn’t be. > > Today it just puts it on ‘pwd’ i.e current directory. > > We could have an envvar to specify a location for all core files > with current dir being the default. > > Any thoughts on this topic ? > > Thanks > > Sandhya >
