I thought the Pharo base image (3.10 with a few fonts &
Balloon3d added) running on Windows was looking pretty stable (compared to other images). But after an hour
of editing code on a The process stack reported by When I click the Squeak icon on the window frame of the
running copy (upper left on Windows), I do see the menu for VM Preferences. It
shows me the menu and allows me to invoke actions. It will allow me to toggle
the “Show output console” on and off. The output console shows me
changes to memory (as I have that option checked). I can use my mouse wheel to
scroll this console. Control-‘.’ and Control-c (and lower case L)
in this console do not change anything. After mucking around in the console area, I am now getting
“WARNING: event buffer overflow” just moving my mouse around in
squeak. After turning the console off, the pointer is now invisible except when
you click. It appears that the overall squeak window is repainting itself
properly. -- Help me debug it I have an interest in building a commercial application in
Squeak. The FAQs says squeak is stable. Given the active community of
developers (including The Great Ones), I imagine that it is stable, and that I
am just doing something dumb… repeatedly. However, for Squeak to be
adopted more broadly, it can’t go zombie on users, even when the user
does something dumb. That’s an absolute. What is the longest uptime a squeak image has ever endured
(while doing something useful)? Which version was that and on what platform? So I am willing to work to help make squeak more robust, but
as a complete newbie with it, I need much guidance. So right now, with this
hung-up image, what should I do? Should I attach to it with gdb? And if so,
then what? [If the internal process control is working, I won’t be able
to make heads or tales out of it from gdb, right?] Or can I launch
another squeak and send it a signal in some way [is it listening?]? What is
most useful in this case? [Is there a way in Windows/Vista to signal an app so as to
force a core dump?] Thanks in advance, PS: I want to emphasize that I do not care about the code
lost in this particular instance (it was tutorial code), instead I am looking
for a stable free development environment… and I’m willing to help
make one.
_______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners |
Squeak the development environment does not protect a developer from doing something dangerous. It probably won't ever, but maybe a file based Smalltalk like GNU does.
Smalltalk become: nil is but one of a many ways to destroy your image (not saying that's what you did, just something dangerous to do). By your definition of stable, Squeak would protect you from trashing your image. That's not how images work. I've also used VisualWorks and IBM VisualAge and they were both super-stable for deployment but similarly easy to crash (well, not nearly as easy to crash as Squeak, but still...). Squeak applications can be very stable. I've had swikis run for months and months in the 2.x and early 3.x days on WinNT (this was many moons ago). Frankly, NT was more likely to tank than Squeak. Those images weren't safe from me if I was doing something dangerous, but the users couldn't do much harm just using the wiki. I don't run anything on Squeak right now that has a long uptime (since even my web apps are suspended when I close my laptop), but I suspend and resume all the time on my deployed images (not development images) and they just keep on running. These are in Seaside. The good news is your code isn't lost. You can roll it back from a clean image from the .changes file. This is handy, but it is even better to use something like Monticello. Images are great for jump starting (loading a distro with useful tools) and great for returning right where you left off, but they aren't a substitute for version control. Images are really hard to repair once they've gone bad. I certainly don't know how and I've been doing Smalltalk since 95. On Fri, Jan 9, 2009 at 6:39 PM, Cameron Sanders <[hidden email]> wrote:
_______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners |
Since this is the beginners list, thought you might like some pointers. I googles "Squeak recover changes"
First, the wiki: http://wiki.squeak.org/squeak/2168 FYI: You are in good company, here is an email from Ralph Johnson (of the Gang of Four) to Mark Guzdial (who would go on to write two great books on Squeak): http://www.cc.gatech.edu/fac/mark.guzdial/squeak/notes/changesets.html (Note that this predates Monticello by many years) On Fri, Jan 9, 2009 at 8:26 PM, David Mitchell <[hidden email]> wrote: Squeak the development environment does not protect a developer from doing something dangerous. It probably won't ever, but maybe a file based Smalltalk like GNU does. _______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners |
In reply to this post by David Mitchell-10
It was the code for the laser game tutorial that I was entering. And so far
everything (using Pharo 3.10) was behaving exactly as expected. (Except that the refactoring menu items were available and used.) I didn't define stable. However, it seems like a development environment should wrap my 'do it's and executions (even test runs) in safe environments (e.g. threads) so that the world menu system continues to work even if I write an infinite loop. And I suspect they are so that it does -- I imagine that there is a defect in the base windowing system (Morphic?) and that no code is hearing the mouse and keyboard events (noting that the menu on the window frame for the VM is still responding, and the app repaints when necessary.) Mac people snicker... and then we wonder if they coded it this way on purpose. I see that another Windows user has reported a lock-up on this forum just last month. Perhaps I will back up and see if 3.9 is a better starting point. 3.8? I will be glad to assist in making the development environment better (with a first goal of a longer mean-time between lock-ups on Vista platforms), because right now, those lock-ups are intolerable. I had an image up for 5 minutes last night when it locked up on me. Ironically, I was attempting to save the image! Today, in this particular lock-up, I got distracted by email or a phone call or something, and when I returned, Squeak was locked up. Possibly I clicked something before I departed and forgot about it by the time I came back. But basically, all inputs (except those that I mentioned) ceased to function. -- By the way, I worked with VisualAge for Smalltalk back in '98 (for a year), and it was very stable for me. I worked with VisualWorks last spring for a couple of months, and it too didn't leave me panicky to save my code (to a repository) every 5 minutes. It was quite solid, and intuitive. -- I attached gdb to the process, and of course when I caught it -- with only a handful of samplings -- it was in the gc. (As expected.) > The good news is your code isn't lost. You can roll it back from a clean image from the .changes file. This is handy, but it is even better to use something like Monticello. Thanks, that is good news in general. In this case I can just grab the tutorial code from a repository if I can't recover it. I need to figure out how to get it to allow me to engage in simple browsing and editing without lock-ups. Because without that... I just can't relax and code. Thanks for the feedback, Cam _______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners |
In reply to this post by Cameron Sanders-2
It is worth noting that Pharo is currently under heavy development.
The Pharo team is busy ripping out parts of Squeak they don't want in
the base image and adding other parts that they do want. From all
reports it is very nice to work in, but it is not a stable release at
this point. If you want to keep working with it, be prepared to submit
bug reports to that list if you encounter issue like this one.
Otherwise, pick up the squeak 3.10, 3.9, or 3.8 to try out the tutorials until Pharo is more stable/released if you don't want to be that involved in the development (or early beta/alpha? testing) of it. On Fri, Jan 9, 2009 at 4:39 PM, Cameron Sanders <[hidden email]> wrote:
_______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners |
In reply to this post by Cameron Sanders-2
Hello Cameron,
CS> I see that another Windows user has reported a lock-up on this forum just CS> last month. Perhaps I will back up and see if 3.9 is a better starting CS> point. 3.8? Squeak should be a stable development System for many people. For historical reasons I use 3.8 and I'm using it for hours without saving. I even use it in trains on my laptop without the accumulator inserted, and if the power fails I just recover my last steps from the changes file. As there are so many developers on Squeak dev, they must have similar experience with the current versions. I guess the Pharo people do development in Pharo, so they must have a stable Pharo development environment too. All this aside, the youngest entry in the changes file might show your last action (if it wasn't a click) so this might give us a clue. At a customer of mine we had to exclude Squeak from the virus scanning, we didn't experience crashes but it was dreadfully slow. IIRC the reason was that the scanner slowed the access to the changes file. Have you ever tried on another computer? IMHO this is not Squeak but Squeak + something else in your System. -- Cheers, Herbert _______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners |
> All this aside, the youngest entry in the changes file might show your
last action (if it wasn't a click) so this might give us a clue. Good point. I will keep that in mind. > Have you ever tried on another computer? IMHO this is not Squeak but Squeak + something else in your System. I suspect you are right. A different operating system is fine for play, but one goal of mine for a specific project is to find a system that can build windows apps, and yet not be married to windows. Thanks again, Cam _______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners |
In reply to this post by cbc
Thanks, and again [see my other postings with same subject line] I have
tried other 3.10 images, and those too have given me some lock-ups out-of-the-blue (just browsing, etc.). OK, so right now, I am a running copy of Croquet (out-of-the-box ... I have done NOTHING to it) that was working fine for the last 20 minutes and in previous runs, the virtual world was operating fine too on a Vista box. Suddenly, without compiling code, executing code, nor downloading kits, etc., the world menus stopped popping up. This is a little different from some of the other lock-ups, because in those cases living objects (e.g. browsers, shout) were NOT responding to my input. However, in this instance, I happened to have pinned a number of the menus to the background, and they *still work*!! I can bring up debuggers and browsers and they function as expected. -- and a few minutes later... So I started to browse the WorldWindow or whatever it is called (to get oriented with the code that sets up the world menu), and I invoked test2, which created basically a new project. I went to move it, and accidently entered it... so now I can't seem to exit that project because the world/morph window is not popping up. There must be a keyboard command to move between projects, right? Any tips for the easiest way to re-attach the world menus, should I ever be in a position to shout? -Cam _______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners |
Hello Cameron,
this is getting real crazy now. CS> So I started to browse the WorldWindow or whatever it is called (to get CS> oriented with the code that sets up the world menu), and I invoked test2, CS> which created basically a new project. I went to move it, and accidently CS> entered it... so now I can't seem to exit that project because the CS> world/morph window is not popping up. CS> There must be a keyboard command to move between projects, right? In case the right mouse key still works, it has a "previous project" item to go back. In case it doesn't, alt K should open a workspace there you type: World putUpWorldMenuFromEscapeKey and doIt. There may be other ways but this is what I found on browsing PasteUpMorph which is the class of what World refers to. Or doIt (Project namedWithDepth: 'New Changes') enter. Maybe you need to set your display depth to Window's display depth. World menu, appearence, set display depth. This only affects the speed of BitBLT. And you should look at your virus scanner. CS> Any tips for the easiest way to re-attach the world menus, should I ever be CS> in a position to shout? My Denglisch (german english) can't parse that :-)) -- Cheers, Herbert _______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners |
Herbert Koenig writes:
HK> this is getting real crazy now. Yep. This loss of the root world menu (and in some cases, the loss of all interaction with objects on the world) makes the system unusable. Hopefully I will get these issues figured out soon... because I really need to get back to actual production coding. One month ago I was hopeful that Squeak would be the platform I use for the next few years... but unless I have some miracle break-through in the next few days, I will have to move on. [Sadly, after so many problems, I am hesitant to do any prototyping in squeak... for fear it will be lost time.] By the way, I wrote: CS> world/morph window is not popping up. But I should have said: world/morph "menu" is not popping up. -- HK> In case it doesn't, alt K should open a workspace there you type: World putUpWorldMenuFromEscapeKey and doIt. Thank you, that helps me get oriented, and gives me something concrete to try. In this (last) case where the mouse buttons would not raise a menu, the escape key did. However, the menu just disappeared without effect when I clicked it, and no mouse-over visual effects before clicking. Next time I will try to raise a menu via code, as you have shown me. -- HK> Maybe you need to set your display depth to Window's display depth. World menu, appearence, set display depth. I will check this particular image, but so far these have all been set to 32 bits. > And you should look at your virus scanner. Hmmm... an interesting thought. Is there some known bug? CS> Any tips for the easiest way to re-attach the world menus, should I ever be CS> in a position to shout? HK> My Denglisch (german english) can't parse that :-)) You already covered how to bring up the world menu via code. Here I am asking how to re-bind the base menus (on mouse click events)? (Assuming the menus exist in code -- I understand how things evolve in smalltalk.) I will peruse the code more. A version of the workspace is called Shout (as I understand it)... and so I simply meant that "if I can bring up a workspace". Cheers is right. Thanks for some direction! I attached gdb (gnu debugger) to the process of squeak in the case where the world was not responding to mouse or keyboard inputs (even though the window-frame menu could effect the console), but I did not know what functions to watch for. If someone could have told me to "see if XxxEventHandlerPassthroughYyyy() is ever called", or something, I could have done it. As it was, I would "step 1000", for example, check the stack, and very often it was in a GC function, although not always. Should I generate the VM code and get oriented with it, or is the outer-most morphic world (instance) created through a dll or something that does not require specific code in the VM? Also, I'm wondering what signals it will respond to -- perhaps I can add a few back-door debugger launchers. Ugh... so much to learn, and so little time. Thanks again! Cam _______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners |
The virus part rang a bell for me. From the list in 2007 (Ramon Leon mentioned in the thread that he couldn't get Squeak to run well on Vista:
http://lists.squeakfoundation.org/pipermail/squeak-dev/2007-May/117397.html "I had the same problem when running Squeak on Vista. It turned out that it was due to NOD32 anti-virus checking the changes file when it was written to. Disabling the .CHANGES extension in NOD32 fixed the problem, and now Squeak runs fine." Hope this is it. On Sun, Jan 11, 2009 at 5:59 PM, Cameron Sanders <[hidden email]> wrote: Herbert Koenig writes: _______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners |
In reply to this post by Herbert König
On Jan 10, 2009, at 12:19 PM, Herbert König wrote: > Hello Cameron, > > > CS> I see that another Windows user has reported a lock-up on this > forum just > CS> last month. Perhaps I will back up and see if 3.9 is a better > starting > CS> point. 3.8? > > Squeak should be a stable development System for many people. For > historical reasons I use 3.8 and I'm using it for hours without > saving. I even use it in trains on my laptop without the accumulator > inserted, and if the power fails I just recover my last steps from the > changes file. > > As there are so many developers on Squeak dev, they must have similar > experience with the current versions. I guess the Pharo people do > development in Pharo, so they must have a stable Pharo development > environment too. Yes do and developing a lot of other stuff. And lukas is developing seaside on it. Now most of us are on macs. > All this aside, the youngest entry in the changes file might show your > last action (if it wasn't a click) so this might give us a clue. > > At a customer of mine we had to exclude Squeak from the virus > scanning, we didn't experience crashes but it was dreadfully slow. > IIRC the reason was that the scanner slowed the access to the changes > file. > > Have you ever tried on another computer? IMHO this is not Squeak but > Squeak + something else in your System. > > > -- > Cheers, > > Herbert > > _______________________________________________ > Beginners mailing list > [hidden email] > http://lists.squeakfoundation.org/mailman/listinfo/beginners > _______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners |
In reply to this post by Herbert König
On Jan 10, 2009, at 12:19 PM, Herbert König wrote: > Hello Cameron, > > > CS> I see that another Windows user has reported a lock-up on this > forum just > CS> last month. Perhaps I will back up and see if 3.9 is a better > starting > CS> point. 3.8? > > Squeak should be a stable development System for many people. For > historical reasons I use 3.8 and I'm using it for hours without > saving. I even use it in trains on my laptop without the accumulator > inserted, and if the power fails I just recover my last steps from the > changes file. > > As there are so many developers on Squeak dev, they must have similar > experience with the current versions. I guess the Pharo people do > development in Pharo, so they must have a stable Pharo development > environment too. Yes do and developing a lot of other stuff. And lukas is developing seaside on it. Now most of us are on macs. > All this aside, the youngest entry in the changes file might show your > last action (if it wasn't a click) so this might give us a clue. > > At a customer of mine we had to exclude Squeak from the virus > scanning, we didn't experience crashes but it was dreadfully slow. > IIRC the reason was that the scanner slowed the access to the changes > file. > > Have you ever tried on another computer? IMHO this is not Squeak but > Squeak + something else in your System. > > > -- > Cheers, > > Herbert > > _______________________________________________ > Beginners mailing list > [hidden email] > http://lists.squeakfoundation.org/mailman/listinfo/beginners > _______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners |
In reply to this post by David Mitchell-10
Thanks, I will keep an eye on the virus
scanner. Just to provide some closure.
Thanks to all of you who offered helpful
advice. And thanks to all Squeak contributors… very nice! - __________ Information from ESET Smart Security, version of virus signature database 3762 (20090113) __________ The message was checked by ESET Smart Security. http://www.eset.com _______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners |
Free forum by Nabble | Edit this page |