Opened 9 years ago

Closed 9 years ago

#13011 closed defect (fixed)

build results in passing non-string to dojo.trim

Reported by: rott Owned by: Rawld Gill
Priority: high Milestone: 1.7
Component: BuildTools Version: 1.6.1
Keywords: Cc: Chris Mitchell
Blocked By: Blocking:

Description

SVN rev 25068, Ubuntu linux 10.10, rhino build. This error only seems to occur in a build (using any profile), not with src.

Build command:

./build.sh profile=uploader version=1.7.0 action=clean,release stripConsole=all layerOptimize=shrinksafe optimize=shrinksafe releaseDir=../../../ cssOptimize=comments releaseName=dojo_optimized copyTests=false

I added an if clause in the right place in the dojo/dojo.js.uncompressed.js so I could capture the call stack. Someone is sending a non-string value as the parameter to dojo.trim.

See attached screenshot with the screen grab of the callstack in chrome.

I'll continue looking into it... but don't wait for me. :)

Attachments (3)

dojobug.jpg (73.0 KB) - added by rott 9 years ago.
screengrab of callstack in chrome
uploader.profile.js (1.1 KB) - added by rott 9 years ago.
profile file to reproduce the build I'm using
cptest.html (1.6 KB) - added by rott 9 years ago.
test html file to reproduce the problem

Download all attachments as: .zip

Change History (7)

Changed 9 years ago by rott

Attachment: dojobug.jpg added

screengrab of callstack in chrome

Changed 9 years ago by rott

Attachment: uploader.profile.js added

profile file to reproduce the build I'm using

Changed 9 years ago by rott

Attachment: cptest.html added

test html file to reproduce the problem

comment:1 Changed 9 years ago by bill

Component: CoreBuildTools
Owner: set to Rawld Gill

comment:2 Changed 9 years ago by tissandier

I can also reproduce this using the demos-all provide and building on Windows XP. Here is a simple sample that breaks when running in this optimized build. You get a "this.templateString.toLowerCase is not a function"

<html >

<head>

<!-- load the dojo toolkit base --> <script type="text/javascript">

var djConfig = { parseOnLoad:true

} </script> <script type="text/javascript" src="../../dojo/dojo.js"></script>

<script type="text/javascript">

dojo.require("dojo.parser");

dojo.require("dijit.form.ComboBox?");

</script>

</head> <body class='tundra'>

<div id="combo" dojoType="dijit.form.ComboBox?" ></div>

</body>

</html>

comment:3 Changed 9 years ago by bill

Oh, I saw that error on archive.dojotoolkit.org/nightly, forgot to report it, glad you mentioned it.

comment:4 Changed 9 years ago by Rawld Gill

Resolution: fixed
Status: newclosed

(In [25145]) fixed interning strings process in builder; improved amd define; fixes #13011; #!strict

Note: See TracTickets for help on using tickets.