Skip Menu |
 

Subject: assertion failure (possible memory corruption) when restarting putty session
asedeno reports:
Start a (GSSAPI-authed) connection in PuTTY, pull the network connection so the putty
session drops, reenable network, and right-click the title bar to restart the connection.
Then, observe the "Assertion failed!" dialog box:

Program: C:\Users\zonetest\desktop\putty.exe
File: .\threads.c
Line: 337

Expression: destructors_set[keynum]==0

For more information on how your program can cause an assertion failure, see the Visual
C++ documentation on asserts.

(Press Retry to debug the application -- JIT must be enabled)
Abort/Retry/Ignore


When using the signed beta9 KfW, attaching visual studio and looking at the stack trace
seemed to implicate the gssapi32 library; however, doing a rebuild with debugging symbols
changes the stack trace so that our library is no longer included...
From: kaduk@MIT.EDU
Subject: SVN Commit

Unregister error message key on library unload

Revision fcdd2de1 added the K5_KEY_GSS_KRB5_ERROR_MESSAGE key, and
registered it in the gssapi library initialization routine, but
did not unregister it in the libary finalization routine.
When the library is unloaded and reloaded in the same process,
this leads to an assertion failure, since we check that
destructors_set[keynum] is zero (no destructor set) when registering
a key in util/support/threads.c.
Unregister the key on library cleanup to resolve the error.

https://github.com/krb5/krb5/commit/4ab584c830024757cc628b1783dde6220a9fec6d
Author: Ben Kaduk <kaduk@mit.edu>
Commit: 4ab584c830024757cc628b1783dde6220a9fec6d
Branch: master
src/lib/gssapi/krb5/gssapi_krb5.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
From: tlyu@mit.edu
Subject: SVN Commit

Unregister error message key on library unload

Revision fcdd2de1 added the K5_KEY_GSS_KRB5_ERROR_MESSAGE key, and
registered it in the gssapi library initialization routine, but
did not unregister it in the libary finalization routine.
When the library is unloaded and reloaded in the same process,
this leads to an assertion failure, since we check that
destructors_set[keynum] is zero (no destructor set) when registering
a key in util/support/threads.c.
Unregister the key on library cleanup to resolve the error.

(cherry picked from commit 4ab584c830024757cc628b1783dde6220a9fec6d)

https://github.com/krb5/krb5/commit/1d0c691e59f89df68413a6a41b951cfda88005e8
Author: Ben Kaduk <kaduk@mit.edu>
Committer: Tom Yu <tlyu@mit.edu>
Commit: 1d0c691e59f89df68413a6a41b951cfda88005e8
Branch: krb5-1.10
src/lib/gssapi/krb5/gssapi_krb5.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)