[Cuis-dev] FileEntry fileContents hangs on macOS Alias file

Bernhard Pieber bernhard at pieber.com
Wed Aug 13 12:22:48 PDT 2025


Hi Juan,

Thanks for looking into this. This is really strange.

I redownloaded the attachment alias_test.zip from my mail to Cuis-Smalltalk-Dev-UserFiles by dragging it in the Finder. I double-clicked it to decompress it to the folder alias_test.

I get this:
(DirectoryEntry userBaseDirectory / 'alias_test' // 'good') binaryContents size. 1228 .
(DirectoryEntry userBaseDirectory / 'alias_test' // 'bad') binaryContents size. 0 .

… even though the file named bad has 1172 bytes:
bernhard at Mini64 Cuis-Smalltalk-Dev-UserFiles % ls -lT alias_test
total 16
-rw-r--r--@ 1 bernhard  staff  1172  2 Aug 13:01:53 2025 bad
-rw-r--r--@ 1 bernhard  staff  1228  2 Aug 12:42:50 2025 good

Here is the hash:
bernhard at Mini64 Cuis-Smalltalk-Dev-UserFiles % md5 alias_test/bad 
MD5 (alias_test/bad) = 0e43b79da6ba19d176a1f02e6147fb77

bernhard at Mini64 Cuis-Smalltalk-Dev-UserFiles % hexdump -C alias_test/bad 
00000000  62 6f 6f 6b 00 00 00 00  6d 61 72 6b 00 00 00 00  |book....mark....|
00000010  38 00 00 00 38 00 00 00  5c 04 00 00 00 00 04 10  |8...8...\.......|
00000020  00 00 00 00 01 00 00 00  9e b5 97 d0 13 1f c7 41  |...............A|
...
00000460  00 00 00 00 01 d0 00 00  38 02 00 00 00 00 00 00  |........8.......|
00000470  10 d0 00 00 04 00 00 00  00 00 00 00 17 f0 00 00  |................|
00000480  f8 00 00 00 00 00 00 00  22 f0 00 00 04 03 00 00  |........".......|
00000490  00 00 00 00                                       |....|
00000494

I want to read those bytes in Cuis.

What do you get if you do this?
(DirectoryEntry userBaseDirectory / 'alias_test' // 'bad') binaryContents size.

Do you get a different hash?

Cheers,
Bernhard


> Am 13.08.2025 um 20:22 schrieb Juan Vuletich <juan at cuis.st>:
> 
> Hi Bernhard,
> 
> On 05/08/2025 6:15 PM, Bernhard Pieber via Cuis-dev wrote:
>> Hi,
>> 
>> I tripped over a macOS alias file which has only 1172 bytes but whose contents cannot be shown in a file list in the latest Cuis7.5-7384.image. The cursor turns into an hourglass and I need to interrupt Cuis with Cmd-Dot.
>> 
>> I attached a zipped directory with the bad file and a good alias file to compare. To reproduce do:
>> 
>> (DirectoryEntry userBaseDirectory / 'alias_test' // 'good') fileContents size. 1222 .
>> (DirectoryEntry userBaseDirectory / 'alias_test' // 'bad') fileContents size. „hangs"
>> 
>> Is this a bug or a feature?
>> 
>> If I use binaryContents it does not hang but answers a size of 0 which also seems false to me as the file contains 1172 bytes. How can I get those into a ByteArray?
>> 
>> (DirectoryEntry userBaseDirectory / 'alias_test' // 'good') binaryContents size. 1228 .
>> (DirectoryEntry userBaseDirectory / 'alias_test' // 'bad') binaryContents size. 0.
>> 
>> I could reproduce it on another Mac.
>> 
>> Cheers,
>> Bernhard
> 
> 
> I unzipped your file on my Mac and tried. If I open Mac Finder on the
> folder, and ask for 'Get Info' on them, I get:
> 
> 'good'. Kind: Document. Size: 1228 bytes.
> 
> 'bad'. Kind: Alias. Size: 1172 btytes. Original:
> /Users/bernhard/Dropbox/......./....rtfd
> 
> So, the 'good' is a regular file, not an alias. 'bad' is an alias, and
> the original file is not available in my system (making it a broken alias).
> 
> I don't see any crash, but trying to open 'bad'(with #fileContents or
> #binaryContents) results in a "bad does not exist" message. If I create
> an alias to a file that does exist, I get the contents of the file, even
> when if I open Terminal and do `more aliasAjuan1.txt` I get the binary
> encoding of the alias, and not the contents of the referenced file
> ('juan1.txt').
> 
> So, if there is a problem in your system, I could not reproduce it. What
> I see looks quite reasonable for me.
> 
> HTH,
> 
> --
> Juan Vuletich
> www.cuis.st
> github.com/jvuletich
> researchgate.net/profile/Juan-Vuletich
> independent.academia.edu/JuanVuletich
> patents.justia.com/inventor/juan-manuel-vuletich
> 




More information about the Cuis-dev mailing list