Search | Synergex.com | Contact Us | Resource Center Login | Home|
News

What does the message "Signal 11 re-signaled" mean?

a) A "Channel not open" error was caught, but then thrown again.
b) An illegal memory access occurred multiple times.
c) A STOP was unable to execute successfully.
d) Congratulations, you're a dead man.

Error #11 is "Channel not open" (a), but that doesn't apply to this message.

Signal 11 comes from the Single Unix Specification header file, signal.h
(link: http://www.opengroup.org/onlinepubs/007908799/xsh/signal.h.html),
where the mnemonic SIGSEGV is defined as 11. SIGSEGV represents an "Invalid memory reference", which is signaled when a program attempts to access an address to which it does not have legal access.

In Synergy/DE, a signal 11 usually gets translated into a "Signal trap, Segmentation violation" runtime error. These kinds of illegal access can occur in Synergy/DE in a number of ways: your code might have used a bad subscript or range that attempted to access memory beyond the scope of your program, for instance. Using the -qcheck compiler option can help locate those bugs.  It can also be caused by third-party components like DLLs and ActiveX controls that aren't well-behaved. A remote third possibility would be a bug in Synergy/DE itself.

If the Synergy/DE runtime catches multiple identical signals in quick succession, then it outputs the "Signal N re-signalled" message and waits for user input.  That's to prevent a stream of repeating signals from causing the runtime to go into a runaway state. Thus, (b) is the correct answer.

Partial credit will be given for answer (c), since one of the most common causes of a signal 11 on Windows is when a STOP occurs while a window that depends on a DLL for its window procedure is still able to process events. The STOP closes the DLL, so when the window attempts to execute its code in response to an event, it's accessing an address that's been released.

The cure for that is to make sure that all third-party windows are destroyed before executing a STOP.

Honorable mention for answer (d), because it can certainly feel that way. Did you get the allusion?


More information about News and Events

Contact Synergex to learn more about  News and Events