[squeak-dev] Error during installation of Git Browser from the Tools menu

rabbit rabbit at callistohouse.org
Mon Oct 3 10:53:23 UTC 2022


Good morning y'all! I have a couple of Semaphore questions.

 1. Why would a Process in a #critical: call have a Semaphore that is
    already signaled, but empty?
 2. Why does a #wait call to a Semaphore block when #isSignaled returns
    true?

6:28 <https://squeak.slack.com/archives/C02LC8AMS/p1664792932327979>
I appreciate any assists!
6:32 <https://squeak.slack.com/archives/C02LC8AMS/p1664793159432389>
For a little context, I am trying to install the Git Browser and it is 
hanging up. I am able to Alt-. and the resulting Debugger is blocked on 
a call to a Semaphore #critical: (the Semaphore in the Registry of a 
MultiByteFileStreaminside the call to a 
ZipFileMember>>#extractInDirectory:overwrite:, where the

  * UnixFileDirectory on
    '/media/rabbit/PRIME/CallistoHouse/squeak-6.0/github-cache/Metacello/metacello/master'

6:33 <https://squeak.slack.com/archives/C02LC8AMS/p1664793223106679>
I do not know what to do so I thought I would ask here. Is there any way 
to find other Processes inside a Semaphore's #critical: section? I am 
very confused about my second question above...Cheers!

Good morning y'all! I have a couple of Semaphore questions.

 1. Why would a Process in a #critical: call have a Semaphore that is
    already signaled, but empty?
 2. Why does a #wait call to a Semaphore block when #isSignaled returns
    true?
 3. Is there any way to find other Processes inside a Semaphore's
    #critical: section?

I am very confused about #2. For a little context, I am trying to 
install the Git Browser and it is hanging up. I am able to Alt-. and the 
resulting Debugger is blocked on a call to a Semaphore #critical:. The 
Semaphore in the Registry of a MultiByteFileStream, inside the call from 
a ZipFileMember>>#extractInDirectory:overwrite:, which calls #close to 
the file, with these...

  * receiver  -> a
    ZipFileMember(Metacello-metacello-214c519/repository/Metacello-Core.package/MetacelloVersionMethodSection.class/README.md)
  * aDirectory -> UnixFileDirectory on
    '/media/rabbit/PRIME/CallistoHouse/squeak-6.0/github-cache/Metacello/metacello/master'
  * file -> MultiByteFileStream:
    '/media/rabbit/PRIME/CallistoHouse/squeak-6.0/github-cache/Metacello/metacello/master/Metacello-metacello-214c519/repository/Metacello-Core.package/MetacelloVersionMethodSection.class/README.md'

I do not know what to do so I thought I would ask here, as well as on 
the Slack channel. I appreciate any assists! Cheers!

--

Have a good one; keep it, light.
Kindly,
rabbit
. .. … ‘…^,^

Sent from Callisto House :: decentralized mobile homeless solutions


