Every time I get the Aida one-click download for Pharo on Windows, I'm confronted with a problem that I believe is partly Aida's fault, and partly Pharo's.
Periodically a DNR error shows up when the system tries to copy the running image (presumably for backup purposes).. The part that's Pharo's is a failure to properly initialize stdErr in ExternalWindowsOSProcess>>value before calling initialStdErr. Hence it's nil, and I get a DNR error when nextPutAll is invoked.
The part that appears to be Aida's fault is the underlying command to copy the image that is being executed -- and failing, hence procInfo is nil, and so the fact that self initialStdErr is nil is exposed.
My question is... what can I do to handle this? Obviously I need to change the ExternalWindowsOSProcess>>value method. How to do this without violating any underlying system semantics? Is it just a simple matter of reporting the failure as long as initialStdErr is not nil... or is there a change elsewhere that can fix the problem for real? Bob Calco _______________________________________________ Aida mailing list [hidden email] http://lists.aidaweb.si/mailman/listinfo/aida |
Hi Bob,
Try the newest 6.5 interim one-click I put together yesterday: http://www.aidaweb.si/download In this release the hourly snapshot together with image backup is switched off by default. To enable it, evaluate: AIDASite default hourlySnapshotEnabled: true The hourly snapshot is used for image based persistence while image backup provides additional protection against possible image corruption of any cause. Image backup troubles on Windows seems to be related to package OSProcess running on Windows. I don't know in which state is OSProcess currently on this regard. Best regards Janko Dne 06. 01. 2013 20:55, piše Robert Calco: > Every time I get the Aida one-click download for Pharo on Windows, I'm > confronted with a problem that I believe is partly Aida's fault, and > partly Pharo's. > > Periodically a DNR error shows up when the system tries to copy the > running image (presumably for backup purposes).. > > The part that's Pharo's is a failure to properly initialize stdErr in > ExternalWindowsOSProcess>>value before calling initialStdErr. Hence it's > nil, and I get a DNR error when nextPutAll is invoked. > > The part that appears to be Aida's fault is the underlying command to > copy the image that is being executed -- and failing, hence procInfo is > nil, and so the fact that self initialStdErr is nil is exposed. > > My question is... what can I do to handle this? Obviously I need to > change the ExternalWindowsOSProcess>>value method. How to do this > without violating any underlying system semantics? Is it just a simple > matter of reporting the failure as long as initialStdErr is not nil... > or is there a change elsewhere that can fix the problem for real? > > -- > *Bob Calco* > > > > _______________________________________________ > Aida mailing list > [hidden email] > http://lists.aidaweb.si/mailman/listinfo/aida > -- Janko Mivšek Svetovalec za informatiko Eranova d.o.o. Ljubljana, Slovenija www.eranova.si tel: 01 514 22 55 faks: 01 514 22 56 gsm: 031 674 565 _______________________________________________ Aida mailing list [hidden email] http://lists.aidaweb.si/mailman/listinfo/aida |
Hi Janko!
On Mon, Jan 7, 2013 at 6:52 AM, Janko Mivšek <[hidden email]> wrote: Hi Bob, I'm thinking of using Magma for data persistence anyway.
Obviously, it isn't working! Unless there is something wrong with the copy command itself that did not jump out at me.
Is there not a way to do this in Smalltalk that is standard across VMs (rather than relying on an OSprocess)? - Bob
Bob Calco 25325 Geddy Dr. Land O'Lakes, FL 34639 813-406-5019 (landline) 813-520-2891 (mobile)
_______________________________________________ Aida mailing list [hidden email] http://lists.aidaweb.si/mailman/listinfo/aida |
Dne 07. 01. 2013 13:42, piše Robert Calco: > Image backup troubles on Windows seems to be related to package > OSProcess running on Windows. I don't know in which state is OSProcess > currently on this regard. > > > Obviously, it isn't working! Unless there is something wrong with the > copy command itself that did not jump out at me. > > Is there not a way to do this in Smalltalk that is standard across VMs > (rather than relying on an OSprocess)? OSProcess, is a "standard" way to call command line programs from Squeak and Pharo, I don't know any other one. Also, did you try the latest 6.5 interim oneclick, still the same problems? Janko > > - Bob > > > Best regards > Janko > > > Dne 06. 01. 2013 20:55, piše Robert Calco: > > Every time I get the Aida one-click download for Pharo on Windows, I'm > > confronted with a problem that I believe is partly Aida's fault, and > > partly Pharo's. > > > > Periodically a DNR error shows up when the system tries to copy the > > running image (presumably for backup purposes).. > > > > The part that's Pharo's is a failure to properly initialize stdErr in > > ExternalWindowsOSProcess>>value before calling initialStdErr. > Hence it's > > nil, and I get a DNR error when nextPutAll is invoked. > > > > The part that appears to be Aida's fault is the underlying command to > > copy the image that is being executed -- and failing, hence > procInfo is > > nil, and so the fact that self initialStdErr is nil is exposed. > > > > My question is... what can I do to handle this? Obviously I need to > > change the ExternalWindowsOSProcess>>value method. How to do this > > without violating any underlying system semantics? Is it just a simple > > matter of reporting the failure as long as initialStdErr is not nil... > > or is there a change elsewhere that can fix the problem for real? > > > > -- > > *Bob Calco* > > > > > > > > _______________________________________________ > > Aida mailing list > > [hidden email] <mailto:[hidden email]> > > http://lists.aidaweb.si/mailman/listinfo/aida > > > > -- > Janko Mivšek > Svetovalec za informatiko > Eranova d.o.o. > Ljubljana, Slovenija > www.eranova.si <http://www.eranova.si> > tel: 01 514 22 55 > faks: 01 514 22 56 > gsm: 031 674 565 > _______________________________________________ > Aida mailing list > [hidden email] <mailto:[hidden email]> > http://lists.aidaweb.si/mailman/listinfo/aida > > > > > -- > *Bob Calco* > 25325 Geddy Dr. > Land O'Lakes, FL 34639 > > [hidden email] <mailto:[hidden email]> > 813-406-5019 (landline) > 813-520-2891 (mobile) > > > _______________________________________________ > Aida mailing list > [hidden email] > http://lists.aidaweb.si/mailman/listinfo/aida > -- Janko Mivšek Svetovalec za informatiko Eranova d.o.o. Ljubljana, Slovenija www.eranova.si tel: 01 514 22 55 faks: 01 514 22 56 gsm: 031 674 565 _______________________________________________ Aida mailing list [hidden email] http://lists.aidaweb.si/mailman/listinfo/aida |
Hi Janko, Sorry so long since my last reply. I think the problem is that it may not be the best way to copy an image on Windows, perhaps because it is being used by a running process (the VM). Perhaps there is a more canonical way to save or snapshot the image? Or maybe there is just something wrong with how it's being called on Windows (some stupid encoding or cr/lf issue)?
I have not tried the other image you provided with image backup turned off because in principal I would like to keep it on. I have modified my image thusly: ExternalWindowsOSProcess>>value "Start the external process" | procInfo mainThread | self isNotYetRunning ifTrue:
[procInfo := OSProcess accessor primCommand: self commandLine. procInfo isNil
ifTrue: [ self initialStdErr isNil
ifFalse: [self initialStdErr nextPutAll: 'cannot execute ', self commandLine; cr.].
... This has gotten rid of the DNU on nil>>nextPutAll. I have not really had any time to look into the root cause in depth.
- Bob On Mon, Jan 7, 2013 at 8:31 AM, Janko Mivšek <[hidden email]> wrote:
Bob Calco 25325 Geddy Dr. Land O'Lakes, FL 34639 813-406-5019 (landline) 813-520-2891 (mobile)
_______________________________________________ Aida mailing list [hidden email] http://lists.aidaweb.si/mailman/listinfo/aida |
Free forum by Nabble | Edit this page |