Generating source with VMMaker-dtl.125 produces the appended stack trace. The VMMaker is missing directories. Does every plugin need a directory in .../Cross? I tried to ignore missing directories programatically but the code generator hangs then in the inlining pass.
15 July 2009 4:56:48 pm
VM: Win32 - IX86 - NT - Squeak3.10.2 of '5 June 2008' [latest update: #7179] Image: Pharo0.1 [Latest update: #10377]
SecurityManager state: Restricted: false FileAccess: true SocketAccess: true Working Dir H:\Smalltalk\Images\pharo-0.1Core-10371 Trusted Dir H:\Smalltalk\Images\pharo-0.1Core-10371\marco Untrusted Dir C:\Users\marco\Documents\My Squeak
DosFileDirectory(FileDirectory)>>directoryContentsFor: Receiver: DosFileDirectory on 'c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin' Arguments and temporary variables: fullPath: FilePath('c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin') entries: an OrderedCollection() index: 1 done: false entryArray: #badDirectoryPath f: 'c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin' Receiver's instance variables: pathName: FilePath('c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin')
DosFileDirectory(FileDirectory)>>entries Receiver: DosFileDirectory on 'c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin' Arguments and temporary variables:
Receiver's instance variables: pathName: FilePath('c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin')
DosFileDirectory(FileDirectory)>>fileNames Receiver: DosFileDirectory on 'c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin' Arguments and temporary variables:
Receiver's instance variables: pathName: FilePath('c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin')
DosFileDirectory(FileDirectory)>>fullNamesOfAllFilesInSubtree Receiver: DosFileDirectory on 'c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin' Arguments and temporary variables: result: an OrderedCollection() todo: an OrderedCollection() dir: DosFileDirectory on 'c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin'...etc... Receiver's instance variables: pathName: FilePath('c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin')
[] in Win32VMMaker(VMMaker)>>processFilesForInternalPlugin: Receiver: a Win32VMMaker Arguments and temporary variables: plugin: DosFileDirectory on 'c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlug...etc... fList: an OrderedCollection() dir: an OrderedCollection() Receiver's instance variables: inline: true forBrowser: false allPlugins: a SortedCollection(#FileCopyPlugin #InternetConfigPlugin #MacMenuba...etc... internalPlugins: a SortedCollection(#ADPCMCodecPlugin #AsynchFilePlugin #B3DAcc...etc... externalPlugins: a SortedCollection() platformName: 'Win32' sourceDirName: 'C:\squeakvm\winbuild\src' platformRootDirName: 'c:\squeakvm\platforms' logger: a TranscriptStream ' ' allFilesList: a Dictionary('ADPCMCodecPlugin'->an OrderedCollection('C:\squeakv...etc... interpreterClassName: #Interpreter is64BitVM: false
Array(SequenceableCollection)>>do: Receiver: an Array(DosFileDirectory on 'c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin' DosFil...etc... Arguments and temporary variables: aBlock: [closure] in Win32VMMaker(VMMaker)>>processFilesForInternalPlugin: index: 1 indexLimiT: 3 Receiver's instance variables: an Array(DosFileDirectory on 'c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin' DosFil...etc...
Win32VMMaker(VMMaker)>>processFilesForInternalPlugin: Receiver: a Win32VMMaker Arguments and temporary variables: plugin: ADPCMCodecPlugin fList: an OrderedCollection() Receiver's instance variables: inline: true forBrowser: false allPlugins: a SortedCollection(#FileCopyPlugin #InternetConfigPlugin #MacMenuba...etc... internalPlugins: a SortedCollection(#ADPCMCodecPlugin #AsynchFilePlugin #B3DAcc...etc... externalPlugins: a SortedCollection() platformName: 'Win32' sourceDirName: 'C:\squeakvm\winbuild\src' platformRootDirName: 'c:\squeakvm\platforms' logger: a TranscriptStream ' ' allFilesList: a Dictionary('ADPCMCodecPlugin'->an OrderedCollection('C:\squeakv...etc... interpreterClassName: #Interpreter is64BitVM: false
Win32VMMaker(VMMaker)>>privateGenerateInternalPlugin: Receiver: a Win32VMMaker Arguments and temporary variables: pluginName: #ADPCMCodecPlugin plugin: {ADPCMCodecPlugin} Receiver's instance variables: inline: true forBrowser: false allPlugins: a SortedCollection(#FileCopyPlugin #InternetConfigPlugin #MacMenuba...etc... internalPlugins: a SortedCollection(#ADPCMCodecPlugin #AsynchFilePlugin #B3DAcc...etc... externalPlugins: a SortedCollection() platformName: 'Win32' sourceDirName: 'C:\squeakvm\winbuild\src' platformRootDirName: 'c:\squeakvm\platforms' logger: a TranscriptStream ' ' allFilesList: a Dictionary('ADPCMCodecPlugin'->an OrderedCollection('C:\squeakv...etc... interpreterClassName: #Interpreter is64BitVM: false
Win32VMMaker(VMMaker)>>generateInternalPlugin: Receiver: a Win32VMMaker Arguments and temporary variables: pluginName: #ADPCMCodecPlugin Receiver's instance variables: inline: true forBrowser: false allPlugins: a SortedCollection(#FileCopyPlugin #InternetConfigPlugin #MacMenuba...etc... internalPlugins: a SortedCollection(#ADPCMCodecPlugin #AsynchFilePlugin #B3DAcc...etc... externalPlugins: a SortedCollection() platformName: 'Win32' sourceDirName: 'C:\squeakvm\winbuild\src' platformRootDirName: 'c:\squeakvm\platforms' logger: a TranscriptStream ' ' allFilesList: a Dictionary('ADPCMCodecPlugin'->an OrderedCollection('C:\squeakv...etc... interpreterClassName: #Interpreter is64BitVM: false
[] in VMMakerTool>>generateSelectedInternalPlugin Receiver: a VMMakerTool Arguments and temporary variables: plugin: #ADPCMCodecPlugin Receiver's instance variables: dependents: a DependentsArray(a SystemWindow(234) a PluggableTextMorph(251) a P...etc... vmMaker: a Win32VMMaker allPluginsList: a PluggableListMorph(1266) allPluginsSelection: 31 allPluginsSelectionsArray: #(false false false false false false false false fa...etc... internalPluginsList: a PluggableListMorph(900) internalPluginsSelection: 1 internalPluginsSelectionsArray: #() externalPluginsList: a PluggableListMorph(92) externalPluginsSelection: nil externalPluginsSelectionsArray: #() logger: a TranscriptStream ' ' interpreterClassMorph: a PluggableTextMorph(251) platformPathMorph: a PluggableTextMorph(974) platformNameMorph: a PluggableTextMorph(1725) generatedPathMorph: a PluggableTextMorph(1811)
BlockClosure>>on:do: Receiver: [closure] in VMMakerTool>>generateSelectedInternalPlugin Arguments and temporary variables: exception: VMMakerException handlerAction: [closure] in VMMakerTool>>generateSelectedInternalPlugin handlerActive: true Receiver's instance variables: outerContext: VMMakerTool>>generateSelectedInternalPlugin startpc: 69 numArgs: 0
VMMakerTool>>generateSelectedInternalPlugin Receiver: a VMMakerTool Arguments and temporary variables: plugin: #ADPCMCodecPlugin Receiver's instance variables: dependents: a DependentsArray(a SystemWindow(234) a PluggableTextMorph(251) a P...etc... vmMaker: a Win32VMMaker allPluginsList: a PluggableListMorph(1266) allPluginsSelection: 31 allPluginsSelectionsArray: #(false false false false false false false false fa...etc... internalPluginsList: a PluggableListMorph(900) internalPluginsSelection: 1 internalPluginsSelectionsArray: #() externalPluginsList: a PluggableListMorph(92) externalPluginsSelection: nil externalPluginsSelectionsArray: #() logger: a TranscriptStream ' ' interpreterClassMorph: a PluggableTextMorph(251) platformPathMorph: a PluggableTextMorph(974) platformNameMorph: a PluggableTextMorph(1725) generatedPathMorph: a PluggableTextMorph(1811)
Marco Schmidt wrote:
Generating source with VMMaker-dtl.125 produces the appended stack trace. The VMMaker is missing directories. Does every plugin need a directory in .../Cross? I tried to ignore missing directories programatically but the code generator hangs then in the inlining pass.
I think your directory paths are not set correctly. Assuming you started with a file release from squeakvm.org (i.e., http://squeakvm.org/win32/release/SqueakVM-Win32-3.11.3-src.zip or similar) the "path to platforms code" should be set be "c:\squeakvm\platforms" and the "path to generated sources" should be set to "c:\squeakvm\winbuild\src".
Cheers, - Andreas
15 July 2009 4:56:48 pm
VM: Win32 - IX86 - NT - Squeak3.10.2 of '5 June 2008' [latest update: #7179] Image: Pharo0.1 [Latest update: #10377]
SecurityManager state: Restricted: false FileAccess: true SocketAccess: true Working Dir H:\Smalltalk\Images\pharo-0.1Core-10371 Trusted Dir H:\Smalltalk\Images\pharo-0.1Core-10371\marco Untrusted Dir C:\Users\marco\Documents\My Squeak
DosFileDirectory(FileDirectory)>>directoryContentsFor: Receiver: DosFileDirectory on 'c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin' Arguments and temporary variables: fullPath: FilePath('c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin') entries: an OrderedCollection() index: 1 done: false entryArray: #badDirectoryPath f: 'c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin' Receiver's instance variables: pathName: FilePath('c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin')
DosFileDirectory(FileDirectory)>>entries Receiver: DosFileDirectory on 'c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin' Arguments and temporary variables:
Receiver's instance variables: pathName: FilePath('c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin')
DosFileDirectory(FileDirectory)>>fileNames Receiver: DosFileDirectory on 'c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin' Arguments and temporary variables:
Receiver's instance variables: pathName: FilePath('c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin')
DosFileDirectory(FileDirectory)>>fullNamesOfAllFilesInSubtree Receiver: DosFileDirectory on 'c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin' Arguments and temporary variables: result: an OrderedCollection() todo: an OrderedCollection() dir: DosFileDirectory on 'c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin'...etc... Receiver's instance variables: pathName: FilePath('c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin')
[] in Win32VMMaker(VMMaker)>>processFilesForInternalPlugin: Receiver: a Win32VMMaker Arguments and temporary variables: plugin: DosFileDirectory on 'c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlug...etc... fList: an OrderedCollection() dir: an OrderedCollection() Receiver's instance variables: inline: true forBrowser: false allPlugins: a SortedCollection(#FileCopyPlugin #InternetConfigPlugin #MacMenuba...etc... internalPlugins: a SortedCollection(#ADPCMCodecPlugin #AsynchFilePlugin #B3DAcc...etc... externalPlugins: a SortedCollection() platformName: 'Win32' sourceDirName: 'C:\squeakvm\winbuild\src' platformRootDirName: 'c:\squeakvm\platforms' logger: a TranscriptStream ' ' allFilesList: a Dictionary('ADPCMCodecPlugin'->an OrderedCollection('C:\squeakv...etc... interpreterClassName: #Interpreter is64BitVM: false
Array(SequenceableCollection)>>do: Receiver: an Array(DosFileDirectory on 'c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin' DosFil...etc... Arguments and temporary variables: aBlock: [closure] in Win32VMMaker(VMMaker)>>processFilesForInternalPlugin: index: 1 indexLimiT: 3 Receiver's instance variables: an Array(DosFileDirectory on 'c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin' DosFil...etc...
Win32VMMaker(VMMaker)>>processFilesForInternalPlugin: Receiver: a Win32VMMaker Arguments and temporary variables: plugin: ADPCMCodecPlugin fList: an OrderedCollection() Receiver's instance variables: inline: true forBrowser: false allPlugins: a SortedCollection(#FileCopyPlugin #InternetConfigPlugin #MacMenuba...etc... internalPlugins: a SortedCollection(#ADPCMCodecPlugin #AsynchFilePlugin #B3DAcc...etc... externalPlugins: a SortedCollection() platformName: 'Win32' sourceDirName: 'C:\squeakvm\winbuild\src' platformRootDirName: 'c:\squeakvm\platforms' logger: a TranscriptStream ' ' allFilesList: a Dictionary('ADPCMCodecPlugin'->an OrderedCollection('C:\squeakv...etc... interpreterClassName: #Interpreter is64BitVM: false
Win32VMMaker(VMMaker)>>privateGenerateInternalPlugin: Receiver: a Win32VMMaker Arguments and temporary variables: pluginName: #ADPCMCodecPlugin plugin: {ADPCMCodecPlugin} Receiver's instance variables: inline: true forBrowser: false allPlugins: a SortedCollection(#FileCopyPlugin #InternetConfigPlugin #MacMenuba...etc... internalPlugins: a SortedCollection(#ADPCMCodecPlugin #AsynchFilePlugin #B3DAcc...etc... externalPlugins: a SortedCollection() platformName: 'Win32' sourceDirName: 'C:\squeakvm\winbuild\src' platformRootDirName: 'c:\squeakvm\platforms' logger: a TranscriptStream ' ' allFilesList: a Dictionary('ADPCMCodecPlugin'->an OrderedCollection('C:\squeakv...etc... interpreterClassName: #Interpreter is64BitVM: false
Win32VMMaker(VMMaker)>>generateInternalPlugin: Receiver: a Win32VMMaker Arguments and temporary variables: pluginName: #ADPCMCodecPlugin Receiver's instance variables: inline: true forBrowser: false allPlugins: a SortedCollection(#FileCopyPlugin #InternetConfigPlugin #MacMenuba...etc... internalPlugins: a SortedCollection(#ADPCMCodecPlugin #AsynchFilePlugin #B3DAcc...etc... externalPlugins: a SortedCollection() platformName: 'Win32' sourceDirName: 'C:\squeakvm\winbuild\src' platformRootDirName: 'c:\squeakvm\platforms' logger: a TranscriptStream ' ' allFilesList: a Dictionary('ADPCMCodecPlugin'->an OrderedCollection('C:\squeakv...etc... interpreterClassName: #Interpreter is64BitVM: false
[] in VMMakerTool>>generateSelectedInternalPlugin Receiver: a VMMakerTool Arguments and temporary variables: plugin: #ADPCMCodecPlugin Receiver's instance variables: dependents: a DependentsArray(a SystemWindow(234) a PluggableTextMorph(251) a P...etc... vmMaker: a Win32VMMaker allPluginsList: a PluggableListMorph(1266) allPluginsSelection: 31 allPluginsSelectionsArray: #(false false false false false false false false fa...etc... internalPluginsList: a PluggableListMorph(900) internalPluginsSelection: 1 internalPluginsSelectionsArray: #() externalPluginsList: a PluggableListMorph(92) externalPluginsSelection: nil externalPluginsSelectionsArray: #() logger: a TranscriptStream ' ' interpreterClassMorph: a PluggableTextMorph(251) platformPathMorph: a PluggableTextMorph(974) platformNameMorph: a PluggableTextMorph(1725) generatedPathMorph: a PluggableTextMorph(1811)
BlockClosure>>on:do: Receiver: [closure] in VMMakerTool>>generateSelectedInternalPlugin Arguments and temporary variables: exception: VMMakerException handlerAction: [closure] in VMMakerTool>>generateSelectedInternalPlugin handlerActive: true Receiver's instance variables: outerContext: VMMakerTool>>generateSelectedInternalPlugin startpc: 69 numArgs: 0
VMMakerTool>>generateSelectedInternalPlugin Receiver: a VMMakerTool Arguments and temporary variables: plugin: #ADPCMCodecPlugin Receiver's instance variables: dependents: a DependentsArray(a SystemWindow(234) a PluggableTextMorph(251) a P...etc... vmMaker: a Win32VMMaker allPluginsList: a PluggableListMorph(1266) allPluginsSelection: 31 allPluginsSelectionsArray: #(false false false false false false false false fa...etc... internalPluginsList: a PluggableListMorph(900) internalPluginsSelection: 1 internalPluginsSelectionsArray: #() externalPluginsList: a PluggableListMorph(92) externalPluginsSelection: nil externalPluginsSelectionsArray: #() logger: a TranscriptStream ' ' interpreterClassMorph: a PluggableTextMorph(251) platformPathMorph: a PluggableTextMorph(974) platformNameMorph: a PluggableTextMorph(1725) generatedPathMorph: a PluggableTextMorph(1811)
Hmmm,
I had the correct path - but not the correct image. I tried it now with an standard squeak image and everything works as expected. So - there is no bug
Sorry for the false alarm...
Marco Schmidt
2009/7/15 Andreas Raab andreas.raab@gmx.de:
Marco Schmidt wrote:
Generating source with VMMaker-dtl.125 produces the appended stack trace. The VMMaker is missing directories. Does every plugin need a directory in .../Cross? I tried to ignore missing directories programatically but the code generator hangs then in the inlining pass.
I think your directory paths are not set correctly. Assuming you started with a file release from squeakvm.org (i.e., http://squeakvm.org/win32/release/SqueakVM-Win32-3.11.3-src.zip or similar) the "path to platforms code" should be set be "c:\squeakvm\platforms" and the "path to generated sources" should be set to "c:\squeakvm\winbuild\src".
Cheers, - Andreas
15 July 2009 4:56:48 pm
VM: Win32 - IX86 - NT - Squeak3.10.2 of '5 June 2008' [latest update: #7179] Image: Pharo0.1 [Latest update: #10377]
SecurityManager state: Restricted: false FileAccess: true SocketAccess: true Working Dir H:\Smalltalk\Images\pharo-0.1Core-10371 Trusted Dir H:\Smalltalk\Images\pharo-0.1Core-10371\marco Untrusted Dir C:\Users\marco\Documents\My Squeak
DosFileDirectory(FileDirectory)>>directoryContentsFor: Receiver: DosFileDirectory on 'c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin' Arguments and temporary variables: fullPath: FilePath('c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin') entries: an OrderedCollection() index: 1 done: false entryArray: #badDirectoryPath f: 'c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin' Receiver's instance variables: pathName: FilePath('c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin')
DosFileDirectory(FileDirectory)>>entries Receiver: DosFileDirectory on 'c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin' Arguments and temporary variables: Receiver's instance variables: pathName: FilePath('c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin')
DosFileDirectory(FileDirectory)>>fileNames Receiver: DosFileDirectory on 'c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin' Arguments and temporary variables: Receiver's instance variables: pathName: FilePath('c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin')
DosFileDirectory(FileDirectory)>>fullNamesOfAllFilesInSubtree Receiver: DosFileDirectory on 'c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin' Arguments and temporary variables: result: an OrderedCollection() todo: an OrderedCollection() dir: DosFileDirectory on 'c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin'...etc... Receiver's instance variables: pathName: FilePath('c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin')
[] in Win32VMMaker(VMMaker)>>processFilesForInternalPlugin: Receiver: a Win32VMMaker Arguments and temporary variables: plugin: DosFileDirectory on 'c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlug...etc... fList: an OrderedCollection() dir: an OrderedCollection() Receiver's instance variables: inline: true forBrowser: false allPlugins: a SortedCollection(#FileCopyPlugin #InternetConfigPlugin #MacMenuba...etc... internalPlugins: a SortedCollection(#ADPCMCodecPlugin #AsynchFilePlugin #B3DAcc...etc... externalPlugins: a SortedCollection() platformName: 'Win32' sourceDirName: 'C:\squeakvm\winbuild\src' platformRootDirName: 'c:\squeakvm\platforms' logger: a TranscriptStream ' ' allFilesList: a Dictionary('ADPCMCodecPlugin'->an OrderedCollection('C:\squeakv...etc... interpreterClassName: #Interpreter is64BitVM: false
Array(SequenceableCollection)>>do: Receiver: an Array(DosFileDirectory on 'c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin' DosFil...etc... Arguments and temporary variables: aBlock: [closure] in Win32VMMaker(VMMaker)>>processFilesForInternalPlugin: index: 1 indexLimiT: 3 Receiver's instance variables: an Array(DosFileDirectory on 'c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin' DosFil...etc...
Win32VMMaker(VMMaker)>>processFilesForInternalPlugin: Receiver: a Win32VMMaker Arguments and temporary variables: plugin: ADPCMCodecPlugin fList: an OrderedCollection() Receiver's instance variables: inline: true forBrowser: false allPlugins: a SortedCollection(#FileCopyPlugin #InternetConfigPlugin #MacMenuba...etc... internalPlugins: a SortedCollection(#ADPCMCodecPlugin #AsynchFilePlugin #B3DAcc...etc... externalPlugins: a SortedCollection() platformName: 'Win32' sourceDirName: 'C:\squeakvm\winbuild\src' platformRootDirName: 'c:\squeakvm\platforms' logger: a TranscriptStream ' ' allFilesList: a Dictionary('ADPCMCodecPlugin'->an OrderedCollection('C:\squeakv...etc... interpreterClassName: #Interpreter is64BitVM: false
Win32VMMaker(VMMaker)>>privateGenerateInternalPlugin: Receiver: a Win32VMMaker Arguments and temporary variables: pluginName: #ADPCMCodecPlugin plugin: {ADPCMCodecPlugin} Receiver's instance variables: inline: true forBrowser: false allPlugins: a SortedCollection(#FileCopyPlugin #InternetConfigPlugin #MacMenuba...etc... internalPlugins: a SortedCollection(#ADPCMCodecPlugin #AsynchFilePlugin #B3DAcc...etc... externalPlugins: a SortedCollection() platformName: 'Win32' sourceDirName: 'C:\squeakvm\winbuild\src' platformRootDirName: 'c:\squeakvm\platforms' logger: a TranscriptStream ' ' allFilesList: a Dictionary('ADPCMCodecPlugin'->an OrderedCollection('C:\squeakv...etc... interpreterClassName: #Interpreter is64BitVM: false
Win32VMMaker(VMMaker)>>generateInternalPlugin: Receiver: a Win32VMMaker Arguments and temporary variables: pluginName: #ADPCMCodecPlugin Receiver's instance variables: inline: true forBrowser: false allPlugins: a SortedCollection(#FileCopyPlugin #InternetConfigPlugin #MacMenuba...etc... internalPlugins: a SortedCollection(#ADPCMCodecPlugin #AsynchFilePlugin #B3DAcc...etc... externalPlugins: a SortedCollection() platformName: 'Win32' sourceDirName: 'C:\squeakvm\winbuild\src' platformRootDirName: 'c:\squeakvm\platforms' logger: a TranscriptStream ' ' allFilesList: a Dictionary('ADPCMCodecPlugin'->an OrderedCollection('C:\squeakv...etc... interpreterClassName: #Interpreter is64BitVM: false
[] in VMMakerTool>>generateSelectedInternalPlugin Receiver: a VMMakerTool Arguments and temporary variables: plugin: #ADPCMCodecPlugin Receiver's instance variables: dependents: a DependentsArray(a SystemWindow(234) a PluggableTextMorph(251) a P...etc... vmMaker: a Win32VMMaker allPluginsList: a PluggableListMorph(1266) allPluginsSelection: 31 allPluginsSelectionsArray: #(false false false false false false false false fa...etc... internalPluginsList: a PluggableListMorph(900) internalPluginsSelection: 1 internalPluginsSelectionsArray: #() externalPluginsList: a PluggableListMorph(92) externalPluginsSelection: nil externalPluginsSelectionsArray: #() logger: a TranscriptStream ' ' interpreterClassMorph: a PluggableTextMorph(251) platformPathMorph: a PluggableTextMorph(974) platformNameMorph: a PluggableTextMorph(1725) generatedPathMorph: a PluggableTextMorph(1811)
BlockClosure>>on:do: Receiver: [closure] in VMMakerTool>>generateSelectedInternalPlugin Arguments and temporary variables: exception: VMMakerException handlerAction: [closure] in VMMakerTool>>generateSelectedInternalPlugin handlerActive: true Receiver's instance variables: outerContext: VMMakerTool>>generateSelectedInternalPlugin startpc: 69 numArgs: 0
VMMakerTool>>generateSelectedInternalPlugin Receiver: a VMMakerTool Arguments and temporary variables: plugin: #ADPCMCodecPlugin Receiver's instance variables: dependents: a DependentsArray(a SystemWindow(234) a PluggableTextMorph(251) a P...etc... vmMaker: a Win32VMMaker allPluginsList: a PluggableListMorph(1266) allPluginsSelection: 31 allPluginsSelectionsArray: #(false false false false false false false false fa...etc... internalPluginsList: a PluggableListMorph(900) internalPluginsSelection: 1 internalPluginsSelectionsArray: #() externalPluginsList: a PluggableListMorph(92) externalPluginsSelection: nil externalPluginsSelectionsArray: #() logger: a TranscriptStream ' ' interpreterClassMorph: a PluggableTextMorph(251) platformPathMorph: a PluggableTextMorph(974) platformNameMorph: a PluggableTextMorph(1725) generatedPathMorph: a PluggableTextMorph(1811)
Actually, it's perfectly reasonable to expect VMMaker to work with a Pharo image. It really should not make any difference at all.
I'm guessing there may be something different about file or directory handling in the Pharo image? I'm not going to try to hunt this down right now (leaving on vacation), but if anyone knows what's different, I'm sure we can find a workaround.
Dave
On Wed, Jul 15, 2009 at 10:03:07PM +0200, Marco Schmidt wrote:
Hmmm,
I had the correct path - but not the correct image. I tried it now with an standard squeak image and everything works as expected. So - there is no bug
Sorry for the false alarm...
Marco Schmidt
2009/7/15 Andreas Raab andreas.raab@gmx.de:
Marco Schmidt wrote:
Generating source with VMMaker-dtl.125 produces the appended stack trace. The VMMaker is missing directories. Does every plugin need a directory in .../Cross? I tried to ignore missing directories programatically but the code generator hangs then in the inlining pass.
I think your directory paths are not set correctly. Assuming you started with a file release from squeakvm.org (i.e., http://squeakvm.org/win32/release/SqueakVM-Win32-3.11.3-src.zip or similar) the "path to platforms code" should be set be "c:\squeakvm\platforms" and the "path to generated sources" should be set to "c:\squeakvm\winbuild\src".
Cheers, ?- Andreas
15 July 2009 4:56:48 pm
VM: Win32 - IX86 - NT - Squeak3.10.2 of '5 June 2008' [latest update: #7179] Image: Pharo0.1 [Latest update: #10377]
SecurityManager state: Restricted: false FileAccess: true SocketAccess: true Working Dir H:\Smalltalk\Images\pharo-0.1Core-10371 Trusted Dir H:\Smalltalk\Images\pharo-0.1Core-10371\marco Untrusted Dir C:\Users\marco\Documents\My Squeak
DosFileDirectory(FileDirectory)>>directoryContentsFor: ? ? ? ?Receiver: DosFileDirectory on 'c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin' ? ? ? ?Arguments and temporary variables: ? ? ? ? ? ? ? ?fullPath: FilePath('c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin') ? ? ? ? ? ? ? ?entries: ? ? ? ?an OrderedCollection() ? ? ? ? ? ? ? ?index: ?1 ? ? ? ? ? ? ? ?done: ? false ? ? ? ? ? ? ? ?entryArray: ? ? #badDirectoryPath ? ? ? ? ? ? ? ?f: ?'c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin' ? ? ? ?Receiver's instance variables: ? ? ? ? ? ? ? ?pathName: FilePath('c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin')
DosFileDirectory(FileDirectory)>>entries ? ? ? ?Receiver: DosFileDirectory on 'c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin' ? ? ? ?Arguments and temporary variables: ? ? ? ?Receiver's instance variables: ? ? ? ? ? ? ? ?pathName: FilePath('c:\squeakvm\platforms\Cross\plugins\ADPCMCodecPlugin')
vm-dev@lists.squeakfoundation.org