This still doesn't provide anything that suggests a framework bug, but there's a few comment we can make that might help you narrow things down and provide better diagnostics:
1. thread markers appear in log messages after the timestamp. "XRP#" means an xmlHttpRequest response reply thread. If the trailing number differs, it's a different thread. The "[E]" suffix means "end of thread actions" and is from the same thread, but after all event handling code has exited
2. you should be getting more information that just "TypeError", in fact, you should be getting a full stack trace. You may get better information if you reproduce the error in a different browser, or if you use built-in Developer Tools (hit F12) to stop on all errors
Announcement
Collapse
No announcement yet.
X
-
Still struggling...
I am still struggling with this issue. If you please have a look at the following log -
Code:11:12:13.041:XRP1:INFO:Log:Destroying drawItems for DrawPane alu_nms_SvcSupSummaryPane_IES_group_998 11:12:13.046:XRP1:INFO:Log:Destroying drawItems for DrawPane alu_nms_SvcSupSummaryPane_All_Groups 11:12:13.060:XRP1[E]:INFO:draws:alu_nms_SvcSupSummaryPane_All_Groups:draw(): drawing DrawPane with parent: [VLayout ID:isc_VLayout_4] Canvas.draw(showing=>undef) Layout.layoutChildren(reason=>"membersRemoved", deltaX=>undef, deltaY=>undef) Layout.reflowNow(reason=>"membersRemoved", reflowCount=>22) anonymous() [c]EventHandler.runTeas() [c]EventHandler._clearThread() [c]Comm._fireXMLCallback(request=>[object XMLHttpRequest], callback=>"isc.Comm.performXmlTransactionReply(232,..."[56], delayedCall=>undef) anonymous([object Event]) 11:12:13.064:XRP1[E]:INFO:draws:alu_nms_SvcSupSummaryPane_IES_group_998:draw(): drawing DrawPane with parent: [VLayout ID:isc_VLayout_4] Canvas.draw(showing=>undef) Layout.layoutChildren(reason=>"membersRemoved", deltaX=>undef, deltaY=>undef) Layout.reflowNow(reason=>"membersRemoved", reflowCount=>22) anonymous() [c]EventHandler.runTeas() [c]EventHandler._clearThread() [c]Comm._fireXMLCallback(request=>[object XMLHttpRequest], callback=>"isc.Comm.performXmlTransactionReply(232,..."[56], delayedCall=>undef) anonymous([object Event])
Code:11:12:13.396:XRP8:INFO:Log:Destroying drawItems for DrawPane alu_nms_SvcSupSummaryPane_IES_group_998 11:12:13.402:XRP8:INFO:Log:Destroying drawItems for DrawPane alu_nms_SvcSupSummaryPane_All_Groups 11:12:13.417:XRP8[E]:INFO:draws:alu_nms_SvcSupSummaryPane_All_Groups:draw(): drawing DrawPane with parent: [VLayout ID:isc_VLayout_4] Canvas.draw(showing=>undef) Layout.layoutChildren(reason=>"membersRemoved", deltaX=>undef, deltaY=>undef) Layout.reflowNow(reason=>"membersRemoved", reflowCount=>23) anonymous() [c]EventHandler.runTeas() [c]EventHandler._clearThread() [c]Comm._fireXMLCallback(request=>[object XMLHttpRequest], callback=>"isc.Comm.performXmlTransactionReply(242,..."[56], delayedCall=>undef) anonymous([object Event]) 11:12:13.422:XRP8[E]:INFO:draws:alu_nms_SvcSupSummaryPane_IES_group_998:draw(): drawing DrawPane with parent: [VLayout ID:isc_VLayout_4] Canvas.draw(showing=>undef) Layout.layoutChildren(reason=>"membersRemoved", deltaX=>undef, deltaY=>undef) Layout.reflowNow(reason=>"membersRemoved", reflowCount=>23) anonymous() [c]EventHandler.runTeas() [c]EventHandler._clearThread() [c]Comm._fireXMLCallback(request=>[object XMLHttpRequest], callback=>"isc.Comm.performXmlTransactionReply(242,..."[56], delayedCall=>undef) anonymous([object Event]) 11:12:15.511:WARN:Log:Error: http://shresth/thirdparty/smartclient/9.1_19_9/system/modules-debug/ISC_Drawing.js Value: TypeError: self.drawPane is undefined
To me it looks like a timing issue where the onload function has the wrong reference to the (destroyed) drawPane. This was achieved when there were many draw()s and destroy()s in quick succession.
Help much appreciated
ThanksLast edited by shresthg_des; 7 Oct 2014, 09:34.
Leave a comment:
-
No, sorry, no additional thoughts. We've already verified there's no general problem with just adding a DrawImage to a DrawPane, so we look forward to a test case that shows what's special about your usage.
Leave a comment:
-
Originally posted by Isomorphic View PostThis would be expected if the variable "aInDrawPane" did not contain a valid DrawPane for the DrawImage to draw in, for example, if the variable were actually null, was not actually a DrawPane, was a DrawPane that had been destroy()d, or if the DrawPane were not yet drawn.
Code:!((typeof aInDrawPane === "undefined") || aInDrawPane === null) && !aInDrawPane.destroyed && aInDrawPane.isDrawn() && isc.isA.DrawPane(aInDrawPane)
Meanwhile, I am working on producing a standalone test case.
Thanks
Leave a comment:
-
This would be expected if the variable "aInDrawPane" did not contain a valid DrawPane for the DrawImage to draw in, for example, if the variable were actually null, was not actually a DrawPane, was a DrawPane that had been destroy()d, or if the DrawPane were not yet drawn.
If you think this might be a framework bug and not just a bug in your application, try to put together a standalone test case that we can run to see the problem.
Leave a comment:
-
drawImage fails wilth self.drawPane msg
Hello,
1. I am using SmartClient Version: v9.1p_2014-07-20/Pro Deployment (built 2014-07-20)
2. This issue is predominantly seen on FF 31.0. But our QA team is also intermittently seeing it on latest chrome and IE11
3. Following is the full-stack trace -
14:29:20.658:XRP5[E]:WARN:Log:Error: http://<IP-ADDRESS>/thirdparty/smartclient/9.1_20_7/system/modules-debug/ISC_Drawing.js
Value: TypeError: self.drawPane is undefined
14:29:20.692:XRP5[E]:INFO:draws:isc_IButton_0:draw(): drawing IButton with parent: [Toolbar ID:isc_globalWarn_toolbar]
Canvas.draw(showing=>undef, undef, undef)
StatefulCanvas.draw(a=>undef, b=>undef, c=>undef)
Layout.layoutChildren(reason=>undef, deltaX=>undef, deltaY=>undef)
[a]Dialog.showMessage(newMessage=>"Page Error:http://<IP-ADDRESS>/thirdpa..."[137], properties=>Obj{title:Warning})
anonymous(message=>"Page Error:http://138.120.140.41/thirdpa..."[137], messageType=>"warn", callback=>undef, properties=>Obj{title:Warning})
anonymous(message=>"Page Error:http://138.120.140.41/thirdpa..."[137], callback=>undef, properties=>undef)
[c]alu_nms_NMSCommon.notifyUser(aInMessage_s=>"Page Error:http://<IP-ADDRESSS>/thirdpa..."[137])
anonymous(aInValue=>"TypeError: self.drawPane is undefined", aInMessage=>"http://<IP-ADDRESS>/thirdparty/smartcl..."[89], 8824, 20, TypeError: self.drawPane is undefined)
4. Here is the sample code -
isc.DrawImage.create({
src: "[SKINIMG]/nms/web/vision/AllGroups.png",
left: left+ 2,
top: 4,
width: 16,
height: 16,
autoDraw: true,
drawPane: aInDrawPane
});
where aInDrawPane is drawPane (which is not null or undefined).
But in ISC_Drawing.js - initImage(src) - ISC_Drawing.jsTypeError: self.drawPane is undefined
Do you have any thoughts on what we could be doing wrong. Would greatly appreciate any help.
ThanksTags: None
Leave a comment: