Bug #7

String expansion/substitution bug

Added by Chris Chapman about 3 years ago. Updated almost 3 years ago.

Status:Closed Start:11/30/2008
Priority:Normal Due date:
Assigned to:Joshua Jensen % Done:

0%

Category:Building
Target version:0.4

Description

Here's an odd one, found while trying to get some more of my projects to compile. I've attached a .zip containing the structure needed to repro.

Steps:
1) Unzip to a folder
2) In a shell, navigate to the /software/tool folder
3) Run jam -d9 > output.txt
4) Look in output.txt line 13736 (or search for get INCLUDEPATHS)
5) Observe some bad substitution of any "../.." values in the input list, where ../.. is replaced with characters from the SubDir rule's target
6) Note that running jam from the /software/tool/EventBankBuilder rule does not suffer the same issue.

Notes:
The /software/tool/EventBankBuilder/Jamfile.jam contains the stuff that's triggering the problem; I added multiple instances of the tinyxml folder with varying numbers of "../.." prefixes so that you can see better the bad substitutions.

I'm running a slightly custom Jambase, but nothing I think related to this - mostly it's extra definitions for Wii and PSP compilers.

test.zip (107.9 KB) Chris Chapman, 11/30/2008 08:54 am

History

Updated by Joshua Jensen about 3 years ago

  • Status changed from New to Assigned
  • Assigned to set to Joshua Jensen

I tried this on both the shipping 0.2 build and the latest build. Both get the same results:

get INCLUDEPATHS = ../../software/core/core/include ../../software/core/Audio/include ../../software/tool/tinyxml ../software/tool/tinyxml ../../../software/tool/tinyxml ../../../../software/tool/tinyxml ../../../../../software/tool/tinyxml ../../../../../../software/tool/tinyxml ../../../../../../../software/tool/tinyxml ../../../../../../../../software/tool/tinyxml

I'm not seeing the issue. Can you clarify?

Thanks!

Josh

Updated by Chris Chapman about 3 years ago

Sorry, bad guidance. The problem isn't on the get INCLUDEPATHS line, it's immediately below it; the output2.txt file in the zip shows the output I got and the problem - lines 13738 to 13747.

get INCLUDEPATHS = d:\cygwin/usr/local/dxsdk/include ../../software/core/core/include ../../software/core/Audio/include ../../software/tool/tinyxml ../software/tool/tinyxml ../../../software/tool/tinyxml ../../../../software/tool/tinyxml ../../../../../software/tool/tinyxml ../../../../../../software/tool/tinyxml ../../../../../../../software/tool/tinyxml ../../../../../../../../software/tool/tinyxml
list > d:/cygwin/usr/local/dxsdk/include <
list > Evesoftware/core/core/include <
list > Evesoftware/core/Audio/include <
list > Evesoftware/tool/tinyxml <
list > software/tool/tinyxml <
list > EventBsoftware/tool/tinyxml <
list > EventBanksoftware/tool/tinyxml <
list > EventBankBuisoftware/tool/tinyxml <
list > EventBankBuildesoftware/tool/tinyxml <
list > EventBankBuilder/.software/tool/tinyxml <
list > EventBankBuilder/../.software/tool/tinyxml <
expanded to d:/cygwin/usr/local/dxsdk/include Evesoftware/core/core/include Evesoftware/core/Audio/include Evesoftware/tool/tinyxml software/tool/tinyxml EventBsoftware/tool/tinyxml EventBanksoftware/tool/tinyxml EventBankBuisoftware/tool/tinyxml EventBankBuildesoftware/tool/tinyxml EventBankBuilder/.software/tool/tinyxml EventBankBuilder/../.software/tool/tinyxml

The issue is that the INCLUDEPATHS list is being expanded and messed up, and later code which uses the INCLUDEPATHS list is getting the malformed data.

Updated by Joshua Jensen almost 3 years ago

  • Target version changed from 0.2 to 0.3

Updated by Joshua Jensen almost 3 years ago

  • Target version changed from 0.3 to 0.4

Updated by Joshua Jensen almost 3 years ago

  • Status changed from Assigned to Closed

I don't remember specifically fixing this, but it doesn't currently seem to be repro'ing in JamPlus 0.3. If it is, I want to get the fix in for it immediately. Just open the bug back up.

Also available in: Atom PDF