Unix Programming - code build with Sun's compiler CC is crashing without the old code

This is Interesting: Free IT Magazines  
Home > Archive > Unix Programming > October 2005 > code build with Sun's compiler CC is crashing without the old code





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author code build with Sun's compiler CC is crashing without the old code
thelinuxguy1997@yahoo.com

2005-10-24, 3:49 pm

Hi All,

I am looking to get some insight from you in a very weird problem that
happens with our code.
Here is the problem description:
1. We have several trees: CAL, TLS, NTLS. TLS is dependent on CAL and
NTLS is dependent on CAL and TLS. Meaning that NTLS uses some
libraries from both CAL and TLS.
2. We are building first CAL then TLS and last NTLS on the same box
using the same compiler (Sun's CC compiler: Sun WorkShop 6 update 2 C++
5.3)
3. All was OK until a few week back when NTLS application started to
crash (at the same place) even if there was no change in NTLS code.
However, TLS code was changed but the TLS application was running ok.
Moreover the code that causes the crash is very old code that has been
reliably working over the last 2 years.

We could not figure out why this is happening. Any ideas?

Thanks in advance for any help.

Silvio

thelinuxguy1997@yahoo.com

2005-10-24, 3:49 pm

Thanks for your quick reply. Here is more information on the issue:
1. By rebuilding the whole three trees (from scratch) used to work;
meaning that NTLS application would not crash anymore. However, since
yestarday we rebuild the three trees as before but the application it
continues to crash at the same place.
2. Here is output from dbx (the application is consistently crashes at
the same location. However, this is very old code that has not been
changed in 2 years):
current thread: t@1
=>[1] memmove()
[2] rdtextend_tcb()
[3] dttofmtasc()
[4]
MiscTimeUtility::convertTimeToStr(dtime,
std::basic_string<char,std::char_traits<char>,std::allocator<char>
> )

[5] MiscTimeUtility::convertTimeToStr(dtime)

[6] SvcOrder::init()
[7] SvcOrder::SvcOrder()
[8] TlsLdSvcOrder::TlsLdSvcOrder()
[9] TlsLdSvcOrderUtility::populateNotificati
onFromOrder(const
int,const TlsLdEnum::RequestType::Enum,OgreError&)
[10] VerifyTlsLdAdd()
[11] TaskProcessor::ProcessTasks()
[12] TaskProcessor::processIncoming(AppMsg*,P
arameterList&)
[13] AbstractServer::go(ParameterList&,int)
[14] AbstractServer::go(int)
[15] main()
(/opt/SUNWspro/bin/../WS6U2/bin/sparcv9/dbx) frame 1
0xfeee05d0: memmove+0x0090: ldd [%o5], %f2
(/opt/SUNWspro/bin/../WS6U2/bin/sparcv9/dbx) frame 2
0xfebbbd88: rdtextend_tcb+0x00e8: call dtunpack
(/opt/SUNWspro/bin/../WS6U2/bin/sparcv9/dbx) frame 3
0xfebd4924: dttofmtasc+0x0134: call _PROCEDURE_LINKAGE_TABLE_+0x75c
[PLT]

3. And here is the piece of code where the application consistently
crashes:
// Rec Time is something we set (the record time)
// Set the last activity time to the current time
dtime_t currentTime;
// Make sure you memset 0 before calling dtcurrent otherwise it
fails
memset(¤tTime,0,sizeof(currentTime));
dtcurrent(¤tTime);
string ret(MiscTimeUtility::convertTimeToStr(_r
ecTime));
if(ret.length() <= 0)
setRecTime(currentTime);

Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com