Ticket #791 (closed bug: wontfix)

Opened 5 years ago

Last modified 4 years ago

Crash on PBC execution under Windows Server 2003

Reported by: mvuets Owned by:
Priority: major Milestone:
Component: core Version: 1.3.0
Severity: high Keywords: windows, win32, w2k3, crash
Cc: jkeenan Language:
Patch status: Platform: win32

Description

The crash happens on Rakudo, abc and several other languages. I'll show an example with abc.pbc.

If i pass a source file---parrot just silently finishes.

C:\Parrot-1.3.0\bin>echo 1+2 >test.bc
C:\Parrot-1.3.0\bin>parrot.exe ..\lib\parrot\languages\abc\abc.pbc test.bc
C:\Parrot-1.3.0\bin>

If i enter a code interactively---parrot crashes.

C:\Parrot-1.3.0\bin>parrot.exe ..\lib\parrot\languages\abc\abc.pbc
> 1+2
parrot.exe - Application Error
---------------------------
The instruction at "0x00deca68" referenced memory at "0x00deca68". The memory could not be "written".

Callstack:

>	00deca68()	
 	libparrot.dll!687bb86e() 	
 	[Frames below may be incorrect and/or missing, no symbols loaded for libparrot.dll]	
 	libparrot.dll!68685252() 	
 	libparrot.dll!6870e9e0() 	
 	libparrot.dll!6870e2e9() 	
 	libparrot.dll!686d665b() 	
 	libparrot.dll!686d6789() 	
 	ntdll.dll!7c82a11c() 	
 	msvcrt.dll!77bbd08c() 	
 	libparrot.dll!686d6e98() 	
 	libparrot.dll!686c3aa6() 	
 	libparrot.dll!68709ce6() 	
 	libparrot.dll!68849e17() 	
 	ntdll.dll!7c82a11c() 	
 	parrot.exe!00401392() 	
 	parrot.exe!004010b6() 	
 	parrot.exe!00401148() 	
 	kernel32.dll!77e6f23b() 	

Binary Parrot was taken from  http://sourceforge.net/project/platformdownload.php?group_id=211372.

Some OS details that may be useful:

OS Name:                   Microsoft(R) Windows(R) Server 2003, Enterprise Edition
OS Version:                5.2.3790 Service Pack 2 Build 3790
System Type:               X86-based PC
Processor(s):              2 Processor(s) Installed.
                           [01]: x86 Family 15 Model 4 Stepping 3 GenuineIntel ~2997 Mhz
                           [02]: x86 Family 15 Model 4 Stepping 3 GenuineIntel ~2997 Mhz

Change History

Changed 5 years ago by mvuets

I believe i know a reason of the crash. I don't know how Parrot works in fact, so my assumption is that it translates PBC into native instructions (JIT) and places given code into RAM, then it executes it directly from RAM. It is data execution and it may be disabled on Windows (called DEP) to prevent of exploits.

I just disabled DEP and now Parrot works normally. This information must be added to some README or FAQ.

See  KB 875352 and  KB 912923 for details about DEP.

Changed 5 years ago by jkeenan

  • component changed from none to hll_interop

Changed 4 years ago by jkeenan

  • cc jkeenan added
  • component changed from hll_interop to core

Is there anyone who can provide an update on this ticket?

If not, I'm inclined to close it as WONTFIX because I don't think we have a commitment to support seven-year-old Windows server technology. (Anyone who wants to overrule me should take the ticket!)

Thank you very much.

kid51

Changed 4 years ago by cotto

  • status changed from new to closed
  • resolution set to wontfix

I'd like to support Windows Server 2003 if possible, but we'd need someone who could (at least) regularly test on it. Until we find such a person, I don't feel bad marking this ticket as wontfix.

Note: See TracTickets for help on using tickets.