Some add'l info:
(dbx) stop in ARTermination
dbx: warning: 'ARTermination' has no debugger info -- will trigger on first
instruction
(2) stop in ARTermination
(dbx) rerun
Running: sendrem
(process id 2990)
RTC: Enabling Error Checking...
RTC: Running program...
[EMAIL PROTECTED] ([EMAIL PROTECTED]) stopped in ARTermination at 0xecdd6968
0xecdd6968: ARTermination : save %sp, -120, %sp
Current function is main
31 rtn = ARTermination (&control, &status);
(dbx) showleaks
Checking for memory leaks...
Actual leaks report (actual leaks: 1 total size: 154
bytes)
Total Num of Leaked Allocation call stack
Size Blocks Block
Address
========== ====== =========== =======================================
154 1 0x40388 UNIXInitialization < _pthread_once <
DoARInitialization < ARInitialization < main
Possible leaks report (possible leaks: 0 total size: 0
bytes)
(dbx) print (char *)0x40388
(char *) 0x40388 = 0x40388
"NLSPATH=/a/b/c/usr/SUNWspro/bin/../prod/bin/sparcv9/../../lib/locale/en_US.UTF-8/LC_MESSAGES/%N.cat:/usr/lib/locale//LC_MESSAGES/N"
(dbx) exit
[EMAIL PROTECTED] scratch]$ env |grep NLSPATH
On Fri, Mar 28, 2008 at 1:41 PM, Axton <[EMAIL PROTECTED]> wrote:
> A very simple program (does nothing, really, except create an arcontrol
> struct):
>
> [EMAIL PROTECTED] scratch]$ cat sendrem.c
> #include <string.h>
> #include <ar.h>
> #include <arextern.h>
> #include <arfree.h>
>
> int main
> (
> int argc,
> char *argv[]
> )
> {
> ARControlStruct control;
> ARFieldValueList fieldList;
> AREntryIdType entryId;
> ARStatusList status;
> int rtn;
>
> control.cacheId = 0;
> control.sessionId = 0;
> strncpy (control.server, "remedy", AR_MAX_SERVER_SIZE);
> strncpy (control.user, "Demo", sizeof(ARAccessNameType) - 1);
> strncpy (control.password, "", sizeof(ARPasswordType) - 1);
> strncpy (control.authString, "", AR_MAX_AUTH_SIZE);
> strcpy (control.localeInfo.locale, "");
> strcpy (control.localeInfo.charSet, "");
> strcpy (control.localeInfo.timeZone, "");
> strcpy (control.localeInfo.customDateFormat, "");
> strcpy (control.localeInfo.customTimeFormat, "");
> strcpy (control.localeInfo.separators, "");
>
> rtn = ARInitialization (&control, &status);
> FreeARStatusList(&status, FALSE);
>
> rtn = ARTermination (&control, &status);
> FreeARStatusList(&status, FALSE);
>
> return 0;
> }
>
>
>
> [EMAIL PROTECTED] scratch]$ cat Makefile
> #
> # parameters
>
> PROGRAM = sendrem
> SOURCES = sendrem.c
> OBJECTS = sendrem.o
> RM = /usr/bin/rm -f
>
> #
> # compiler flags
>
> CC = /a/b/c/usr/SUNWspro/bin/cc
> CXX = /a/b/c/usr/SUNWspro/bin/CC
> CFLAGS = -D_REENTRANT -g -DDEBUG -v -Xc -xc99=none -features=extinl
> CPPFLAGS = -I../../../lib/arapi-solaris-701/include -m32
> LDFLAGS = -L../../../lib/arapi-solaris-701/lib
> LDLIBS = -lar -Bdynamic -lnsl -lw -lpthread -ldl
>
> #
> # standard targets
>
> all: $(OBJECTS)
> $(CXX) -o $(PROGRAM) $(OBJECTS) $(LDFLAGS) $(LDLIBS)
>
> clean:
> $(RM) $(PROGRAM) $(OBJECTS) core
>
>
>
>
> Compiles clean:
>
> [EMAIL PROTECTED] scratch]$ make clean
> /usr/bin/rm -f sendrem sendrem.o core
> [EMAIL PROTECTED] scratch]$ make
> /a/b/c/usr/SUNWspro/bin/cc -D_REENTRANT -g -DDEBUG -v -Xc -xc99=none
> -features=extinl -I../../../lib/arapi-solaris-701/include -m32 -c -o
> sendrem.o sendrem.c
> /a/b/c/usr/SUNWspro/bin/CC -o sendrem
> sendrem.o-L../../../lib/arapi-solaris-701/lib -lar -Bdynamic -lnsl -lw
> -lpthread -ldl
>
>
>
> dbx shows a memory leak in ARInitialization:
>
> [EMAIL PROTECTED] scratch]$ dbx sendrem
> For information about new features see `help changes'
> To remove this message, put `dbxenv suppress_startup_message 7.6' in your
> .dbxrc
> Reading sendrem
> Reading ld.so.1
> Reading libumem.so.1
> Reading libar.so
> Reading libnsl.so.1
> Reading libw.so.1
> Reading libpthread.so.1
> Reading libdl.so.1
> Reading libCrun.so.1
> Reading libm.so.1
> Reading libc.so.1
> Reading libicuucbmc.so.32
> Reading libicui18nbmc.so.32
> Reading libicudatabmc.so.32
> Reading libmp.so.2
> Reading libCstd.so.1
> Reading libc_psr.so.1
> Reading libthread.so.1
> Reading libCstd_isa.so.1
> (dbx) check -leaks
> leaks checking - ON
> (dbx) run
> Running: sendrem
> (process id 26476)
> Reading rtcapihook.so
> Reading rtcaudit.so
> Reading libmapmalloc.so.1
> Reading libgen.so.1
> Reading rtcboot.so
> Reading librtc.so
> RTC: Enabling Error Checking...
> RTC: Running program...
> Reading en_US.UTF-8.so.2
> Reading methods_unicode.so.2
> Checking for memory leaks...
>
> Actual leaks report (actual leaks: 1 total size: 154
> bytes)
>
> Total Num of Leaked Allocation call stack
> Size Blocks Block
> Address
> ========== ====== =========== =======================================
> 154 1 0x40450 UNIXInitialization < _pthread_once <
> DoARInitialization < ARInitialization < main
>
>
> Possible leaks report (possible leaks: 0 total size: 0
> bytes)
>
>
>
> execution completed, exit code is 0
>
>
>
>
>
> ARServer is non-existent. Same leak shown with both 7.0.1p6 and 7.1p1 c
> api.
>
> Some special env vars are set:
> LD_PRELOAD=libumem.so.1
> UMEM_DEBUG=default
> UMEM_LOGGING=transaction
>
> Any insight would be appreciated.
>
> OS: SunOS 5.9 Generic_122300-13 sun4u sparc SUNW,Sun-Fire-480R
>
> Thanks,
> Axton Grams
>
_______________________________________________________________________________
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Platinum Sponsor: www.rmsportal.com ARSlist: "Where the Answers Are"