From wagner at elegosoft.com Mon Jun 10 19:34:50 2013 From: wagner at elegosoft.com (Olaf Wagner) Date: Mon, 10 Jun 2013 19:34:50 +0200 Subject: [M3devel] CM3 CVS to GIT conversion, was: Re: Trial conversion(s) In-Reply-To: <20130425083413.90e26e553129fa8b5dd37dca@elegosoft.com> References: <1A7544A8-6D58-4E43-8A23-454AADD81C77@m3w.org> <2F5CCB07-1AA4-4B9D-A1BB-B19B67AF9A36@m3w.org> <60364381-A65A-4696-AA20-30C7C0F4D9BE@m3w.org> <234B341B-3829-4627-8F4F-540D54D6B915@m3w.org> <20130425083413.90e26e553129fa8b5dd37dca@elegosoft.com> Message-ID: <20130610193450.1720ba648ee4898d06a5ad3e@elegosoft.com> On Thu, 25 Apr 2013 08:34:13 +0200 Olaf Wagner wrote: > On Thu, 25 Apr 2013 07:38:46 +0200 > Dragi?a Duri? wrote: > > > Great idea! > > > > https://github.com/blog/674-introducing-organizations > > > > cm3 organization is already created on github, and also modula-3 exists. Ideas? > > I think the most important question we need to answer first is if and how > we should split up the CM3 repository into several smaller ones, i.e. > factor out standalone applications and projects like ESC, caltech-parser, > m3lectern, m3gdb, etc. > > I'm not sure if we can do this easily later with git. > > I'd also like to see some performance numbers for a complete clone and > checkout, as this is what several of the regression test jobs will do. > Of course the latter can be done based on a local slave repository. > > I've created a Wiki page to document the migration project in trac at > https://cm3-bugs.elegosoft.com/cm3/wiki/CvsToGitMigration > > I'd like to encourage everybody to add their ideas and notes there. In another mail I asked for time till June to get something set up that would allow an easy migration from CVS to Git. But it seems that my intention to contribute again to the M3 project was rather unrealistic. I'm so busy with customer projects for Elego and some private matters that cannot be delayed anymore that I don't find the time for even a few hours of M3-related work, and when I do, I seem to lack the power. So I suggest that somebody else takes over the lead for the CVS to Git migration and the release engineering for the long overdue M3 release. Elego will provide the existing infrastructure or some equivalent as long as it is needed, but I doubt that anybody here will be able to contribute much active work, like adapting scripts, writing up documentation etc. I'd really like to see a new release, and watch Jenkins jobs checkout sources from git, but somebody else will have to make that happen. Olaf -- Olaf Wagner -- elego Software Solutions GmbH -- http://www.elegosoft.com Gustav-Meyer-Allee 25 / Geb?ude 12, 13355 Berlin, Germany phone: +49 30 23 45 86 96 mobile: +49 177 2345 869 fax: +49 30 23 45 86 95 Gesch?ftsf?hrer: Michael Diers, Olaf Wagner | Sitz: Berlin Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194 From peter.mckinna at gmail.com Sat Jun 22 10:02:18 2013 From: peter.mckinna at gmail.com (Peter McKinna) Date: Sat, 22 Jun 2013 18:02:18 +1000 Subject: [M3devel] qt binding Message-ID: Hi Just added a qt binding to cvs. If there are any problems building or other bugs it let me know. Windows people will certainly need to make a few changes to the build script. Regards Peter -------------- next part -------------- An HTML attachment was scrubbed... URL: From rodney_bates at lcwb.coop Wed Jun 26 19:36:51 2013 From: rodney_bates at lcwb.coop (Rodney M. Bates) Date: Wed, 26 Jun 2013 12:36:51 -0500 Subject: [M3devel] Can't create a branch Message-ID: <51CB26B3.5010603@lcwb.coop> I tried to create a branch, but (after reporting many tags made) got this: cvs [tag aborted]: could not open lock file `/usr/cvs/cm3/m3-sys/m3tests/src/p2/p253/,Main.m3,': Permission denied From wagner at elegosoft.com Thu Jun 27 08:34:34 2013 From: wagner at elegosoft.com (Olaf Wagner) Date: Thu, 27 Jun 2013 08:34:34 +0200 Subject: [M3devel] Can't create a branch In-Reply-To: <51CB26B3.5010603@lcwb.coop> References: <51CB26B3.5010603@lcwb.coop> Message-ID: <20130627083434.410c8c57f64b4f692eb8b815@elegosoft.com> On Wed, 26 Jun 2013 12:36:51 -0500 "Rodney M. Bates" wrote: > I tried to create a branch, but (after reporting many tags made) got this: > > cvs [tag aborted]: could not open lock file `/usr/cvs/cm3/m3-sys/m3tests/src/p2/p253/,Main.m3,': Permission denied > It seems that the directory belonged to the wrong group; I've performed a 'chgrp -r m3 my-sys'. Please try again. Olaf -- Olaf Wagner -- elego Software Solutions GmbH -- http://www.elegosoft.com Gustav-Meyer-Allee 25 / Geb?ude 12, 13355 Berlin, Germany phone: +49 30 23 45 86 96 mobile: +49 177 2345 869 fax: +49 30 23 45 86 95 Gesch?ftsf?hrer: Michael Diers, Olaf Wagner | Sitz: Berlin Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194 From mika at async.caltech.edu Fri Jun 28 01:00:39 2013 From: mika at async.caltech.edu (mika at async.caltech.edu) Date: Thu, 27 Jun 2013 16:00:39 -0700 Subject: [M3devel] netobj bug report Message-ID: <20130627230039.73BD31A207D@async.async.caltech.edu> Hi m3devel, I think I found a bug in the Network Objects code. Here is what I was doing: I made an object that I wanted to export using Network Objects, but I *also* wanted to Pickle the object locally (for persistence). I find that if I create the object and try to pickle it, I get a Pickle error "Can't pickle a surrogate object". The source of the error is in StubLib.m3, the Pickle special that is recorded for network objects: PROCEDURE OutSpecial(self: Pickle.Special; r: REFANY; writer: Pickle.Writer) RAISES {Pickle.Error, Wr.Failure, Thread.Alerted} = BEGIN TYPECASE writer OF | SpecWr(wtr) => OutRef(wtr.c, r); ELSE TYPECASE r OF | NetObj.T(x) => IF NOT ISTYPE(x.r, Transport.Location) THEN (* This will gratuitously pickle the ExportInfo ref embedded in x.r. It would be better to exclude this if and when possible, but it shouldn't hurt for now. *) Pickle.Special.write(self, r, writer); ELSE RAISE Pickle.Error("Can't pickle a surrogate object"); END; ELSE RAISE Pickle.Error("Can't Pickle Rd.T or Wr.T"); END; END; END OutSpecial; (In CM3, OutSpecial2 has the same bug for Pickle2 pickles. PM3 doesn't have Pickle2 nor OutSpecial2.) The problem is the test IF NOT ISTYPE(x.r, Transport.Location) THEN (* This will gratuitously pickle the ExportInfo ref embedded in x.r. It would be better to exclude this if and when possible, but it shouldn't hurt for now. *) Pickle.Special.write(self, r, writer); ELSE RAISE Pickle.Error("Can't pickle a surrogate object"); END; The intent, I think, is that an object that is remote (that is, has x.r of type Transport.Location) should not be pickle-able. The problem is that x.r is initially NIL, and NIL is a member of Transport.Location. My workaround is to FIRST export the object before attempting to Pickle it. This works fine but it shouldn't be necessary, should it? What if I don't want to export the object, but just pickle it? I believe the test should be changed to be IF x.r = NIL OR NOT ISTYPE(x.r, Transport.Location) THEN... Mika From rcolebur at SCIRES.COM Fri Jun 28 01:53:18 2013 From: rcolebur at SCIRES.COM (Coleburn, Randy) Date: Thu, 27 Jun 2013 23:53:18 +0000 Subject: [M3devel] netobj bug report Message-ID: <0BB8FA59C2932741A3A2941A8B9D8BFF2F168037@ATLEX04-SRV.SCIRES.LOCAL> Hi Mika: I'm deep in the middle of some other stuff, but read your post with interest because I've done a LOT of work with both Pickles and Network Objects. On the surface, I'm not sure whether this is a bug or not. I've never encountered this problem before. But, my brain is in left-field right now with all else I have going on. I know that I always used the Pickle2 (2nd generation of pickles) to get around some problems with the first generation. I never used PM3, just CM3 and the original "SRC-Systems Research Center" versions. I know you can also write and register special "pickler" procedures for any particular object to get around problems with the default pickling procedures (read/write). I've had to do this on occasion both to resolve problems and to increase performance. I can provide examples if you need them. --Randy Randy C. Coleburn, CISSP-ISSEP, GCED Corporate Information Security Officer (CISO) Scientific Research Corporation -----Original Message----- From: mika at async.caltech.edu [mailto:mika at async.caltech.edu] Sent: Thursday, June 27, 2013 7:01 PM To: m3devel at elegosoft.com Subject: EXT:[M3devel] netobj bug report Hi m3devel, I think I found a bug in the Network Objects code. Here is what I was doing: I made an object that I wanted to export using Network Objects, but I *also* wanted to Pickle the object locally (for persistence). I find that if I create the object and try to pickle it, I get a Pickle error "Can't pickle a surrogate object". The source of the error is in StubLib.m3, the Pickle special that is recorded for network objects: PROCEDURE OutSpecial(self: Pickle.Special; r: REFANY; writer: Pickle.Writer) RAISES {Pickle.Error, Wr.Failure, Thread.Alerted} = BEGIN TYPECASE writer OF | SpecWr(wtr) => OutRef(wtr.c, r); ELSE TYPECASE r OF | NetObj.T(x) => IF NOT ISTYPE(x.r, Transport.Location) THEN (* This will gratuitously pickle the ExportInfo ref embedded in x.r. It would be better to exclude this if and when possible, but it shouldn't hurt for now. *) Pickle.Special.write(self, r, writer); ELSE RAISE Pickle.Error("Can't pickle a surrogate object"); END; ELSE RAISE Pickle.Error("Can't Pickle Rd.T or Wr.T"); END; END; END OutSpecial; (In CM3, OutSpecial2 has the same bug for Pickle2 pickles. PM3 doesn't have Pickle2 nor OutSpecial2.) The problem is the test IF NOT ISTYPE(x.r, Transport.Location) THEN (* This will gratuitously pickle the ExportInfo ref embedded in x.r. It would be better to exclude this if and when possible, but it shouldn't hurt for now. *) Pickle.Special.write(self, r, writer); ELSE RAISE Pickle.Error("Can't pickle a surrogate object"); END; The intent, I think, is that an object that is remote (that is, has x.r of type Transport.Location) should not be pickle-able. The problem is that x.r is initially NIL, and NIL is a member of Transport.Location. My workaround is to FIRST export the object before attempting to Pickle it. This works fine but it shouldn't be necessary, should it? What if I don't want to export the object, but just pickle it? I believe the test should be changed to be IF x.r = NIL OR NOT ISTYPE(x.r, Transport.Location) THEN... Mika From wagner at elegosoft.com Mon Jun 10 19:34:50 2013 From: wagner at elegosoft.com (Olaf Wagner) Date: Mon, 10 Jun 2013 19:34:50 +0200 Subject: [M3devel] CM3 CVS to GIT conversion, was: Re: Trial conversion(s) In-Reply-To: <20130425083413.90e26e553129fa8b5dd37dca@elegosoft.com> References: <1A7544A8-6D58-4E43-8A23-454AADD81C77@m3w.org> <2F5CCB07-1AA4-4B9D-A1BB-B19B67AF9A36@m3w.org> <60364381-A65A-4696-AA20-30C7C0F4D9BE@m3w.org> <234B341B-3829-4627-8F4F-540D54D6B915@m3w.org> <20130425083413.90e26e553129fa8b5dd37dca@elegosoft.com> Message-ID: <20130610193450.1720ba648ee4898d06a5ad3e@elegosoft.com> On Thu, 25 Apr 2013 08:34:13 +0200 Olaf Wagner wrote: > On Thu, 25 Apr 2013 07:38:46 +0200 > Dragi?a Duri? wrote: > > > Great idea! > > > > https://github.com/blog/674-introducing-organizations > > > > cm3 organization is already created on github, and also modula-3 exists. Ideas? > > I think the most important question we need to answer first is if and how > we should split up the CM3 repository into several smaller ones, i.e. > factor out standalone applications and projects like ESC, caltech-parser, > m3lectern, m3gdb, etc. > > I'm not sure if we can do this easily later with git. > > I'd also like to see some performance numbers for a complete clone and > checkout, as this is what several of the regression test jobs will do. > Of course the latter can be done based on a local slave repository. > > I've created a Wiki page to document the migration project in trac at > https://cm3-bugs.elegosoft.com/cm3/wiki/CvsToGitMigration > > I'd like to encourage everybody to add their ideas and notes there. In another mail I asked for time till June to get something set up that would allow an easy migration from CVS to Git. But it seems that my intention to contribute again to the M3 project was rather unrealistic. I'm so busy with customer projects for Elego and some private matters that cannot be delayed anymore that I don't find the time for even a few hours of M3-related work, and when I do, I seem to lack the power. So I suggest that somebody else takes over the lead for the CVS to Git migration and the release engineering for the long overdue M3 release. Elego will provide the existing infrastructure or some equivalent as long as it is needed, but I doubt that anybody here will be able to contribute much active work, like adapting scripts, writing up documentation etc. I'd really like to see a new release, and watch Jenkins jobs checkout sources from git, but somebody else will have to make that happen. Olaf -- Olaf Wagner -- elego Software Solutions GmbH -- http://www.elegosoft.com Gustav-Meyer-Allee 25 / Geb?ude 12, 13355 Berlin, Germany phone: +49 30 23 45 86 96 mobile: +49 177 2345 869 fax: +49 30 23 45 86 95 Gesch?ftsf?hrer: Michael Diers, Olaf Wagner | Sitz: Berlin Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194 From peter.mckinna at gmail.com Sat Jun 22 10:02:18 2013 From: peter.mckinna at gmail.com (Peter McKinna) Date: Sat, 22 Jun 2013 18:02:18 +1000 Subject: [M3devel] qt binding Message-ID: Hi Just added a qt binding to cvs. If there are any problems building or other bugs it let me know. Windows people will certainly need to make a few changes to the build script. Regards Peter -------------- next part -------------- An HTML attachment was scrubbed... URL: From rodney_bates at lcwb.coop Wed Jun 26 19:36:51 2013 From: rodney_bates at lcwb.coop (Rodney M. Bates) Date: Wed, 26 Jun 2013 12:36:51 -0500 Subject: [M3devel] Can't create a branch Message-ID: <51CB26B3.5010603@lcwb.coop> I tried to create a branch, but (after reporting many tags made) got this: cvs [tag aborted]: could not open lock file `/usr/cvs/cm3/m3-sys/m3tests/src/p2/p253/,Main.m3,': Permission denied From wagner at elegosoft.com Thu Jun 27 08:34:34 2013 From: wagner at elegosoft.com (Olaf Wagner) Date: Thu, 27 Jun 2013 08:34:34 +0200 Subject: [M3devel] Can't create a branch In-Reply-To: <51CB26B3.5010603@lcwb.coop> References: <51CB26B3.5010603@lcwb.coop> Message-ID: <20130627083434.410c8c57f64b4f692eb8b815@elegosoft.com> On Wed, 26 Jun 2013 12:36:51 -0500 "Rodney M. Bates" wrote: > I tried to create a branch, but (after reporting many tags made) got this: > > cvs [tag aborted]: could not open lock file `/usr/cvs/cm3/m3-sys/m3tests/src/p2/p253/,Main.m3,': Permission denied > It seems that the directory belonged to the wrong group; I've performed a 'chgrp -r m3 my-sys'. Please try again. Olaf -- Olaf Wagner -- elego Software Solutions GmbH -- http://www.elegosoft.com Gustav-Meyer-Allee 25 / Geb?ude 12, 13355 Berlin, Germany phone: +49 30 23 45 86 96 mobile: +49 177 2345 869 fax: +49 30 23 45 86 95 Gesch?ftsf?hrer: Michael Diers, Olaf Wagner | Sitz: Berlin Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194 From mika at async.caltech.edu Fri Jun 28 01:00:39 2013 From: mika at async.caltech.edu (mika at async.caltech.edu) Date: Thu, 27 Jun 2013 16:00:39 -0700 Subject: [M3devel] netobj bug report Message-ID: <20130627230039.73BD31A207D@async.async.caltech.edu> Hi m3devel, I think I found a bug in the Network Objects code. Here is what I was doing: I made an object that I wanted to export using Network Objects, but I *also* wanted to Pickle the object locally (for persistence). I find that if I create the object and try to pickle it, I get a Pickle error "Can't pickle a surrogate object". The source of the error is in StubLib.m3, the Pickle special that is recorded for network objects: PROCEDURE OutSpecial(self: Pickle.Special; r: REFANY; writer: Pickle.Writer) RAISES {Pickle.Error, Wr.Failure, Thread.Alerted} = BEGIN TYPECASE writer OF | SpecWr(wtr) => OutRef(wtr.c, r); ELSE TYPECASE r OF | NetObj.T(x) => IF NOT ISTYPE(x.r, Transport.Location) THEN (* This will gratuitously pickle the ExportInfo ref embedded in x.r. It would be better to exclude this if and when possible, but it shouldn't hurt for now. *) Pickle.Special.write(self, r, writer); ELSE RAISE Pickle.Error("Can't pickle a surrogate object"); END; ELSE RAISE Pickle.Error("Can't Pickle Rd.T or Wr.T"); END; END; END OutSpecial; (In CM3, OutSpecial2 has the same bug for Pickle2 pickles. PM3 doesn't have Pickle2 nor OutSpecial2.) The problem is the test IF NOT ISTYPE(x.r, Transport.Location) THEN (* This will gratuitously pickle the ExportInfo ref embedded in x.r. It would be better to exclude this if and when possible, but it shouldn't hurt for now. *) Pickle.Special.write(self, r, writer); ELSE RAISE Pickle.Error("Can't pickle a surrogate object"); END; The intent, I think, is that an object that is remote (that is, has x.r of type Transport.Location) should not be pickle-able. The problem is that x.r is initially NIL, and NIL is a member of Transport.Location. My workaround is to FIRST export the object before attempting to Pickle it. This works fine but it shouldn't be necessary, should it? What if I don't want to export the object, but just pickle it? I believe the test should be changed to be IF x.r = NIL OR NOT ISTYPE(x.r, Transport.Location) THEN... Mika From rcolebur at SCIRES.COM Fri Jun 28 01:53:18 2013 From: rcolebur at SCIRES.COM (Coleburn, Randy) Date: Thu, 27 Jun 2013 23:53:18 +0000 Subject: [M3devel] netobj bug report Message-ID: <0BB8FA59C2932741A3A2941A8B9D8BFF2F168037@ATLEX04-SRV.SCIRES.LOCAL> Hi Mika: I'm deep in the middle of some other stuff, but read your post with interest because I've done a LOT of work with both Pickles and Network Objects. On the surface, I'm not sure whether this is a bug or not. I've never encountered this problem before. But, my brain is in left-field right now with all else I have going on. I know that I always used the Pickle2 (2nd generation of pickles) to get around some problems with the first generation. I never used PM3, just CM3 and the original "SRC-Systems Research Center" versions. I know you can also write and register special "pickler" procedures for any particular object to get around problems with the default pickling procedures (read/write). I've had to do this on occasion both to resolve problems and to increase performance. I can provide examples if you need them. --Randy Randy C. Coleburn, CISSP-ISSEP, GCED Corporate Information Security Officer (CISO) Scientific Research Corporation -----Original Message----- From: mika at async.caltech.edu [mailto:mika at async.caltech.edu] Sent: Thursday, June 27, 2013 7:01 PM To: m3devel at elegosoft.com Subject: EXT:[M3devel] netobj bug report Hi m3devel, I think I found a bug in the Network Objects code. Here is what I was doing: I made an object that I wanted to export using Network Objects, but I *also* wanted to Pickle the object locally (for persistence). I find that if I create the object and try to pickle it, I get a Pickle error "Can't pickle a surrogate object". The source of the error is in StubLib.m3, the Pickle special that is recorded for network objects: PROCEDURE OutSpecial(self: Pickle.Special; r: REFANY; writer: Pickle.Writer) RAISES {Pickle.Error, Wr.Failure, Thread.Alerted} = BEGIN TYPECASE writer OF | SpecWr(wtr) => OutRef(wtr.c, r); ELSE TYPECASE r OF | NetObj.T(x) => IF NOT ISTYPE(x.r, Transport.Location) THEN (* This will gratuitously pickle the ExportInfo ref embedded in x.r. It would be better to exclude this if and when possible, but it shouldn't hurt for now. *) Pickle.Special.write(self, r, writer); ELSE RAISE Pickle.Error("Can't pickle a surrogate object"); END; ELSE RAISE Pickle.Error("Can't Pickle Rd.T or Wr.T"); END; END; END OutSpecial; (In CM3, OutSpecial2 has the same bug for Pickle2 pickles. PM3 doesn't have Pickle2 nor OutSpecial2.) The problem is the test IF NOT ISTYPE(x.r, Transport.Location) THEN (* This will gratuitously pickle the ExportInfo ref embedded in x.r. It would be better to exclude this if and when possible, but it shouldn't hurt for now. *) Pickle.Special.write(self, r, writer); ELSE RAISE Pickle.Error("Can't pickle a surrogate object"); END; The intent, I think, is that an object that is remote (that is, has x.r of type Transport.Location) should not be pickle-able. The problem is that x.r is initially NIL, and NIL is a member of Transport.Location. My workaround is to FIRST export the object before attempting to Pickle it. This works fine but it shouldn't be necessary, should it? What if I don't want to export the object, but just pickle it? I believe the test should be changed to be IF x.r = NIL OR NOT ISTYPE(x.r, Transport.Location) THEN... Mika From wagner at elegosoft.com Mon Jun 10 19:34:50 2013 From: wagner at elegosoft.com (Olaf Wagner) Date: Mon, 10 Jun 2013 19:34:50 +0200 Subject: [M3devel] CM3 CVS to GIT conversion, was: Re: Trial conversion(s) In-Reply-To: <20130425083413.90e26e553129fa8b5dd37dca@elegosoft.com> References: <1A7544A8-6D58-4E43-8A23-454AADD81C77@m3w.org> <2F5CCB07-1AA4-4B9D-A1BB-B19B67AF9A36@m3w.org> <60364381-A65A-4696-AA20-30C7C0F4D9BE@m3w.org> <234B341B-3829-4627-8F4F-540D54D6B915@m3w.org> <20130425083413.90e26e553129fa8b5dd37dca@elegosoft.com> Message-ID: <20130610193450.1720ba648ee4898d06a5ad3e@elegosoft.com> On Thu, 25 Apr 2013 08:34:13 +0200 Olaf Wagner wrote: > On Thu, 25 Apr 2013 07:38:46 +0200 > Dragi?a Duri? wrote: > > > Great idea! > > > > https://github.com/blog/674-introducing-organizations > > > > cm3 organization is already created on github, and also modula-3 exists. Ideas? > > I think the most important question we need to answer first is if and how > we should split up the CM3 repository into several smaller ones, i.e. > factor out standalone applications and projects like ESC, caltech-parser, > m3lectern, m3gdb, etc. > > I'm not sure if we can do this easily later with git. > > I'd also like to see some performance numbers for a complete clone and > checkout, as this is what several of the regression test jobs will do. > Of course the latter can be done based on a local slave repository. > > I've created a Wiki page to document the migration project in trac at > https://cm3-bugs.elegosoft.com/cm3/wiki/CvsToGitMigration > > I'd like to encourage everybody to add their ideas and notes there. In another mail I asked for time till June to get something set up that would allow an easy migration from CVS to Git. But it seems that my intention to contribute again to the M3 project was rather unrealistic. I'm so busy with customer projects for Elego and some private matters that cannot be delayed anymore that I don't find the time for even a few hours of M3-related work, and when I do, I seem to lack the power. So I suggest that somebody else takes over the lead for the CVS to Git migration and the release engineering for the long overdue M3 release. Elego will provide the existing infrastructure or some equivalent as long as it is needed, but I doubt that anybody here will be able to contribute much active work, like adapting scripts, writing up documentation etc. I'd really like to see a new release, and watch Jenkins jobs checkout sources from git, but somebody else will have to make that happen. Olaf -- Olaf Wagner -- elego Software Solutions GmbH -- http://www.elegosoft.com Gustav-Meyer-Allee 25 / Geb?ude 12, 13355 Berlin, Germany phone: +49 30 23 45 86 96 mobile: +49 177 2345 869 fax: +49 30 23 45 86 95 Gesch?ftsf?hrer: Michael Diers, Olaf Wagner | Sitz: Berlin Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194 From peter.mckinna at gmail.com Sat Jun 22 10:02:18 2013 From: peter.mckinna at gmail.com (Peter McKinna) Date: Sat, 22 Jun 2013 18:02:18 +1000 Subject: [M3devel] qt binding Message-ID: Hi Just added a qt binding to cvs. If there are any problems building or other bugs it let me know. Windows people will certainly need to make a few changes to the build script. Regards Peter -------------- next part -------------- An HTML attachment was scrubbed... URL: From rodney_bates at lcwb.coop Wed Jun 26 19:36:51 2013 From: rodney_bates at lcwb.coop (Rodney M. Bates) Date: Wed, 26 Jun 2013 12:36:51 -0500 Subject: [M3devel] Can't create a branch Message-ID: <51CB26B3.5010603@lcwb.coop> I tried to create a branch, but (after reporting many tags made) got this: cvs [tag aborted]: could not open lock file `/usr/cvs/cm3/m3-sys/m3tests/src/p2/p253/,Main.m3,': Permission denied From wagner at elegosoft.com Thu Jun 27 08:34:34 2013 From: wagner at elegosoft.com (Olaf Wagner) Date: Thu, 27 Jun 2013 08:34:34 +0200 Subject: [M3devel] Can't create a branch In-Reply-To: <51CB26B3.5010603@lcwb.coop> References: <51CB26B3.5010603@lcwb.coop> Message-ID: <20130627083434.410c8c57f64b4f692eb8b815@elegosoft.com> On Wed, 26 Jun 2013 12:36:51 -0500 "Rodney M. Bates" wrote: > I tried to create a branch, but (after reporting many tags made) got this: > > cvs [tag aborted]: could not open lock file `/usr/cvs/cm3/m3-sys/m3tests/src/p2/p253/,Main.m3,': Permission denied > It seems that the directory belonged to the wrong group; I've performed a 'chgrp -r m3 my-sys'. Please try again. Olaf -- Olaf Wagner -- elego Software Solutions GmbH -- http://www.elegosoft.com Gustav-Meyer-Allee 25 / Geb?ude 12, 13355 Berlin, Germany phone: +49 30 23 45 86 96 mobile: +49 177 2345 869 fax: +49 30 23 45 86 95 Gesch?ftsf?hrer: Michael Diers, Olaf Wagner | Sitz: Berlin Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194 From mika at async.caltech.edu Fri Jun 28 01:00:39 2013 From: mika at async.caltech.edu (mika at async.caltech.edu) Date: Thu, 27 Jun 2013 16:00:39 -0700 Subject: [M3devel] netobj bug report Message-ID: <20130627230039.73BD31A207D@async.async.caltech.edu> Hi m3devel, I think I found a bug in the Network Objects code. Here is what I was doing: I made an object that I wanted to export using Network Objects, but I *also* wanted to Pickle the object locally (for persistence). I find that if I create the object and try to pickle it, I get a Pickle error "Can't pickle a surrogate object". The source of the error is in StubLib.m3, the Pickle special that is recorded for network objects: PROCEDURE OutSpecial(self: Pickle.Special; r: REFANY; writer: Pickle.Writer) RAISES {Pickle.Error, Wr.Failure, Thread.Alerted} = BEGIN TYPECASE writer OF | SpecWr(wtr) => OutRef(wtr.c, r); ELSE TYPECASE r OF | NetObj.T(x) => IF NOT ISTYPE(x.r, Transport.Location) THEN (* This will gratuitously pickle the ExportInfo ref embedded in x.r. It would be better to exclude this if and when possible, but it shouldn't hurt for now. *) Pickle.Special.write(self, r, writer); ELSE RAISE Pickle.Error("Can't pickle a surrogate object"); END; ELSE RAISE Pickle.Error("Can't Pickle Rd.T or Wr.T"); END; END; END OutSpecial; (In CM3, OutSpecial2 has the same bug for Pickle2 pickles. PM3 doesn't have Pickle2 nor OutSpecial2.) The problem is the test IF NOT ISTYPE(x.r, Transport.Location) THEN (* This will gratuitously pickle the ExportInfo ref embedded in x.r. It would be better to exclude this if and when possible, but it shouldn't hurt for now. *) Pickle.Special.write(self, r, writer); ELSE RAISE Pickle.Error("Can't pickle a surrogate object"); END; The intent, I think, is that an object that is remote (that is, has x.r of type Transport.Location) should not be pickle-able. The problem is that x.r is initially NIL, and NIL is a member of Transport.Location. My workaround is to FIRST export the object before attempting to Pickle it. This works fine but it shouldn't be necessary, should it? What if I don't want to export the object, but just pickle it? I believe the test should be changed to be IF x.r = NIL OR NOT ISTYPE(x.r, Transport.Location) THEN... Mika From rcolebur at SCIRES.COM Fri Jun 28 01:53:18 2013 From: rcolebur at SCIRES.COM (Coleburn, Randy) Date: Thu, 27 Jun 2013 23:53:18 +0000 Subject: [M3devel] netobj bug report Message-ID: <0BB8FA59C2932741A3A2941A8B9D8BFF2F168037@ATLEX04-SRV.SCIRES.LOCAL> Hi Mika: I'm deep in the middle of some other stuff, but read your post with interest because I've done a LOT of work with both Pickles and Network Objects. On the surface, I'm not sure whether this is a bug or not. I've never encountered this problem before. But, my brain is in left-field right now with all else I have going on. I know that I always used the Pickle2 (2nd generation of pickles) to get around some problems with the first generation. I never used PM3, just CM3 and the original "SRC-Systems Research Center" versions. I know you can also write and register special "pickler" procedures for any particular object to get around problems with the default pickling procedures (read/write). I've had to do this on occasion both to resolve problems and to increase performance. I can provide examples if you need them. --Randy Randy C. Coleburn, CISSP-ISSEP, GCED Corporate Information Security Officer (CISO) Scientific Research Corporation -----Original Message----- From: mika at async.caltech.edu [mailto:mika at async.caltech.edu] Sent: Thursday, June 27, 2013 7:01 PM To: m3devel at elegosoft.com Subject: EXT:[M3devel] netobj bug report Hi m3devel, I think I found a bug in the Network Objects code. Here is what I was doing: I made an object that I wanted to export using Network Objects, but I *also* wanted to Pickle the object locally (for persistence). I find that if I create the object and try to pickle it, I get a Pickle error "Can't pickle a surrogate object". The source of the error is in StubLib.m3, the Pickle special that is recorded for network objects: PROCEDURE OutSpecial(self: Pickle.Special; r: REFANY; writer: Pickle.Writer) RAISES {Pickle.Error, Wr.Failure, Thread.Alerted} = BEGIN TYPECASE writer OF | SpecWr(wtr) => OutRef(wtr.c, r); ELSE TYPECASE r OF | NetObj.T(x) => IF NOT ISTYPE(x.r, Transport.Location) THEN (* This will gratuitously pickle the ExportInfo ref embedded in x.r. It would be better to exclude this if and when possible, but it shouldn't hurt for now. *) Pickle.Special.write(self, r, writer); ELSE RAISE Pickle.Error("Can't pickle a surrogate object"); END; ELSE RAISE Pickle.Error("Can't Pickle Rd.T or Wr.T"); END; END; END OutSpecial; (In CM3, OutSpecial2 has the same bug for Pickle2 pickles. PM3 doesn't have Pickle2 nor OutSpecial2.) The problem is the test IF NOT ISTYPE(x.r, Transport.Location) THEN (* This will gratuitously pickle the ExportInfo ref embedded in x.r. It would be better to exclude this if and when possible, but it shouldn't hurt for now. *) Pickle.Special.write(self, r, writer); ELSE RAISE Pickle.Error("Can't pickle a surrogate object"); END; The intent, I think, is that an object that is remote (that is, has x.r of type Transport.Location) should not be pickle-able. The problem is that x.r is initially NIL, and NIL is a member of Transport.Location. My workaround is to FIRST export the object before attempting to Pickle it. This works fine but it shouldn't be necessary, should it? What if I don't want to export the object, but just pickle it? I believe the test should be changed to be IF x.r = NIL OR NOT ISTYPE(x.r, Transport.Location) THEN... Mika