Bug 152022

Summary: subw $0x28, %%sp causes assertion failure in memcheck
Product: [Developer tools] valgrind Reporter: Dan Kegel <dank>
Component: memcheckAssignee: Julian Seward <jseward>
Status: RESOLVED FIXED    
Severity: normal CC: bugs-kde
Priority: NOR    
Version: 3.2.3   
Target Milestone: ---   
Platform: Unlisted Binaries   
OS: Linux   
Latest Commit: Version Fixed In:

Description Dan Kegel 2007-11-08 19:24:51 UTC
As discussed on valgrind-users in the thread
http://comments.gmane.org/gmane.comp.debugging.valgrind/7535
valgrinding Wine running a large win32 app (Picasa) fails with the message

vex: priv/host-x86/isel.c:510 (doHelperCall): Assertion
`typeOfIRExpr(env->type_env, args[i]) == Ity_I32' failed.

You can reproduce this by valgrinding the trivial C program

int main ( void ) {
 __asm__ __volatile__( "subw $0x28, %%sp\n"
                       "movl $0, 0(%%esp)\n"
                       "addw $0x28, %%sp" : : : "memory" );
}
Comment 1 Dan Kegel 2007-11-08 19:27:24 UTC
Julian said "It's a bug in vg_SP_update_pass in coregrind/m_translate.c."
Comment 2 Julian Seward 2007-11-11 20:03:03 UTC
Fixed (on the trunk) r7147.  Please verify.
Comment 3 bugs-kde 2007-11-20 23:25:32 UTC
I too was trying to debug Picasa.exe running under wine with valgrind-1:3.2.1-1ubuntu2 that ships with Ubuntu Feisty Fawn and it ended with the same assertion.

I can confirm that with r7147 this crash isn't present anymore in such context.
Comment 4 Tom Hughes 2007-12-06 01:04:31 UTC
This sounds like it is confirmed as fixed then.