patchDotGNU Portable.NET - Patches: patch #3062, ...

 
 

You are not allowed to post comments on this tracker with your current authentication level.

patch #3062: verify_except.c::OutputExceptionTable: correct, pedantic, rewrite

Submitter:  Richard Baumann <Rich333>
Submitted:  Fri 14 May 2004 05:41:44 PM UTC
   
 
Category:  None Priority:  5 - Normal
Status:  Wont Do Privacy:  Public
Assigned to:  None Open/Closed:  Closed

Sun 23 May 2004 02:36:24 PM UTC, comment #3: 

The previous patch #3059 obsoletes this.

Rhys has said that looks simpler and no obvious problems.

Gopal.V <t3rmin4t0r>
Group administrator
Sun 23 May 2004 02:33:10 AM UTC, comment #2: 

Ok, I think I know why it's doing it.  Your "if !isNested" test throws to the calling method if the handler isn't nested but it allows the code to fall off the edge of the exception table if it is nested (meaning it starts executing the wrong code with rubbish data on the stack).  That is why it generates random SEGFAULTS.

Thong Nguyen <tum>
Group Member
Sun 23 May 2004 02:15:29 AM UTC, comment #1: 

SEGVs on the following (not sure why):

using System;
using System.Threading;

public class A
{
public static void Run()
{
try
{
try
{
throw new Exception();
}
catch (Exception)
{
try
{
throw new Exception();
}
catch(ApplicationException)
{
}
}
}
catch (Exception)
{
}

}

public static void Main()
{
Run();
}
}

Thong Nguyen <tum>
Group Member
Fri 14 May 2004 05:41:44 PM UTC, original submission:  

This patch to verify_except.c rips out the old exception table generation code and replaces it with a correct (and pedantic wrt proper input) version. There are still some TODO items in it, but it should serve well as a base for the final fix to the nested try/catch bug. It should also help avoid any other gotchas later since it's a lot easier to read and compare to the spec.

Richard Baumann <Rich333>
Group Member

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attached Files
file #7446:  OutputExceptionTable.patch added by Rich333 (6KiB - text/x-patch - Rewrite of OutputExceptionTable in pnet/engine/verify_except.c.)

 

Depends on the following items: None found

Items that depend on this one: None found

 

CC list is empty

 

There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

 

Follow 3 latest changes.

Date Changed by Updated Field Previous Value => Replaced by
2004-05-23 t3rmin4t0r StatusNone Wont Do
    Open/ClosedOpen Closed
2004-05-14 Rich333 Attached File- Added OutputExceptionTable.patch, #3261

Back to the top

Powered by Savane 3.13-d3ae.
Corresponding source code