ssheven icon indicating copy to clipboard operation
ssheven copied to clipboard

Type 7 Error on Power Macintosh 6100/60 (System 7.6.1)

Open frogsquire opened this issue 3 years ago • 20 comments

I have a Power Macintosh 6100/60 running System 7.6.1. I can launch the PPC version of the application, and enter a password or key, but after that it rapidly displays a line of text which says "connecting endpoint ...done" and then crashes with the error "the application "unknown" has unexpectedly quit, because an error of type 7 occurred."'

Putting in a bogus connection URL or port yields "connecting endpoint..." and the whole system locks up.

I tried the 68k version instead (just to see if it worked as PPC supports most 68k apps) and it quit with an error of type 2 after entering the password.

Any thoughts on how I can debug?

frogsquire avatar Mar 05 '22 23:03 frogsquire

I am seeing identical behavior on a Quadra 700 with a PowerPC upgrade card, also running 7.6.1. I was just about to file an issue myself.

goshhhy avatar Mar 05 '22 23:03 goshhhy

@goshhhy ha, what are the chances?

What happens if you try the 68k version, out of curiosity?

frogsquire avatar Mar 05 '22 23:03 frogsquire

same thing as you. i haven't tried it with the card off, though - just running the 68k-only binary.

goshhhy avatar Mar 05 '22 23:03 goshhhy

For further evaluation, I pulled some older versions of the program, and none of them worked - they all failed to even open because an unknown error occurred.

