purify and python
Ralph Heinkel
heinkel at dummy.embl-heidelberg.de
Mon Jan 10 06:55:07 EST 2000
ok, after further playing around with it, I recompiled python without
threads. Magically that helped and python is now running correctly.
Strange, but it works.
Ralph
Ralph Heinkel <heinkel at dummy.embl-heidelberg.de> wrote:
> Hi,
> since I wrote some C, C++, and F77 extensions for python, I am planning
> to use purify to test them for memory leaks and so on.
> The problem is that I cannot get a purified version of python running.
> Python seems to start and immediately exit with error code -1 (255),
> without printing any error message (See below for log). I never get
> to the python command line.
> The way I linked python is shown below. Linking python without purify
> (without any other recompilation) produces a working python version.
> Any clue?
> I am running python 1.5.2 on IRIX 6.5 (R10000) with purify 4.1. Python
> was configure with --with-thread and --without-gcc
> Ralph
> ---------------------------------------------------------------------
> Modules/Setup is:
> # Pure module. Cannot be linked dynamically.
> # -DWITH_QUANTIFY, -DWITH_PURIFY, or -DWITH_ALL_PURE
> WHICH_PURE_PRODUCTS=-DWITH_PURIFY
> PURE_INCLS=-I/usr/pure/purify
> PURE_STUBLIBS=-L/usr/pure/purify -lpurify_stubs -lquantify_stubs
> pure puremodule.c $(WHICH_PURE_PRODUCTS) $(PURE_INCLS) $(PURE_STUBLIBS)
> The (python) modules are linked statically, i.e. *shared* not used
> This is how I linked it:
> birdie:src/Python-1.5.2/Modules$ purify -windows=no cc -g python.o \
> ../libpython1.5.a -DWITH_PURIFY -I/usr/pure/purify -L/usr/pure/purify \
> -lpurify_stubs_n32 -lpthread -lmpc -lm -o python
> ld32: WARNING 84: /usr/lib32/mips4/libmpc.a is not used for resolving
> any symbol.
> Purify 4.1 IRIX6, Copyright (C) 1992-1997 Rational Software Corp. All
> rights reserved.
> .... Processing "/usr/pure/purify/libpurify_stubs_n32.so"
> .... Processing "/usr/lib32/libpthread.so"
> .... Processing "/usr/lib32/libm.so"
> .... Processing "/usr/lib32/libc.so.1"
> .... Processing "python"
> This is the output:
> birdie:src/Python-1.5.2/Modules$ ./python
> **** Purify instrumented ./python (pid 63792545 at Mon Jan 10 11:48:44 2000)
> * Purify 4.1 IRIX6, Copyright (C) 1992-1997 Rational Software Corp.
> All rights reserved.
> * For contact information type: "purify -help"
> * Command-line: ./python
> * Options settings: -purify -windows=no -purify-home=/usr/pure/purify
> * Purify licensed to European Molecular Biology La
> * Purify checking enabled.
> **** Purify instrumented ./python (pid 63792545) ****
> Current file descriptors in use: 5
> FIU: file descriptor 0: <stdin>
> FIU: file descriptor 1: <stdout>
> FIU: file descriptor 2: <stderr>
> FIU: file descriptor 26: <reserved for Purify internal use>
> FIU: file descriptor 27: <reserved for Purify internal use>
> **** Purify instrumented ./python (pid 63792545) ****
> Purify: Searching for all memory leaks...
> **** Purify instrumented ./python (pid 63792545) ****
> SIG: Signal handled:
> * This is occurring while in:
> _x_open [open.s:16]
> _exit [syscalls.c:5478]
> exit_certain [fork.c:202]
> _SGIPT_libc_exit [fork.c:253]
> ptctl [libcthread.c:149]
> __exit [cuexit.c:60]
> * Received signal 48 (SIGReserved48 - System reserved signal 48)
> * Handler function:
> sched_handler [vp.c:243]
> * Signal mask: (SIGReserved48)
> * Pending signals:
> Memory leaked: 0 bytes (0%); potentially leaked: 2048 bytes (1.12%)
> PLK: 2048 bytes potentially leaked at 0x1010c558
> * This memory was allocated from:
> _malloc [malloc.c:886]
> vp_alloc [vp.c:1214]
> Purify Heap Analysis (combining suppressed and unsuppressed blocks)
> Blocks Bytes
> Leaked 0 0
> Potentially Leaked 1 2048
> In-Use 4 180236
> ----------------------------------------
> Total Allocated 5 182284
> **** Purify instrumented ./python (pid 63792545) ****
> * Program exited with status code -1.
> * 1 access error, 1 total occurrence.
> * 0 bytes leaked.
> * 2048 bytes potentially leaked.
> * Basic memory usage (including Purify overhead):
> 2179072 code
> 169108 data/bss
> 195436 heap (peak use)
> 4960 stack
> * Shared library memory usage (including Purify overhead):
> 425984 rtlib_n32.so (shared code)
> 57812 rtlib_n32.so (private data)
> 16384 libpurify_stubs_n32.so.pure (shared code)
> 160 libpurify_stubs_n32.so.pure (private data)
> 212992 libpthread.so.pure.1b7a5a8a8 (shared code)
> 3680 libpthread.so.pure.1b7a5a8a8 (private data)
> 475136 libm.so.pure.18462ee2e (shared code)
> 95696 libm.so.pure.18462ee2e (private data)
> 2883584 libc.so.1.pure.9f4e4221 (shared code)
> 70640 libc.so.1.pure.9f4e4221 (private data)
> * Memory mapped usage:
> 49152 mmap'd at 0x4888000
> 1425408 mmap'd at 0x48c8000
> 262144 mmap'd at 0x4714000
> 49152 mmap'd at 0x4020000
> 4259840 mmap'd at 0x42f4000
> 20480 mmap'd at 0x48b0000
> --
> ------------------------------------------------------
> Ralph Heinkel
> European Molecular Biology Laboratory (EMBL)
> Meyerhofstr. 1
> 69012 Heidelberg
> Tel. +49 6221/387 529
> eMail: heinkel at embl-heidelberg.de
--
------------------------------------------------------
Ralph Heinkel
European Molecular Biology Laboratory (EMBL)
Meyerhofstr. 1
69012 Heidelberg
Tel. +49 6221/387 529
eMail: heinkel at embl-heidelberg.de
More information about the Python-list
mailing list