> On 07 Mar 2015, at 19:59, Thierry Goubier <[email protected]> wrote: > > Hi Max, > > on another Ubuntu 14.10 machine, I have no issue as well. I'm starting to > suspect an ubuntu upgrade effect on one of the system libs or the kernel.
ouch :) > > Would you have the time to see where one of those tests fail? Any one would > probably tell me something. Sorry, I forgot. The problem seems to be that the issue tests are located in directories which do not contain a .git directory. Thus the git commands fail. Fuel file of the stack: https://www.dropbox.com/s/4dzst3cdgupcnr7/Debugger-Stack-MCFileTreeGitRepository-2015-03-07-224322.fuel?dl=0 <https://www.dropbox.com/s/4dzst3cdgupcnr7/Debugger-Stack-MCFileTreeGitRepository-2015-03-07-224322.fuel?dl=0> Stack trace: MCFileTreeGitRepository class(Object)>>error: [ c := PipeableOSProcess command: self gitCommand , ' ' , aCommandString environment: nil workingDir: (MCFileTreeFileUtils current directoryPathString: aDirectory) input: nil output: nil error: nil errorPipelineStream: nil. r := c output. "Force the command to terminate." c succeeded ifFalse: [ | errorString | errorString := c errorUpToEndOfFile. errorString notEmpty ifTrue: [ self error: 'Git error: ' , errorString ]. r := '' ] ] in MCFileTreeGitRepository class>>runOSProcessGitCommand:in: in Block: [ ... BlockClosure>>ensure: MCFileTreeGitRepository class>>runOSProcessGitCommand:in: MCFileTreeGitRepository class>>runGitCommand:in: MCFileTreeGitRepository>>gitCommand:in: MCFileTreeGitRepository>>gitVersions MCFileTreeGitRepository>>loadAncestry [ :bar | anAncestry := self loadAncestry. 1 to: entries size do: [ :i | (entries at: i) in: [ :entry | | entryVersions v | entryVersions := OrderedCollection new. commitIDs := self gitVersionsForPackage: entry name. [ commitIDs atEnd ] whileFalse: [ | logSize commitID author position message dateAndTime | (commitIDs match: 'log size ') ifFalse: [ self error: 'Unable to find git data in input' ]. logSize := Integer readFrom: commitIDs. commitIDs next. position := commitIDs position. commitID := ByteArray readHexFrom: (commitIDs upTo: $|) trimBoth. author := (commitIDs upTo: $|) onlyLetters. dateAndTime := DateAndTime fromString: (commitIDs upTo: $|). message := (commitIDs next: logSize + 1 + position - commitIDs position) convertFromSystemString. entryVersions add: (GitFileTreePackageEntry on: entry name id: commitID author: author message: message timeStamp: dateAndTime) ]. v := 1. entryVersions size to: 1 by: -1 do: [ :j | (entryVersions at: j) buildInfoWith: entryVersions startingAt: j + 1 version: v ancestry: anAncestry. v := v + 1 ]. allNames addAll: entryVersions ]. bar value: i ] ] in MCFileTreeGitRepository>>loadAllFileNames in Block: [ :bar | ... BlockClosure>>cull: [ result := block cull: self ] in [ self prepareForRunning. [ result := block cull: self ] on: JobNotification do: [ :notification | notification handle: self ] ] in Job>>run in Block: [ result := block cull: self ] BlockClosure>>on:do: [ self prepareForRunning. [ result := block cull: self ] on: JobNotification do: [ :notification | notification handle: self ] ] in Job>>run in Block: [ ... BlockClosure>>ensure: Job>>run MorphicUIManager(UIManager)>>displayProgress:from:to:during: ByteString(String)>>displayProgressFrom:to:during: MCFileTreeGitRepository>>loadAllFileNames MCFileTreeGitRepository>>allFileNames MCFileTreeGitRepository>>readableFileNames MCFileTreeGitRepository(MCFileBasedRepository)>>allVersionNames [ self allVersionNames ] in MCFileTreeGitRepository(MCFileBasedRepository)>>goferReferences in Block: [ self allVersionNames ] BlockClosure>>on:do: MCFileTreeGitRepository(MCFileBasedRepository)>>goferReferences [ aRepository goferReferences asSortedCollection asArray ] in Gofer>>basicReferencesIn: in Block: [ aRepository goferReferences asSortedCollection a...etc... BlockClosure>>on:do: Gofer>>basicReferencesIn: [ self basicReferencesIn: aRepository ] in Gofer>>allResolvedIn: in Block: [ self basicReferencesIn: aRepository ] [ self at: key put: aBlock value ] in Dictionary>>at:ifAbsentPut: in Block: [ self at: key put: aBlock value ] Dictionary>>at:ifAbsent: > > Thierry > > Le 07/03/2015 18:07, Max Leske a écrit : >> >>> On 06 Mar 2015, at 17:21, Thierry Goubier <[email protected] >>> <mailto:[email protected]>> wrote: >>> >>> >>> >>> 2015-03-06 16:17 GMT+01:00 Max Leske <[email protected] >>> <mailto:[email protected]>>: >>> >>>> >>>>> On 06 Mar 2015, at 16:08, Thierry Goubier >>>>> <[email protected] <mailto:[email protected]>> >>>>> wrote: >>>>> >>>>> >>>>> >>>>> 2015-03-06 15:43 GMT+01:00 Max Leske <[email protected] >>>>> <mailto:[email protected]>>: >>>>> >>>>> >>>>>> On 06 Mar 2015, at 15:35, Thierry Goubier >>>>>> <[email protected] >>>>>> <mailto:[email protected]>> wrote: >>>>>> >>>>>> >>>>>> >>>>>> 2015-03-06 15:21 GMT+01:00 Max Leske <[email protected] >>>>>> <mailto:[email protected]>>: >>>>>> >>>>>> >>>>>>> On 06 Mar 2015, at 14:56, Thierry Goubier >>>>>>> <[email protected] >>>>>>> <mailto:[email protected]>> wrote: >>>>>>> >>>>>>> Ok. It's not an image problem. It seems to be a vm >>>>>>> problem or an ubuntu problem. >>>>>>> >>>>>>> (vm and vmLatest from get.pharo.org >>>>>>> <http://get.pharo.org/> have that, the vm in the pharo >>>>>>> launcher seems to work fine, and I haven't seen any >>>>>>> problem with Pharo3 ? Ubuntu 14.10 64bits). >>>>>>> >>>>>> >>>>>> Ok, so we need to find the VM version that breaks >>>>>> OSProcess… >>>>>> >>>>>> >>>>>> I tried to rebuilt a vm from the git for pharo-vm, and it >>>>>> failed at the end of the process... lots of incorrect >>>>>> function redefinitions in cogit.c, if it says anything. >>>>> >>>>> Yes, I know that. It’s a problem with gcc. To fix it and get >>>>> a working VM you can use the following: >>>>> >>>>> /* pre-empty some preprocessor variables used in >>>>> srv/vm/cogit.h, cointer.h, etc */ >>>>> # define NoDbgRegParms >>>>> # define NeverInline >>>>> >>>>> >>>>> In which header do you add that? >>>> >>>> >>>> src/vm/cogit.h >>>> src/vm/cointerp.h >>> >>> and src/vm/gcc3x-cointerp.c >>> >>> >>> Thanks, it worked. For the compilation, I mean. (the two .h happily >>> contain code to define those two macros ??) >>> >>> Ok, conclusion with a brand new VM: stuck at the very first test. The >>> worst result of all :( >>> >>> Thierry >> >> >> I ran your tests a couple of times and didn’t see any hangs or crashes >> (although most of the tests failed). This is on OSX 10.10.2. >> >> output: >> >> 'Running tests in 1 Packages' >> MCGitFileTreeIssue139Test>>#testWrite >> [FAIL] >> MCGitFileTreeIssue139Test>>#testLoad >> [FAIL] >> MCGitFileTreeIssue139Test>>#testWriteNRead >> [FAIL] >> MCGitFileTreeIssue139Test>>#testRepository >> [FAIL] >> MCGitFileTreeIssue146Test>>#testWrite >> [FAIL] >> MCGitFileTreeIssue146Test>>#testWriteNRead >> [FAIL] >> MCGitFileTreeIssue147Test>>#testWriteNRead >> [FAIL] >> MCGitFileTreeIssue26Test>>#testWriteNRead2 >> [FAIL] >> MCGitFileTreeIssue26Test>>#testWrite >> [FAIL] >> MCGitFileTreeIssue26Test>>#testLoad >> [FAIL] >> MCGitFileTreeIssue26Test>>#testWriteNRead >> [FAIL] >> MCGitFileTreeIssue33Test>>#testWrite >> [FAIL] >> MCGitFileTreeIssue33Test>>#testLoad >> [FAIL] >> MCGitFileTreeIssue33Test>>#testWriteNRead >> [FAIL] >> MCGitFileTreeIssue33Test>>#testRepository >> [FAIL] >> MCGitFileTreeIssue69Test>>#testLoad >> [FAIL] >> MCGitFileTreeIssue72Test>>#testLoad >> [FAIL] >> MCGitFileTreeIssue72Test>>#testWriteNRead >> [FAIL] >> MCGitFileTreeLoaderTest>>#testBaseLoadRepository >> [FAIL] >> MCGitFileTreeLoaderTest>>#testCypressCuisLoad >> [FAIL] >> MCGitFileTreeLoaderTest>>#testIssue74 >> [FAIL] >> MCGitFileTreeLoaderTest>>#testTargetLoad >> [FAIL] >> MCGitFileTreeLoaderTest>>#testTargetLoadRepository >> [FAIL] >> MCGitFileTreeLoaderTest>>#testBaseLoad >> [FAIL] >> MCGitFileTreeLoaderTraitsTest>>#testLoad >> [FAIL] >> MCGitFileTreeTests>>#testStoreReadGitFileTree >> [31/31] >> Finished running 31 Tests > >
