2012-02-29
| ||
14:55 | • Closed ticket [8a426d12eb]: delegates marked with UnmanagedFunctionPointer (i.e. called from native code) must not throw exceptions plus 2 other changes artifact: 2ec39c6405 user: mistachkin | |
2012-02-19
| ||
13:31 | Merge fix for ticket [8a426d12eb] along with logging and DateTime handling enhancements to trunk. check-in: c3bb6c2582 user: mistachkin tags: trunk | |
13:20 | • Ticket [8a426d12eb] delegates marked with UnmanagedFunctionPointer (i.e. called from native code) must not throw exceptions status still Open with 2 other changes artifact: d499f54003 user: mistachkin | |
08:11 | Make sure that exceptions are never thrown back to native code from user-provided function and collation implementations. Also, log all such caught callback exceptions if the appropriate connection flag is set. Fix for ticket [8a426d12eb]. Pass connection flags into SQLiteFunction binding method and refactor internal interfaces to support this. Change type of _contextDataList (SQLiteFunction) dictionary keys from long to IntPtr. check-in: 6136a92dc5 user: mistachkin tags: logBind | |
04:51 | • Ticket [8a426d12eb] delegates marked with UnmanagedFunctionPointer (i.e. called from native code) must not throw exceptions status still Open with 1 other change artifact: 4bd528bd34 user: mistachkin | |
04:50 | • Ticket [8a426d12eb]: 1 change artifact: c935f2a3b2 user: mistachkin | |
04:50 | • Ticket [8a426d12eb]: 4 changes artifact: f57d4d4d2a user: mistachkin | |
04:49 | • New ticket [8a426d12eb]. artifact: 525d14b8b4 user: mistachkin | |
Ticket Hash: | 8a426d12eb2a1fa69ebda7c09623298fa8473679 | ||
Title: | delegates marked with UnmanagedFunctionPointer (i.e. called from native code) must not throw exceptions | ||
Status: | Closed | Type: | Code_Defect |
Severity: | Critical | Priority: | NextRelease |
Subsystem: | Integration_Via_PInvoke | Resolution: | Fixed |
Last Modified: | 2012-02-29 14:55:38 | ||
Version Found In: | 1.0.79.0 |
Description: | ||||
Managed code used in a delegate exposed to native code cannot throw exceptions without resulting in undefined behavior, see: Implications of throwing exception in delegate of unmanaged callback The potential solution is to wrap all calls into any user-provided [managed] code in try/catch blocks and then simply log any thrown exceptions instead of letting them escape back to native code. mistachkin added on 2012-02-19 13:20:03 UTC: |