On 10/2/22 23:14, rabbit wrote:
>
> Grr, sorry for the heavy traffic from me. I forgot to ask, could you 
> *zip up* an *image/changes* with Metacello and Git Browser loaded, as 
> well as the *github-cache*? Please put on Dropbox or some other file 
> sharing service and send me the link, if you have the time. Many 
> thanks, Jakob!
>
> Have a good one; keep it, light.
> Kindly,
> rabbit
> . .. … ‘…^,^
>
> Sent from Callisto House :: decentralized mobile homeless solutions
>
>
> On 10/2/22 23:11, rabbit wrote:
>>
>> I tried again, deleting the github-cache/ and it is hanging on an 
>> unregister call. :(
>>
>>
>> Have a good one; keep it, light.
>> Kindly,
>> rabbit
>> . .. … ‘…^,^
>>
>> Sent from Callisto House :: decentralized mobile homeless solutions
>>
>>
>> On 10/2/22 22:56, rabbit wrote:
>>>
>>> Hi Jakob, thanks for getting back to me on this issue I am having.
>>>
>>> I am running Ubuntu 22.04. Here is my vm + image info:
>>>
>>>     Image
>>>     -----
>>> /media/rabbit/PRIME/CallistoHouse/squeak-6.0/test-metacello.image
>>>     Squeak6.1alpha
>>>     latest update: #22185
>>>     Current Change Set: HomeProject
>>>     Image format 68533 (64 bit)
>>>     Preferred bytecode set: SistaV1
>>>
>>>     Virtual Machine
>>>     ---------------
>>>     squeak
>>>     Open Smalltalk Cog[Spur] VM [CoInterpreterPrimitives 
>>> VMMaker.oscog-dtl.3185]
>>>     Unix built on Jun  2 2022 15:26:05 Compiler: Clang 9.0.0 
>>> (tags/RELEASE_900/final)
>>>     platform sources revision VM: 202206021410 
>>> runner at fv-az125-921:work/opensmalltalk-vm/opensmalltalk-vm Date: Thu 
>>> Jun 2 16:10:44 2022 CommitHash: c9fd365 Plugins: 202206021410 
>>> runner at fv-az125-921:work/opensmalltalk-vm/opensmalltalk-vm
>>>     CoInterpreter VMMaker.oscog-dtl.3185 uuid: 
>>> 0e7f07b8-eed6-4362-b223-86c98594ddb9 Jun  2 2022
>>>     StackToRegisterMappingCogit VMMaker.oscog-mt.3179 uuid: 
>>> c6fbcb07-2a19-ed4f-8b40-9c119a70882a Jun  2 2022
>>>
>>> Here are my directories and files:
>>>
>>>     $ pwd
>>>
>>> /media/rabbit/PRIME/CallistoHouse/squeak-6.0/github-cache/Metacello/metacello/master/Metacello-metacello-214c519/repository/Metacello-MC.package/String.extension 
>>>
>>>
>>>     $ ll
>>>
>>>         total 48
>>>         drwxr-xr-x  3 rabbit rabbit 16384 Sep  4 09:20 ./
>>>         drwxr-xr-x 63 rabbit rabbit 16384 Sep  4 09:24 ../
>>>         drwxr-xr-x  2 rabbit rabbit 16384 Sep  4 09:26 instance/
>>>
>>>     $ cd instance/
>>>
>>>     $ ll
>>>
>>>         total 96
>>>         drwxr-xr-x 2 rabbit rabbit 16384 Sep  4 09:26 ./
>>>         drwxr-xr-x 3 rabbit rabbit 16384 Sep  4 09:20 ../
>>>         -rw-r--r-- 1 rabbit rabbit   307 Sep  4 09:26 
>>> addToMetacelloRepositories..st
>>>         -rw-r--r-- 1 rabbit rabbit   138 Sep  4 09:26 
>>> fetchRequiredForMetacelloMCVersion..st
>>>         -rw-r--r-- 1 rabbit rabbit   136 Sep  4 09:26 
>>> loadRequiredForMetacelloMCVersion..st
>>>         -rw-r--r-- 1 rabbit rabbit   313 Sep  4 09:26 
>>> mergeIntoMetacelloRepositories..st
>>>
>>> As you can see, there is no properties file, either .ston or .json, 
>>> either in String.extension or inside of its instance directory.
>>>
>>> I am deleting the git-cache/ directory and am trying again....well, 
>>> it established past the String.extension/ issue with a file there 
>>> 'properties.json
>>>
>>>     $ ll
>>>
>>>         total 80
>>>         drwxr-xr-x  3 rabbit rabbit 16384 Oct  2 22:22 ./
>>>         drwxr-xr-x 63 rabbit rabbit 16384 Oct  2 22:22 ../
>>>         drwxr-xr-x  2 rabbit rabbit 16384 Oct  2 22:22 instance/
>>>         -rw-r--r--  1 rabbit rabbit   554 Oct  2 22:22
>>>         methodProperties.json
>>>         -rw-r--r--  1 rabbit rabbit    22 Oct  2 22:22 properties.json
>>>
>>> And inside of instance/ I now have:
>>>
>>>     instance/$ ll
>>>
>>>         total 176
>>>         drwxr-xr-x 2 rabbit rabbit 16384 Oct  2 22:22 ./
>>>         drwxr-xr-x 3 rabbit rabbit 16384 Oct  2 22:22 ../
>>>         -rw-r--r-- 1 rabbit rabbit   307 Oct  2 22:22
>>>         addToMetacelloRepositories..st
>>>         -rw-r--r-- 1 rabbit rabbit   138 Oct  2 22:22
>>>         fetchRequiredForMetacelloMCVersion..st
>>>         -rw-r--r-- 1 rabbit rabbit   136 Oct  2 22:22
>>>         loadRequiredForMetacelloMCVersion..st
>>>         -rw-r--r-- 1 rabbit rabbit   313 Oct  2 22:22
>>>         mergeIntoMetacelloRepositories..st
>>>         -rw-r--r-- 1 rabbit rabbit   131 Oct  2 22:22
>>>         packageFileSpecFor..st
>>>         -rw-r--r-- 1 rabbit rabbit   140 Oct  2 22:22
>>>         recordRequiredForMetacelloMCVersion..st
>>>         -rw-r--r-- 1 rabbit rabbit   186 Oct  2 22:22
>>>         removeFromMetacelloRepositories..st
>>>         -rw-r--r-- 1 rabbit rabbit   254 Oct  2 22:22
>>>         resolvePackageSpecsNamedForMetacelloMCVersion.visited.ifAbsent..st
>>>
>>>         -rw-r--r-- 1 rabbit rabbit   108 Oct  2 22:22
>>>         setLoadsInMetacelloProject..st
>>>
>>> However, I get another issue now, a Confirm dialog:
>>>
>>>     Failed to extract
>>>     dalehenrich-filetree-056c634/tests/testRepositories/ver03/Cypress-Mocks.pkg/snapshot/classes/CypressMockBasic.class/class/current:.st.
>>>     Proceed?
>>>
>>> I click Yes and get:
>>>
>>>     Failed to extract
>>>     dalehenrich-filetree-056c634/tests/testRepositories/ver03/Cypress-Mocks.pkg/snapshot/classes/CypressMockBasic.class/class/name:.st.
>>>     Proceed?
>>>
>>> Was it ver03/ or ver04/? I'm not sure I clicked too fast and copied 
>>> the proceeding message and changed 'current' to 'name. I also faIled 
>>> to see if it was Cypress-Mocks.pkg/ or Cypress-Mocks.tree/...
>>>
>>> I click yes and get
>>>
>>>     Failed to extract
>>>     dalehenrich-filetree-056c634/tests/testRepositories/ver04/Cypress-Mocks.tree/CypressMockBasic.class/class/name:.st.
>>>     Proceed?
>>>
>>> A few more and it now continues to load...finally another error:
>>>
>>>     addClassAndMethodDefinitionsFromEntry:  (a
>>>     DirectoryEntryDirectory MetacelloToolBox.class)
>>>
>>>     *both of these return nil*
>>>
>>>         (entries detect: [ :entry | self isMethodPropertyFile:
>>>         entry] ifNone: [  ])
>>>         ((entries := classDirectory entries) detect: [:entry | self
>>>         isPropertyFile: entry] ifNone: [  ])
>>>
>>>     *so the call to #addClassDefinitionFrom: classPropertiesDict
>>>     comment: classComment blows up with a nil classPropertiesDict*
>>>
>>> Thanks!
>>>
>>>
>>> Have a good one; keep it, light.
>>> Kindly,
>>> rabbit
>>> . .. … ‘…^,^
>>>
>>> Sent from Callisto House :: decentralized mobile homeless solutions
>>>
>>>
>>> On 10/2/22 17:57, Jakob Reschke wrote:
>>>> Hi rabbit,
>>>>
>>>> I just installed the Git Browser via the Tools menu in a new trunk 
>>>> image and a new Squeak 6.0 image. In both it worked as it should.
>>>>
>>>> Please provide more information on your Squeak image and 
>>>> environment. Is it a trunk image or a release image? Operating system?
>>>>
>>>> In my corresponding cache 
>>>> directory C:\Squeak\github-cache\Metacello#metacello\master\Metacello-metacello-214c519\repository\Metacello-MC.package 
>>>> there is no 'instance' directory. properties.json should exist in 
>>>> the package directory and in the class and extension directories, 
>>>> but not in the instance directories that ought to be inside of the 
>>>> class and extension directories. What exactly is the incorrect path 
>>>> or non-existent file in your case? It could help to find out 
>>>> whether it is a path that should not exist and was therefore 
>>>> incorrectly constructed, or whether it is a legit path and some 
>>>> files are missing in what has been extracted on your disk.
>>>>
>>>> Kind regards,
>>>> Jakob
>>>>
>>>>
>>>> Am So., 2. Okt. 2022 um 19:14 Uhr schrieb rabbit 
>>>> <rabbit at callistohouse.org>:
>>>>
>>>>     Hey all'y'all,
>>>>
>>>>     I am getting an installation error when trying to install the
>>>>     Git Browser. I think it is during the Metacello-MC install. I'm
>>>>     stuck.
>>>>
>>>>     The UndefinedObject>>#error: 'only integers should be used as
>>>>     indices' is occurring in the
>>>>     MCFileTreeStCypressReader>>#addExtensionClassAndMethodDefinitionsFromEntry:
>>>>     classEntry.
>>>>
>>>>     The classEntry is
>>>>
>>>>         a DirectoryEntryDirectory String.extension
>>>>
>>>>             in the directory:
>>>>             '/media/rabbit/PRIME/CallistoHouse/squeak-6.0/github-cache/Metacello/metacello/master/Metacello-metacello-214c519/repository/Metacello-MC.package'
>>>>
>>>>     inside of #addExtensionClassAndMethodDefinitionsFromEntry:
>>>>     classEntry., the classPropertiesDict is nil. This is due to the
>>>>     classDirectory entries returning another directory
>>>>     '*instance*'. There is no 'properties.ston' or
>>>>     'properties.json' file inside of #isPropertyFile: with the
>>>>     directory 'instance' as the entry tested. In fact there is no
>>>>     properties files inside of 'instance' directory.
>>>>
>>>>         classDirectory := self fileUtils directoryFromEntry:
>>>>         classEntry.
>>>>           ((entries := classDirectory entries) ...
>>>>             detect: [ :entry | self isPropertyFile: entry ]
>>>>             ifNone: [  ])
>>>>
>>>>     Help! Muchas gracias!
>>>>
>>>>     -- 
>>>>     Have a good one; keep it, light.
>>>>     Kindly,
>>>>     rabbit
>>>>     . .. … ‘…^,^
>>>>
>>>>     Sent from Callisto House :: decentralized mobile homeless solutions
>>>>
>>>>
>>>>
>>>>
>>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20221003/5f1226f1/attachment.html>


More information about the Squeak-dev mailing list