Bug 48479

GemConnect

2.4, 2.3, 2.2.3, 2.2.2, 2.2.1, 2.2

All Platforms

Uncontinuable error during GemConnect user actions

When using GemConnect in a multi-threaded environment where one or more of the other threads are performing socket operations (for example, while using Seaside), there can be rare failures of threads performing GemConnect user actions with an UncontinuableError (error 6011).  There are a number of different detailed error messages, but these will usually mention: "would cross frame of C primitive, user action, or FFI call"

For example:

   -----------------------------------------------------
   GemStone: Error         Nonfatal
   a UncontinuableError occurred (error 6011), Execution cannot be
   continued, 'return from on:do or rescue block would cross frame of C primitive,
   user action, or FFI call'

These rare errors occur when a socket operation timeout is signaled, and the GemStone VM happens to be executing GemConnect user action code that has made a call-back to GemStone smalltalk.  This is most likely to happen during an #openCursor:* call, but could occur during any GemConnect user action.

Workaround

Repeat the operation. This error is quite rare, and the chance that it would happen twice in quick succession is extremely remote.


                

Last updated: 1/6/20