Plaster
New
List
Login
text
default
anonymous
2024.10.23 10:11:53
I went into the .LISPWORKS file on my main Mac workstation, and commented out the :UNICODE thingy… > (pushnew :unicode system:*specific-valid-file-encodings*) Then I started up LWM from the Mac Launcher. It acted very bizarre and took several seconds just sitting there. Then it threw up the tail of the message and bombed out. No IDE, but it did throw up a last-resort console terminal window, and I happened to catch what it said. At first I was going to dismiss the console window and try again. But something in me said, “Don’t close that console window just yet.” Then I retried starting LWM, and this time I got the wall of Chinese and another bacground console window saying it had a problem with one of my init files. (My init files are just fine.). Looking back at the first console window: Last login: Wed Oct 23 00:46:49 on console /var/tmp/lwtemp_Fornax_11040z7yqNj.command ; exit; ➜ ~ /var/tmp/lwtemp_Fornax_11040z7yqNj.command ; exit; zsh: no such file or directory: /var/tmp/lwtemp_Fornax_11040z7yqNj.command Saving session...completed. [Process completed] Something about that looks a bit fishy to me. A .command file? Saving session? What the heck? It is starting to look like somebody, perhaps from China, is actually trying to poison the CL Quicklisp supply chain. I will endeavor to chase down the QL Distribution causing the problems. It also looks like I might want to trash my copy of LWM and reinstall from the original zip file. - DM ------------------------------------------------------- To add to the intrigue.. That .command file is not present in the /var/tmp folder. It erased itself. Rather suspicious behavior, I think. This is seeming intentional on some A-hole’s part. ------------------------------------------------------- Narrowing it down some more — like not a time bomb in the LW Image. But rather an errant Quicklisp distribution. On the Windows machine, it initially ran into a problem at LWW startup - a wall of Chineese characters kept making my system bomb out. I thought that an init file got textually clobbered somehow. So I spend a long while going through all the startup files looking for problems - found none. And while I was doing that, I was incrementally gaining LW IDE features. And those windows showed up right where they should have been on screen, and with the correct sizes that I use. And I found one little difference in the main .LISPWORKS init file, between the Mac computers and the Windows computer. That was the missing line: (pushnew :unicode system:*specific-valid-file-encodings*) as here: (pushnew :LATIN-1 system:*specific-valid-file-encodings*) (pushnew :unicode system:*specific-valid-file-encodings*) (pushnew :utf-8 system:*specific-valid-file-encodings*) (lw:set-default-character-element-type 'cl:character)) And when I added that missing line, my system managed to load up completely. BUT… it showed factory settings in the IDE windows, whereas, during incremental startup debugging I had my normal preferences showing. SO TL;DR There is an errant QL Distribution. I added the Unicode line the other day when I downloaded a Quicklisp library. Which one was it? I can’t recall offhand. And I am not using it either. I just loaded it to check it out. But I’ll go fishing through the folder to look for the most recent addition and I’ll let everyone know it is poisoned… - DM ------------------------------------------------------- Well, I found that QL Package :LOCAL-TIME does some nasty stuff. Don’t know exactly what, but immediately after loading it through quickload, my system settings went back to factory default. And if I didn’t enable Unicode in my startup, then the system would simply bomb with a background console terminal window, no IDE. So I took a chance and re-enabled the Unicode, and incrementally rebuilt the entire Quiclisp for myself. I did trash the Quicklisp, the .lispworks.config, and the entire LWM installation, and worked my way back up to a running system. I did then uninstall :LOCAL-TIME. And BTW, that LW Client/Server now works just fine. I don’t know what was in that surreptitious .command file, since it erased itself. But it did leave the hint that it had Saved session… I don’t know where it saved, perhaps over the top of the LWM image? If this is just some crazy kludge gone awry, then shame on the QL folks for allowing it to slip through. But it sure smells like malevolent behavior to me. I have been running with :LOCAL-TIME for quite a while. So LOCAL-TIME has a time-bomb planted inside. Beware… - DM
Raw
Annotate
Repaste
Edit
Annotations
text
default
anonymous
2024.10.23 10:33:30
Something has happened in the past 24 hours. My default window sizes and positions for LWM were all reset to factory settings, and suddenly I can no longer reach a telemetry port on my same computer, nor any others in the lab. I get this message resulting from the attempt to open a TCP/IP port: Error making TCP connection: host="fornax.local", service=65_201, reason=Failed to find address info for hostname "fornax.local" and service 65_201 {Domain IPv4} : nodename nor servname provided, or not known(8). using this for the socket open: (let ((sock (comm:open-tcp-stream host port :element-type '(unsigned-byte 8) ;; :ipv6 nil :read-timeout 2 :errorp t ))) The error pops up immediately - no pause or processing wait. Rebooting the computers does not help. I checked the system Network settings and it all looks “normal” for Apple. Yet, I can reach all the computers in the lab through my own implementation of Async Sockets atop what LWM offers for the core functionality. Going LWM to LWW Async Sockets to Async Sockets all works just fine. It is the non-async socket protocol provided in the base LWM that seems to be broken at the moment. Trouble is, my telemetry sender in some cases is not running my LW Async Socket interface. It is a stupid simple C/C++ TCP/IP socket provided by JUCE for audio processing. I use LW to connect to the telemetry port to watch live graphs of the inner workings of audio plugins. I haven’t changed anything in my computer, and it appears to be happening the same way on several other computers here in the lab. So I wonder if Apple surreptitiously provided a midnight “update” to all my systems and bricked the functionally that has been running for more than a year?? Anyone else notice this? Anyone have suggestions for how to fix this apparent ignorance of a remote socket server? Is there some addition I need to make to a Hostnames file to give my socket on port 65201 a name? Anybody??? - DM ----------------------------------- Every one of my Mac computers has been afflicted in the same way. Even one that hasn’t been touched in a month… Taking a page out of the manual for function COMM:STARTUP-SERVER (defvar *talk-port* 65500) (defun make-stream-and-talk (handle) (let ((stream (make-instance 'comm:socket-stream :socket handle :direction :io :element-type 'base-char))) (mp:process-run-function (format nil "talk ~D" handle) '() 'talk-on-stream stream))) (defun talk-on-stream (stream) (unwind-protect (loop for line = (read-line stream nil nil) while line do (format stream "You sent: '~A'~%" line) (force-output stream)) (close stream))) (comm:start-up-server :function 'make-stream-and-talk :service *talk-port*) (defun talking-to-myself () (with-open-stream (talk (comm:open-tcp-stream "localhost" *talk-port*)) (dolist (monolog '("Hello self." "Why don't you say something original?" "Talk to you later then. Bye.")) (write-line monolog talk) (force-output talk) (format t "I said: \"~A\"~%" monolog) (format t "Self replied: \"~A\"~%" (read-line talk nil nil))))) (talking-to-myself) ——————————————————————————— Produces this transcript: MAKE-STREAM-AND-TALK TALK-ON-STREAM *TALK-PORT* MAKE-STREAM-AND-TALK TALK-ON-STREAM #<MP:PROCESS Name "65_500 server" Priority 3 State "Running"> TALKING-TO-MYSELF Hello self. I said: "Hello self." Self replied: "NIL" Why don't you say something original? I said: "Why don't you say something original?" Self replied: "NIL" Talk to you later then. Bye. I said: "Talk to you later then. Bye." Self replied: "NIL" ———————————————— Definitely not the expected results. So it looks like I can’t even communicate to myself across LOCALHOST… - DM ----------------------------------- Same exact peculiar behaviors on 3 different version of Mac OS Ventura 13.7 Sonoma 14.7 Sequoia 15.0.1 - 2 different computers running this All show LW opening up its IDE with factory settings (litle windows, opening in the wrong place). And all produce the same identical transcript on the LW STARTUP-SERVER demo code from the manual. What the heck??? ----------------------------------- I’m doing even better — I can run my Async Comm connections just fine, *AND* I’m sharing screens from the other computers on my main workstation. So yes, there is connectivity… But it gets even stranger. I’m beginning to think that the problem really is Lispworks (!!!).. I just ran a laptop running LWW 8.01 on Windows 7. This is my main radio control system. And it behaved identically to the Mac computers. At startup it showed the factory settings - small windows, planted in the wrong locations, tiny Editor window. AND it gives the exact same transcript results when running the LW demo Client/Server code. Now, if it were an Apple surreptitious update last midnight, then they surely wouldn’t have done anything to the Windows laptop computer. And yet it behaves, with Windows 10, exactly the same way as all the Mac workstations. So maybe there is a hidden time bomb planted in the LW image?? I mean all of the computers do the same thing at the same instant. Go figure… - DM
Raw
Repaste
Edit
text
default
anonymous
2024.10.23 11:12:19
That .command file is how LispWorks implements the last-resort console terminal window and it is deleted after it runs. The "no such file or directory" error suggests that it was deleted too soon, but I don't know why. You can test it in a working image by evaluating: (read-line *terminal-io*) and then typing something in the new terminal to make read-line return. I'm not sure about the "Saving session...completed." stuff but possibly it is printed by zsh or the terminal itself. The best thing to do whenever you have an IDE startup issue on the Mac is to try running LispWorks in a terminal window directly, e.g. all on one line: "/Applications/LispWorks 8.0 (64-bit)/LispWorks (64-bit).app/Contents/MacOS/lispworks-8-0-0-macos64-universal" which allows you to see any messages directly. BTW, I suspect that pushing :unicode on system:*specific-valid-file-encodings* will cause problems because system:specific-valid-file-encoding currently only handles 8-bit encodings. -- Martin Simmons LispWorks Ltd http://www.lispworks.com/
Raw
Repaste
Edit