[Sorry for TOFU] I found and fixed the error. (Scintilla crash) Remove the line with #define PERL_GET_NO_CONTEXT at the top of Scintilla.xs
The reason why you cannot reproduce it, it because MSVC obviously is compiled with PERL_OBJECT (see GUI.h for the perlud struct), Without PERL_OBJECT you may not change the setting of PERL_GET_NO_CONTEXT to the one in GUI.xs. Otherwise you are accessing the struct with and without the my_perl field, causing Scintilla to crash. It was not the stack corrupt, just perlud. When I got a decent internet connection tomorrow I'll post my full patch with added testcase which catches this problem. 2008/1/7, Jeremy White <[EMAIL PROTECTED]>: > > I can't seem to reproduce: > > perl-5.8.8.822 on Vista > perl-5.8.7.813 on XP SP2 > > Running but the demos.pl and Editor.pl with Win32-GUI-1.05. Do you need to do > anything special? > > > > > Date: Sun, 6 Jan 2008 21:21:59 -0600 > > From: [EMAIL PROTECTED] > > To: [EMAIL PROTECTED] > > Subject: [perl-win32-gui-hackers] Scintilla crashes at DoEvent_Scintilla > > > > cygwin, though I don't believe it is related. > > perl-5.8.8 and perl-5.10.0 > > Win32-GUI-1.05 > > > > scripts\win32-gui-demos.pl and Win32-GUI-Scintilla\demos\Editor.pl > > crash. The first after starting an app, the 2nd immediately. > > This came from the cygwin list, with Vista, but I and others can reproduce > > it with XP2. Looks like an Scintilla.xs problem. > > > > Backtrace: > > > > $ gdb perl > > GNU gdb 6.5.50.20060706-cvs (cygwin-special) > > Copyright (C) 2006 Free Software Foundation, Inc. > > GDB is free software, covered by the GNU General Public License, and you are > > welcome to change it and/or distribute copies of it under certain > > conditions. > > Type "show copying" to see the conditions. > > There is absolutely no warranty for GDB. Type "show warranty" for details. > > This GDB was configured as "i686-pc-cygwin"... > > (gdb) run Editor.pl > > Starting program: /usr/bin/perl.exe Editor.pl > > Loaded symbols for /cygdrive/c/WINDOWS/system32/ntdll.dll > > Loaded symbols for /cygdrive/c/WINDOWS/system32/kernel32.dll > > Loaded symbols for /usr/bin/cygwin1.dll > > Loaded symbols for /cygdrive/c/WINDOWS/system32/advapi32.dll > > Loaded symbols for /cygdrive/c/WINDOWS/system32/rpcrt4.dll > > Loaded symbols for /cygdrive/c/WINDOWS/system32/secur32.dll > > Loaded symbols for /usr/bin/cygperl5_10.dll > > Loaded symbols for /usr/bin/cygcrypt-0.dll > > > > Program received signal SIGSEGV, Segmentation fault. > > 0x67503375 in Perl_gv_fetchpvn_flags (my_perl=0x17700e8, > > nambeg=0xc5c17c "main::or_Notify", full_len=15, flags=0, > > sv_type=13) at gv.c:909 > > 909 if (!stash || !SvREFCNT(stash)) /* symbol table > > under destruction */ > > (gdb) bt > > #0 0x67503375 in Perl_gv_fetchpvn_flags (my_perl=0x17700e8, > > nambeg=0xc5c17c "main::or_Notify", full_len=15, flags=0, > > sv_type=13) at gv.c:909 > > #1 0x6758dd2d in Perl_get_cvn_flags (my_perl=0x17700e8, name=0xc5c17c > > "main::or_Notify", len=15, flags=0) > > at perl.c:2479 > > #2 0x6758de63 in Perl_get_cv (my_perl=0x17700e8, name=0xc5c17c > > "main::or_Notify", flags=0) at perl.c:2498 > > #3 0x6d541270 in DoEvent_Scintilla (my_perl=0x17700e8, Name=0xc5c17c > > "main::or_Notify", code=2007, evt=0xc5c3bc) > > at Scintilla.xs:67 > > #4 0x6d54286d in CallWndProc (nCode=0, wParam=0, lParam=12960480) at > > Scintilla.xs:213 > > #5 0x7e4318e3 in UnhookWinEvent () > > #6 0x00000000 in ?? () > > (gdb) x stash > > 0x1: Cannot access memory at address 0x1 > > (gdb) > > > > Reason: Someone is overwriting the stash with 1, > > and the perlud name is also wrong. > > It should be "Editor", not "or" > > So I believe the stack is corrupt at all. -- Reini Urban http://phpwiki.org/ http://murbreak.at/ http://spacemovie.mur.at/ http://helsinki.at/ ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace _______________________________________________ Perl-Win32-GUI-Users mailing list Perl-Win32-GUI-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/perl-win32-gui-users http://perl-win32-gui.sourceforge.net/