Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash opening a folder on Infinite HD #247

Closed
jcs opened this issue Nov 1, 2023 · 6 comments
Closed

Crash opening a folder on Infinite HD #247

jcs opened this issue Nov 1, 2023 · 6 comments

Comments

@jcs
Copy link

jcs commented Nov 1, 2023

  1. Navigate to https://infinitemac.org/1990/System%206.0.5?saved_hd=false in a private window.
  2. Open Inifinte HD
  3. Navigate to Developer -> THINK Pascal
  4. Open THINK Pascal 4.0 Utilities folder, and the VM will crash
@ghost
Copy link

ghost commented Nov 2, 2023

Happens to me on 6.0.5, and 6.0.8. Systems 7 and later don't seem to be affected, so this seems to be related to some limitation in System 6.

@that-ben
Copy link

that-ben commented Nov 2, 2023

This happens because something in the Desktop DB is incompatible with System 6 (probably an icon is missing or is invalid). You can just hold down the OPTION (ALT) key upon boot and keep it held down until it reaches the desktop and asks you to rebuild the desktop on Macintosh HD. Keep the key held down after that because you also want to rebuild the desktop on Infinite HD, which is where the incompatibility occurs. Then it works just fine:
dasdas

Ideally @mihaip should rebuild the desktop with both System 6 and System 7 since that disk image is used by both.

@mihaip
Copy link
Owner

mihaip commented Nov 5, 2023

I do rebuild the desktop DB with both for precisely this reason:

# System 6 (and earlier) use a different "Desktop" file to store the
# database. We need to do this first, otherwise it will clobber the
# "Desktop DB" file generated by System 7/Mac OS 8 (the Desktop Mgr INIT
# is supposed to prevent this, but it also prevents the Desktop file from
# being built at all).
# We also need to ensure that Finder has an increased preferred memory
# size (512K instead of 160K), otherwise it will run out of memory when
# doing the rebuild.
minivmac.run([disks.SYSTEM_608.path()] + [i.path for i in images])
basilisk.run(
# Boot from Mac OS 8.1 to ensure that the Desktop database that's
# created is acceptable to all classic Mac OS versions (one generated by
# System 7 is not).
["*" + disks.MAC_OS_81.path()] + [i.path for i in images])

Is there a difference between an explicit desktop DB rebuild (when command-option is held down) vs an automatic one (which is what I rely on -- the generated disks don't have a Desktop file at all, so the Finder creates one when the disk is mounted)?

@that-ben
Copy link

that-ben commented Nov 5, 2023

There shouldn't be any difference between a missing Desktop DB (or "Desktop" under System 6) that's automatically regenerated upon boot vs when you hold down COMMAND-OPTION on boot to manually trigger the Desktop DB regeneration. The question is what happened on that IM release? Was it incorrectly generated? Was the THINK Pascal folder added after the desktop was automatically built and the Finder did not like something in that folder which prevented it to add it to the Desktop DB?

So if I understand correctly, the code above is run before you release IM and the "Desktop" file (for System 6) does not already exist when you run this code, correct?

EDIT: Uhm, I see that you generate the Desktop file with System 6.0.8 but the above link uses 6.0.5. Is it possible that Apple fixed a bug in the Desktop file generation between 6.0.5 and 6.0.8 and that by generating the Desktop file with 6.0.8 it makes it somehow incompatible with 6.0.5 ?! -> Can you try to run the Desktop file generation with 6.0.5 instead of 6.0.8, see if it makes a difference?

ALSO: Can you try to reverse the order in which you generate the Desktop DB and Desktop files? You could do Basilisk first and Mini vMac second, see if it makes a difference? I wonder if newer Mac OS that saw an old Desktop file would mess with it?

@mihaip mihaip closed this as completed in 60f23d3 Nov 17, 2023
@mihaip
Copy link
Owner

mihaip commented Nov 17, 2023

I ended up generating a smaller version of Infinite HD for System 6 and earlier (which excludes software that's too new to run on it), and that allows this folder to open.

@that-ben
Copy link

This makes more sense anyway, good call! Thanks :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants