Summary: We see prim failures growing finalization queue, but I suspect
that this is supposed to fail quietly. Version: 7.6 Severity: Medium Description: We've occasionally been seeing a primitiveFailed error in the finalization Process, when it's attempting to grow the finalization queue. Here's a stack excerpt: [19] Error class(GenericException class)>>raiseErrorString: [20] WeakArray class(Object)>>error: [21] WeakArray class(Object)>>primitiveFailed [22] WeakArray class>>growFinalizationQueueTo: [23] WeakArray class>>attemptToGrowFinalQueueTo: [24] WeakArray class>>fetchFromFinalizationQueue [25] optimized [] in WeakArray class>>outerFinalizationLoop [26] BlockClosure>>on:do: [27] WeakArray class>>outerFinalizationLoop In this case, it's attempting to grow the finalizatoin queue to a size of 17001, which doesn't seem excessive. I may not understand thus correctly, but it looks like this failure can happen randomly, any time that old space is pretty full and doesn't feel like growing. It doesn't attempt to do any GC, but that's probably OK since that is probably more appropriately left to the LowSpaceProcess. The finalization process seems to be designed to handle QueueOverflowErrors gracefully. The method is named *attempt*ToGrowFinalQueueTo:. So I suspect that the original design intent was that failures to grow would be silently ignored, since the queueOverflowSignal will be raised anyway. As it is, it opens a walkback on the finalization thread, which is fairly bad. A possible fix is to remove the line "^self primitiveFailed" from WeakArray class>>growFinalizationQueueTo: Thanks, -Martin _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
It seems this problem was solved by
AR# 56756 Description Finalization queue growth failure which is fixed with 7.7. Andres. -----Original Message----- From: [hidden email] [mailto:[hidden email]] On Behalf Of Martin McClure Sent: Wednesday, January 28, 2009 12:08 PM To: VWNC Subject: [vwnc] [Bug?] [7.6] Prim failure attempting to grow finalizationqueue Summary: We see prim failures growing finalization queue, but I suspect that this is supposed to fail quietly. Version: 7.6 Severity: Medium Description: We've occasionally been seeing a primitiveFailed error in the finalization Process, when it's attempting to grow the finalization queue. Here's a stack excerpt: [19] Error class(GenericException class)>>raiseErrorString: [20] WeakArray class(Object)>>error: [21] WeakArray class(Object)>>primitiveFailed [22] WeakArray class>>growFinalizationQueueTo: [23] WeakArray class>>attemptToGrowFinalQueueTo: [24] WeakArray class>>fetchFromFinalizationQueue [25] optimized [] in WeakArray class>>outerFinalizationLoop [26] BlockClosure>>on:do: [27] WeakArray class>>outerFinalizationLoop In this case, it's attempting to grow the finalizatoin queue to a size of 17001, which doesn't seem excessive. I may not understand thus correctly, but it looks like this failure can happen randomly, any time that old space is pretty full and doesn't feel like growing. It doesn't attempt to do any GC, but that's probably OK since that is probably more appropriately left to the LowSpaceProcess. The finalization process seems to be designed to handle QueueOverflowErrors gracefully. The method is named *attempt*ToGrowFinalQueueTo:. So I suspect that the original design intent was that failures to grow would be silently ignored, since the queueOverflowSignal will be raised anyway. As it is, it opens a walkback on the finalization thread, which is fairly bad. A possible fix is to remove the line "^self primitiveFailed" from WeakArray class>>growFinalizationQueueTo: Thanks, -Martin _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc _______________________________________________ vwnc mailing list [hidden email] http://lists.cs.uiuc.edu/mailman/listinfo/vwnc |
Free forum by Nabble | Edit this page |