Somehow, Debug.objectOwnProperties (which has a swf9 override) is telling the 
debugger that there is a property in the LzError object whose name is 
`undefined`.  When the debugger tries to inspect that property, the runtime is 
telling it that there is no such property.

I can't figure out how that could happen.

I updated the change to be a little more careful in the swf9 
objectOwnProperties to not add slots that do not have a name.  Fetch it again 
and see if that makes the error go away.

If you can somehow poke at that LzError object in the Flash debugger, maybe it 
will reveal something.  I can't figure out how it could have a property without 
a name.  Maybe somehow it has acquired a property that is in another namespace? 
 But I don't know what would have caused that.

On 2010-11-30, at 15:52, Henry Minsky wrote:

> That is an improvement, the backtrace from the error is
> clickable/inspectable now.
> 
> But do you have any idea what that "undefined: Error.." means when I inspect
> the LzError object ?
> 
> lzx> Debug.inspect(«LzError(128)| @../../foundation/restricted/D…»)
> «LzError(128)#3| @../../foundation/restricted/DefinitionLoader.lzx#137:
> TypeError: Error #1010: A term is undefined and has no …» {
>  backtrace: «Backtrace(26)| loadRegistryFile <- getDefinitionNode <-
> getDefinition <- handle oninit <- sendEvent <- __LZcallInit <- __LZc…»
>  file: '../../foundation/restricted/DefinitionLoader.lzx'
>  length: 128
>  line: 137
>  message: 'TypeError: Error #1010: A term is undefined and has no
> properties.'
>  undefined: Error: ReferenceError: Error #… computing description
> }
> «LzError(128)#3| @../../foundation/restricted/DefinitionLoader.lzx#137:
> TypeError: Error #1010: A term is undefined and has no properties.»
> lzx> Debug.inspect(«Backtrace(26)| loadRegistryFile <- getDefini…»)
> «Backtrace(26)#5| loadRegistryFile <- getDefinitionNode <- getDefinition <-
> handle oninit <- sendEvent <- __LZcallInit <- __LZc…» {
>  length: 26
>  undefined: (void 0)
>  0: sendEvent @lfc/events/LaszloEvents.lzs#627
>  1: checkQ @lfc/services/LzInstantiator.lzs#250
>  2: makeSomeViews @lfc/services/LzInstantiator.lzs#314
>  3: __LZinstantiationDone @lfc/views/LaszloCanvas.lzs#732
>  4: __LZcallInit @lfc/views/LaszloCanvas.lzs#801
>  5: sendEvent @lfc/events/LaszloEvents.lzs#627
>  6: handle oninit @ManagementCenter.lzx#256
>  7: startApp @ManagementCenter.lzx#145
>  8: $lzc$class_wcfMainWorkbench @#34
>  9: $lzc$class_basecomponent @#446
>  10: LzView @lfc/views/LaszloView.lzs#51
>  11: LzNode @lfc/core/LzNode.lzs#351
>  12: createChildren @lfc/core/LzNode.lzs#1440
>  13: createImmediate @lfc/services/LzInstantiator.lzs#336
>  14: makeSomeViews @lfc/services/LzInstantiator.lzs#314
>  15: __LZinstantiationDone @lfc/views/LaszloView.lzs#555
>  16: __LZinstantiationDone @lfc/core/LzNode.lzs#1084
>  17: __LZcallInit @lfc/core/LzNode.lzs#1135
>  18: __LZcallInit @lfc/core/LzNode.lzs#1135
>  19: __LZcallInit @lfc/core/LzNode.lzs#1135
>  20: __LZcallInit @lfc/core/LzNode.lzs#1160
>  21: sendEvent @lfc/events/LaszloEvents.lzs#627
>  22: handle oninit @ApplicationMenu.lzx#195
>  23: getDefinition @../../foundation/restricted/DefinitionLoader.lzx#266
>  24: getDefinitionNode
> @../../foundation/restricted/DefinitionLoader.lzx#234
>  25: loadRegistryFile @../../foundation/restricted/DefinitionLoader.lzx#137
> 
> }
> «Backtrace(26)#5| loadRegistryFile <- getDefinitionNode <- getDefinition <-
> handle oninit <- sendEvent <- __LZcallInit <- __LZcallInit <- __LZcal…»
> lzx>
> 
> On Tue, Nov 30, 2010 at 3:18 PM, P T Withington <[email protected]> wrote:
> 
>> Change ptw-20101130-MEn by [email protected] on 2010-11-30 14:08:04 EST
>>   in /Users/ptw/OpenLaszlo/trunk-3
>>   for http://svn.openlaszlo.org/openlaszlo/trunk
>> 
>> Summary: Be more careful in Debug.inspect
>> 
>> Bugs Fixed: LPP-9553 Inspecting a Backtrace in SWF10 gets error when
>> printing to debug console
>> 
>> Technical Reviewer: [email protected] (pending)
>> QA Reviewer: [email protected] (pending)
>> 
>> Overview:
>> 
>>   Move the slot-dereference from inspectInternal to
>>   computeSlotDescription (which is already guarded).
>> 
>> Tests:
>> 
>>   Henry will test against the gigantic test case he has that is to
>>   large to fit in the margins of this note.
>> 
>> Files:
>> M       WEB-INF/lps/lfc/debugger/LzDebug.lzs
>> 
>> Changeset:
>> http://svn.openlaszlo.org/openlaszlo/patches/ptw-20101130-MEn.tar
>> 
> 
> 
> 
> -- 
> Henry Minsky
> Software Architect
> [email protected]


Reply via email to