Skip to content

WASession >> #unregister does signal an error #851

@dalehenrich

Description

@dalehenrich

Ran into this when I clicked on New Session button in counter while testing not tranlogged in Seaside3.2 ....

Here's the stack (frame 13 is the bad boy) and the arg to #remove: is a WASession instance:

1. WAInteractiveGemServerErrorHandler>>handleException: @2 line 2
2. [] in WAError(WAExceptionHandler)>>handleExceptionsDuring: @3 line 5
3. WAError(ExecBlock)>>on:do: @3 line 44
4. [] in WAInteractiveGemServerErrorHandler(WAExceptionHandler)>>handleExceptionsDuring: @3 line 8
5. [] in ExecBlock1(ExecBlock)>>on:do: @5 line 51
6. WAError(AbstractException)>>_executeHandler: @4 line 8
7. WAError(AbstractException)>>_signalWith: @1 line 1
8. WAError(AbstractException)>>signal: @3 line 7
9. WAError class(AbstractException class)>>signal: @3 line 4
10. WABulkReapingCache class(GRObject class)>>error: @3 line 2
11. WABulkReapingCache(GRObject)>>error: @3 line 2
12. WABulkReapingCache(Object)>>subclassResponsibility @2 line 3
13. WABulkReapingCache>>remove: @2 line 2
14. WAApplication(WARegistry)>>unregister: @3 line 2
15. WANotTranloggedSession(WARequestHandler)>>unregister @4 line 4
16. WANotTranloggedSession>>unregister @4 line 5
17. WANewSessionToolPlugin>>execute @3 line 2
18. [] in WANewSessionToolPlugin(WAPlugin)>>renderContentOn: @3 line 8
19. WANewSessionToolPlugin(ExecBlock)>>valueWithPossibleArguments: @7 line 4
20. WAActionCallback>>evaluateWithArgument: @3 line 2
21. WAActionCallback(WACallback)>>evaluateWithFieldValues: @4 line 2
22. [] in WACallbackRegistry>>handle: @5 line 10
23. Array(Collection)>>do: @6 line 10
24. WACallbackRegistry>>handle: @10 line 9
25. WACallbackProcessingActionContinuation>>basicPerformAction @6 line 3
26. [] in WACallbackProcessingActionContinuation(WAActionPhaseContinuation)>>performAction @3 line 2
27. WACallbackProcessingActionContinuation(ExecBlock)>>onException:do: @2 line 66
28. WACallbackProcessingActionContinuation(ExecBlock)>>on:do: @5 line 49
29. WAInteractiveGemServerErrorHandler(WAExceptionHandler)>>handleExceptionsDuring: @3 line 3
30. [] in ExecBlock0(WARenderLoopContinuation)>>withNotificationHandlerDo: @3 line 20
31. ExecBlock0(ExecBlock)>>on:do: @3 line 44
32. WACallbackProcessingActionContinuation(WARenderLoopContinuation)>>withNotificationHandlerDo: @9 line 21
33. WACallbackProcessingActionContinuation(WAActionPhaseContinuation)>>performAction @3 line 2
34. [] in WACallbackProcessingActionContinuation>>performAction @3 line 3
35. WACallbackProcessingActionContinuation(ExecBlock)>>ensure: @2 line 12
36. WACallbackProcessingActionContinuation>>performAction @3 line 3
37. WACallbackProcessingActionContinuation(WAActionPhaseContinuation)>>handleFiltered: @2 line 2
38. [] in WACallbackProcessingActionContinuation(WARequestHandler)>>handle: @4 line 4
39. WACallbackProcessingActionContinuation(ExecBlock)>>on:do: @3 line 44
40. WACurrentRequestContext class(WADynamicVariable class)>>use:during: @3 line 4
41. [] in WAGemStoneRequestContext(WARequestContext)>>push:during: @3 line 5
42. WAGemStoneRequestContext(ExecBlock)>>ensure: @2 line 12
43. WAGemStoneRequestContext(WARequestContext)>>push:during: @4 line 6
44. WACallbackProcessingActionContinuation(WARequestHandler)>>handle: @3 line 4
45. [] in WACallbackProcessingActionContinuation(WASessionContinuation)>>handle: @3 line 5
46. WACallbackProcessingActionContinuation(ExecBlock)>>on:do: @3 line 44
47. WACallbackProcessingActionContinuation(WASessionContinuation)>>withUnregisteredHandlerDo: @3 line 3
48. WACallbackProcessingActionContinuation(WASessionContinuation)>>handle: @5 line 5
49. WANotTranloggedSession(WASession)>>handleFiltered: @22 line 21
50. WATimingToolFilter(WARequestFilter)>>handleFiltered: @3 line 4
51. [] in WATimingToolFilter>>handleFiltered: @3 line 3
52. WATimingToolFilter(ExecBlock)>>ensure: @2 line 12
53. WATimingToolFilter>>handleFiltered: @5 line 4
54. WADeprecatedToolFilter(WARequestFilter)>>handleFiltered: @3 line 4
55. [] in WADeprecatedToolFilter>>handleFiltered: @3 line 2
56. WADeprecatedToolFilter(ExecBlock)>>on:do: @3 line 44
57. WADeprecatedToolFilter>>handleFiltered: @6 line 3
58. WAGsMutualExclusionFilter(WARequestFilter)>>handleFiltered: @3 line 4
59. WAGsMutualExclusionFilter>>handleFiltered: @11 line 11
60. [] in WANotTranloggedSession(WARequestHandler)>>handle: @4 line 4
61. WANotTranloggedSession(ExecBlock)>>on:do: @3 line 44
62. WACurrentRequestContext class(WADynamicVariable class)>>use:during: @3 line 4
63. [] in WAGemStoneRequestContext(WARequestContext)>>push:during: @3 line 5
64. WAGemStoneRequestContext(ExecBlock)>>ensure: @2 line 12
65. WAGemStoneRequestContext(WARequestContext)>>push:during: @4 line 6
66. WANotTranloggedSession(WARequestHandler)>>handle: @3 line 4
67. WAApplication(WARegistry)>>dispatch:to:key: @4 line 6
68. WAApplication(WARegistry)>>handleKeyed:with:context: @2 line 5
69. WAApplication(WARegistry)>>handleFiltered: @16 line 13
70. WAApplication>>handleFiltered: @10 line 8
71. WAExceptionFilter(WARequestFilter)>>handleFiltered: @3 line 4
72. [] in WAExceptionFilter>>handleFiltered: @3 line 7
73. WAExceptionFilter(ExecBlock)>>on:do: @3 line 44
74. WACurrentExceptionHandler class(WADynamicVariable class)>>use:during: @3 line 4
75. [] in WAExceptionFilter>>handleFiltered: @3 line 6
76. WAExceptionFilter(ExecBlock)>>onException:do: @2 line 66
77. WAExceptionFilter(ExecBlock)>>on:do: @5 line 49
78. WAInteractiveGemServerErrorHandler(WAExceptionHandler)>>handleExceptionsDuring: @3 line 3
79. WAExceptionFilter>>handleFiltered: @6 line 4
80. [] in WAApplication(WARequestHandler)>>handle: @4 line 4
81. WAApplication(ExecBlock)>>on:do: @3 line 44
82. WACurrentRequestContext class(WADynamicVariable class)>>use:during: @3 line 4
83. [] in WAGemStoneRequestContext(WARequestContext)>>push:during: @3 line 5
84. WAGemStoneRequestContext(ExecBlock)>>ensure: @2 line 12
85. WAGemStoneRequestContext(WARequestContext)>>push:during: @4 line 6
86. WAApplication(WARequestHandler)>>handle: @3 line 4
87. WADispatcher>>handleFiltered:named: @4 line 5
88. WADispatcher>>handleFiltered: @9 line 6
89. [] in WADispatcher(WARequestHandler)>>handle: @4 line 4
90. WADispatcher(ExecBlock)>>on:do: @3 line 44
91. WACurrentRequestContext class(WADynamicVariable class)>>use:during: @3 line 4
92. [] in WAGemStoneRequestContext(WARequestContext)>>push:during: @3 line 5
93. WAGemStoneRequestContext(ExecBlock)>>ensure: @2 line 12
94. WAGemStoneRequestContext(WARequestContext)>>push:during: @4 line 6
95. WADispatcher(WARequestHandler)>>handle: @3 line 4
96. WADispatcher>>handleFiltered:named: @4 line 5
97. WADispatcher>>handleFiltered: @9 line 6
98. [] in WADispatcher(WARequestHandler)>>handle: @4 line 4
99. WADispatcher(ExecBlock)>>on:do: @3 line 44
100. WACurrentRequestContext class(WADynamicVariable class)>>use:during: @3 line 4
101. [] in WAGemStoneRequestContext(WARequestContext)>>push:during: @3 line 5
102. WAGemStoneRequestContext(ExecBlock)>>ensure: @2 line 12
103. WAGemStoneRequestContext(WARequestContext)>>push:during: @4 line 6
104. WADispatcher(WARequestHandler)>>handle: @3 line 4
105. [] in WAZincNewGemServerAdaptor(WAServerAdaptor)>>handleRequest: @4 line 4
106. WAZincNewGemServerAdaptor(ExecBlock)>>on:do: @3 line 44
107. WAZincNewGemServerAdaptor(WAServerAdaptor)>>handleRequest: @3 line 5
108. WAZincNewGemServerAdaptor(WAServerAdaptor)>>handle: @2 line 4
109. [] in WAZincNewGemServerAdaptor(WAServerAdaptor)>>process: @3 line 6
110. WAZincNewGemServerAdaptor(ExecBlock)>>ensure: @2 line 12
111. WAZincNewGemServerAdaptor(WAServerAdaptor)>>process: @5 line 7
112. [] in WAZincNewGemServerAdaptor(WAGsZincAdaptor)>>process: @3 line 6
113. [] in GRGemStonePlatform>>seasideProcessRequestWithRetry:resultBlock: @3 line 12
114. GRGemStonePlatform(ExecBlock)>>on:do: @3 line 44
115. [] in GRGemStonePlatform>>seasideProcessRequestWithRetry:resultBlock: @12 line 13
116. GRGemStonePlatform(ExecBlock)>>ensure: @2 line 12
117. TransientRecursionLock>>critical: @12 line 12
118. GRGemStonePlatform>>seasideProcessRequestWithRetry:resultBlock: @4 line 6
119. [] in GRGemStonePlatform>>seasideProcessRequest:adaptor:resultBlock: @3 line 6
120. Array(Collection)>>do: @6 line 10
121. [] in GRGemStonePlatform>>seasideProcessRequest:adaptor:resultBlock: @4 line 5
122. GRGemStonePlatform(ExecBlock)>>on:do: @3 line 44
123. GRGemStonePlatform>>seasideProcessRequest:adaptor:resultBlock: @3 line 12
124. WAZincNewGemServerAdaptor(WAGsZincAdaptor)>>process: @4 line 4
125. ZnSeasideServerAdaptorDelegate>>handleRequest: @3 line 4
126. ZnSeasideServerAdaptorDelegate>>handleRequest:gemServer: @2 line 4
127. [] in ZnGemServerManagingMultiThreadedServer>>authenticateAndDelegateRequest: @9 line 12
128. ZnGemServerManagingMultiThreadedServer(ZnSingleThreadedServer)>>authenticateRequest:do: @5 line 6
129. ZnGemServerManagingMultiThreadedServer>>authenticateAndDelegateRequest: @3 line 8
130. [] in ZnGemServerManagingMultiThreadedServer>>handleRequestProtected: @3 line 6
131. ZnGemServerManagingMultiThreadedServer(ExecBlock)>>on:do: @3 line 44
132. [] in ZnSeasideNewGemServer(GemServer)>>gemServer:exceptionSet:beforeUnwind:ensure: @3 line 4
133. ZnSeasideNewGemServer(ExecBlock)>>ensure: @2 line 12
134. ZnSeasideNewGemServer(GemServer)>>gemServer:exceptionSet:beforeUnwind:ensure: @3 line 22
135. ZnSeasideNewGemServer(GemServer)>>gemServer:exceptionSet:beforeUnwind: @2 line 3
136. ZnGemServerManagingMultiThreadedServer>>serve:onError: @3 line 5
137. ZnGemServerManagingMultiThreadedServer>>handleRequestProtected: @3 line 6
138. ZnGemServerManagingMultiThreadedServer(ZnSingleThreadedServer)>>handleRequest: @6 line 9
139. [] in ZnGemServerManagingMultiThreadedServer>>executeOneRequestResponseOn: @6 line 20
140. ZnGemServerManagingMultiThreadedServer(ExecBlock)>>on:do: @3 line 44
141. [] in ZnSeasideNewGemServer(GemServer)>>gemServer:exceptionSet:beforeUnwind:ensure: @3 line 4
142. ZnSeasideNewGemServer(ExecBlock)>>ensure: @2 line 12
143. ZnSeasideNewGemServer(GemServer)>>gemServer:exceptionSet:beforeUnwind:ensure: @3 line 22
144. ZnSeasideNewGemServer(GemServer)>>gemServer:beforeUnwind:ensure: @3 line 3
145. ZnSeasideNewGemServer(GemServer)>>gemServer:ensure: @2 line 3
146. ZnGemServerManagingMultiThreadedServer>>serve:ensure: @3 line 4
147. ZnGemServerManagingMultiThreadedServer>>executeOneRequestResponseOn: @3 line 10
148. [] in ZnGemServerManagingMultiThreadedServer>>serveConnectionsOn: @3 line 16
149. [] in ZnCurrentServer class(DynamicVariable class)>>value:during: @4 line 9
150. ZnCurrentServer class(ExecBlock)>>ensure: @2 line 12
151. ZnCurrentServer class(DynamicVariable class)>>value:during: @7 line 10
152. [] in ZnGemServerManagingMultiThreadedServer>>serveConnectionsOn: @5 line 15
153. ZnGemServerManagingMultiThreadedServer(ExecBlock)>>valueWithArguments: @1 line 1
154. GsProcess>>_start @8 line 16
155. GsNMethod class>>_gsReturnToC @1 line 1

Not exactly clear what needs to happen here, since compatibility needs to be maintained with alternate cache implementations ... or removeKey: needs to be used ...

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions