free(): invalid pointer on import pytave

Bug #639687 reported by David Grundberg
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Pytave
Invalid
Undecided
Unassigned

Bug Description

Hello David,
Sorry to bother you, but something awkward happens when I try :
"import pytave "
in Python:
I always get:

free(): invalid pointer: 0xb72e1930

and I never had problems with Octave (3.2.4) or Python (2.6.5 (r265:79063, Jul 5 2010)), gcc 4.5 on OpenSuse 11.3
And the pytave installation went well.

I welcome any help,
(name removed)

Revision history for this message
David Grundberg (individ) wrote :

I need more information. Which revision of Pytave are you running?

The pointer will change between runs because of a feature in the kernel, so the address by itself is useless. I'll need you to make a backtrace, that way I'll be able to help you.

Please run python through gdb. Install the debugging symbols for Python first (there's usually a separate package for that, I don't know the details of Suse).

1. gdb `which python`
2. run
3. import pytave
4. With some luck you get a segfault (you do get a segfault/abort right?). Gdb will then prompt.
5. Write bt full for a backtrace. That listing is most useful in finding the error.

Also make sure that you are running pytave in the same python interpreter that it were linked against.

Revision history for this message
Liviu Vladutu (liviu-vladutu) wrote :

First of all, thanks for the fast reply.
Here are the answers:
A. - I run the latest pytave (from 11th of September);

B. When I do 'run' after (gdb python)
I get :
1) warning: the debug information found in "/usr/lib/debug//lib/libc-2.11.2.so.debug" does not match "/lib/libc.so.6" (CRC mismatch)
and:

2) Missing separate debuginfo for /lib/libc.so.6
Try: zypper install -C "debuginfo(build-id)=f71a3d8772eda244959bac3385b43c719b8ca227"

This latter command, 2) ends with "Nothing to do."

C. After that, import pytave starts with any other error /warning except:
glibc detected *** /usr/bin/python: free(): invalid pointer:

but gdb behaves better (now, it can be interrupted), showing an answer to 'bt' like the attached one.

Thank you in advance.

Revision history for this message
David Grundberg (individ) wrote :

The backtrace is a mess. Somehow something breaks while loading the GNU Octave m-files? During a delete on an octave-base-value object? I don't know where to begin on this one.

Looking at what you got that time before this:
free(): invalid pointer: 0xb72e1930
Hm. 0xb7....? That's a pointer to something dangerously close to the stack. What is it doing inside a free call? Am I missing something?

I'd say try running octave-tip or the testing version. I don't recognize this specific error, but 3.2.4 is 8 months old. Many things have been fixed and I don't remember them all.

Revision history for this message
Liviu Vladutu (liviu-vladutu) wrote :

Indeed, with the new, testing version of octave it works well. Thank you again.

Revision history for this message
David Grundberg (individ) wrote :

Glad to hear you got it working. Happy hacking!

Changed in pytave:
status: Incomplete → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.