Also, I suspect some sort of incorrect memory is being read (or not cleared/calloc'd) when I launch 0.8.9, because there is garbage text in the various fields on the initial window.

frogsquire avatar Mar 06 '22 00:03 frogsquire

thanks for the report and the testing, I'll look into this, maybe an issue again with some functionality not being available on early PPC systems.

the garbage in the text fields is an issue with loading the preferences file, sounds like I messed up something with the version check

cy384 avatar Mar 06 '22 00:03 cy384

on the same machine with the PowerPC card disabled, i just get a line in the console window, "Failed to open Open Transport TCP endpoint."

goshhhy avatar Mar 06 '22 00:03 goshhhy

actually, now it's doing that on PowerPC too, so i think something else is up. no idea what's going on here

goshhhy avatar Mar 06 '22 00:03 goshhhy

@goshhhy Do you have a working TCP/IP connection? Do other apps (e. g. Cyberdog) successfully make connections?

frogsquire avatar Mar 06 '22 00:03 frogsquire

apparently not. it looks like a cable was loose, and my browser was caching the page i was using to test my connection :P

with that fixed, i'm seeing the crashes on PowerPC again (regardless of whether the PowerPC or 68k version is running), and on the same machine with a 68k processor, i am able to successfully connect to machines on my local network.

goshhhy avatar Mar 06 '22 01:03 goshhhy

@goshhhy Totally distracting from the point of this ticket, but I would be interested to hear what browser and other tooling you're using. I have had mixed luck getting browser packages to work on my machine. I use Cyberdog for web and FTP (but it has trouble listing FTP directories from some FTP services for some reason). I have tried to get other packages for FTP (e. g. Fetch) set up, but I haven't found a .sit that'll actually expand on my machine instead of crashing Stuffit.

Long-term, I am thinking about setting up a reverse proxy to strip HTTPS from connections so I can browse more sites. But haven't looked into that much as it'd require more work on another machine to host.

frogsquire avatar Mar 06 '22 01:03 frogsquire

i use iCab 2.99 and Netscape depending on what i'm doing. I use Frogfind as my search engine, which usefully will act as a proxy for pages which the browser normally wouldn't be able to view.

to transfer files from other machines i've installed DAVE so that i can connect to my NAS via SMB.

also, you probably just need to figure out how to get a newer version of Stuffit installed.

goshhhy avatar Mar 06 '22 01:03 goshhhy

Interesting, thanks. Frogfind sounds like a great help indeed.

At the moment I've got stuffit 5. I've downloaded newer versions up through Stuffit 7 but I have so far been unable to get them extracted.

Edit: Just now I was able to get Stuffit 7 extracted to an SMI using stuffit for windows. Who would have thought?

edit 2: unfortunately, on system 7.6.1 I don't think I can run versions of stuffit newer than 5.5.1, @goshhhy, unless you know of a way.

frogsquire avatar Mar 06 '22 01:03 frogsquire

on system 7.6.1 I don't think I can run versions of stuffit newer than 5.5.1,

Correct. StuffIt Expander 6 requires Mac OS 8.1 or later and a PowerPC processor. See https://en.wikipedia.org/wiki/StuffIt_Expander.

ryandesign avatar Aug 03 '22 20:08 ryandesign

I'm unable to reproduce this running Mac OS 7.6 on my powerbook 3400c, wondering if it's an issue specifically with the PPC 601 in your machines

can you try running this version? has some tweaks to some PPC code

cy384 avatar Aug 07 '22 22:08 cy384

@cy384 thank you so much for looking into this.

Unfortunately, the version you linked doesn't crash, but also doesn't do anything. The system just freezes with a blank top menu bar after launching it, and then has to be rebooted.

Also, in the last few months I have acquired machines running System 8.5, System 9.1, and OS X 10.6.8, so that has increased my ability to unstuff things and move software between machines substantially. They all run on the same network, so they can happily talk to each other.

I grabbed the latest ssheven on my iMac G3 running System 9.1 (regular 0.8.9). On this machine, it works pretty well. I can connect and do most things. I can't run htop, for example; it gives me: "error opening terminal xterm-16color. If you know how to work around that, I'd be interested. Once I ran echo TERM=xterm, setting the terminal to black and white, it worked fine. TERM=xterm-256color also worked OK, but no colors appear.

Thanks again.

frogsquire avatar Aug 08 '22 00:08 frogsquire

thanks for testing!

Unfortunately, the version you linked doesn't crash, but also doesn't do anything. The system just freezes with a blank top menu bar after launching it, and then has to be rebooted.

ok, that's very interesting to hear, I'll need to experiment more to narrow it down.

ssheven only supports the classic 16 terminal colors right now (actually it can only do 8) and sends either xterm-16color or xterm-mono terminal strings; these are available on most (but not all) systems. A setting to customize what ssheven sends is on the list of things to do.

cy384 avatar Aug 08 '22 02:08 cy384

ssheven only supports the classic 16 terminal colors right now (actually it can only do 8) and sends either xterm-16color or xterm-mono terminal strings; these are available on most (but not all) systems. A setting to customize what ssheven sends is on the list of things to do.

I suspect then that it has something to do with my server's configuration rather than ssheven. I'll look into it when I have a chance.

ok, that's very interesting to hear, I'll need to experiment more to narrow it down.

Is there anything I can do to help narrow it down? Happy to help. If you have ideas for where in code the problem might live, I can also take a look. I know enough C to be dangerous. Just not sure there's a way to attach a debugger or anything?

frogsquire avatar Aug 08 '22 02:08 frogsquire

actually, you could try installing MacsBug, which may give you a stack trace or something

some guesses about what the problem could be:

  • ssheven tries to call some code that's not available on early PPC Mac OS (unlikely because it works fine on my powerbook w/ 7.6)
  • the PPC assembly in mbed-tls doesn't work on 601's (possible, can test by building without that)
  • wrong compiler flags, maybe there's some -mcpu= that I should be using for PPC (unlikely, I vaguely recall messing with this)
  • compiler bug in retro68 specific to 601's (unlikely, but I did run into a 68k optimization bug previously)

of course, I'm just leaning in the 601 weirdness direction, it could be something completely different, or a combination of issues

cy384 avatar Aug 08 '22 02:08 cy384

I'll take a look when I have some time - probably next weekend - if I can get MacsBug to work. Hit me up if you have another binary for me to try.

frogsquire avatar Aug 08 '22 03:08 frogsquire

i'm having trouble booting my 601 upgrade card in my Quadra 700, or i would test it out. if i can get it working again i'll see what i can do.

if i were to hazard a guess, the assembly in mbed-tls being incompatible with the 601 seems a likely candidate to me.

goshhhy avatar Aug 08 '22 15:08 goshhhy

Just a quick update - I tried the latest ssheven on my Performa 5215CD running system 8.5, and it works great there. Colors and everything. It's just the 7.5.1 Power Macintosh I'm having issues with now.

frogsquire avatar Aug 16 '22 05:08 frogsquire

OK, this is getting me a lot farther. I am able to connect and enter a password. However, the password takes a very long time to appear in the box (each keypress takes >1 second), and it is always rejected, even though I know I am typing it right (and very slowly)!

I will try key authentication instead later on.

frogsquire avatar Aug 21 '22 01:08 frogsquire

thanks again for testing! that's very weird behavior. I'm wondering if retro68's PPC compiler is targeting something later than a powerpc 601 by default, so here's two more ssheven builds specifically for the 601:

cy384 avatar Aug 21 '22 02:08 cy384

OK, here's what we got:

ssheven-TEST-601-without-asm.bin: Typing is fast, authentication works! For the first time, I have a fully functional connection!

ssheven-TEST-601-with-asm.bin: Also works!

So both of these seem great. I assume the mbedtls one is superior in some way? They both seem to perform the same speedwise, and are perfectly usable.

frogsquire avatar Aug 21 '22 03:08 frogsquire

fantastic! in theory the assembly should make the encryption run faster, especially for the initial handshake. There's a line like "Beginning SSH session handshake... done (XX ticks)." when ssheven connects, a tick is ~1/60th of a second. If they're about the same it may be using a key exchange method that doesn't have any assembly in it, or maybe the assembly doesn't make much speed difference, or who knows. If it works at all I'm happy!

cy384 avatar Aug 21 '22 15:08 cy384

seems like Retro68 was indeed targeting the PPC 603 by default (issue over there), going to call this one solved for ssheven.

thanks again for your testing!

cy384 avatar Aug 29 '22 03:08 cy384