fputs in tp_print crashes under Win32

P

Petr Gotthard

Hello,
my C++ extension crashes under Win32 when the tp_print is called.

It crashes with both Python 2.5.2 and 2.6. The crash occurs in
system32\ntdll.dll, with exception code 0xc0000005.

I found out that this works fine:

int ulonghandle_print(RtiULongHandleObject *v, FILE *fp, int flags)
{
fputc('c', stdout);
return 0;
}

But this causes the error:

int ulonghandle_print(RtiULongHandleObject *v, FILE *fp, int flags)
{
fputc('c', fp); // <-- "fp" instead of "stdout"
return 0;
}

It occurs under Windows (XP SP2) only. Under Linux everything works
fine.


Do you have any idea what could be wrong?

Thanks,
Petr
 
G

Gabriel Genellina

En Wed, 12 Nov 2008 08:58:05 -0200, Petr Gotthard
Hello,
my C++ extension crashes under Win32 when the tp_print is called.

It crashes with both Python 2.5.2 and 2.6. The crash occurs in
system32\ntdll.dll, with exception code 0xc0000005.

I found out that this works fine:

int ulonghandle_print(RtiULongHandleObject *v, FILE *fp, int flags)
{
fputc('c', stdout);
return 0;
}

But this causes the error:

int ulonghandle_print(RtiULongHandleObject *v, FILE *fp, int flags)
{
fputc('c', fp); // <-- "fp" instead of "stdout"
return 0;
}

It occurs under Windows (XP SP2) only. Under Linux everything works
fine.

Short answer: compile your extension with the *same* compiler used to
compile Python itself: Visual Studio 2008 for 2.6, Visual Studio .NET 2003
for 2.5
For the long answer search http://wiki.python.org/moin/
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,054
Latest member
TrimKetoBoost

Latest Threads

Top