Re: assertion failed: 'TheSessionId.theCnt <= 0'
"Alex Rousskov" <[email protected]>
| Newsgroups | gmane.comp.web.web-polygraph.user |
|---|---|
| Organization | The Measurement Factory |
| Message-ID | <[email protected]> |
On Wed, 2005/04/13 (MDT), <[email protected]> wrote: > when I try to run the polyclt (2.8.1) with options --unique_world no > --local_rng_seed 101, a Error occured. > UniqId.cc:32: assertion failed: 'TheSessionId.theCnt <= 0' This is a bug. Apparently, we have not run with --unique_world after implementing the persistent working set feature, which broke it. The patch against 3.0 is attached and should apply to 2.8.x as well. You may need to ignore whitespace differences when applying the patch. > The reporter don't create any image. I use the gnuplot (4.0.0-4). You need to downgrade gnuplot to 3.x or patch Polygraph 2.8. Please see http://www.web-polygraph.org/mail-archive/users/200503/ Thank you, Alex.
unique_world.patch
(application/octet-stream, 2 KB)
Index: src/app/PolyApp.cc
===================================================================
RCS file: /usr/local/CVS/polygraph/src/app/PolyApp.cc,v
retrieving revision 1.11.6.3
diff -u -r1.11.6.3 PolyApp.cc
--- src/app/PolyApp.cc 19 Apr 2004 23:03:44 -0000 1.11.6.3
+++ src/app/PolyApp.cc 13 Apr 2005 20:13:48 -0000
@@ -277,7 +277,7 @@
}
void PolyApp::configureRnd() {
- ThePersistWorkSetMgr.loadSeeds();
+ ThePersistWorkSetMgr.loadSeeds(); // must be called before seeds are used
// set random seeds
GlbPermut().reseed(TheOpts.theGlbRngSeed);
@@ -288,6 +288,8 @@
if (!TheOpts.useUniqueWorld)
UniqId::Space(TheOpts.theLclRngSeed);
TheGroupId = UniqId::Create();
+
+ ThePersistWorkSetMgr.configure(); // must be called after UniqId::Space()
}
// collect server configurations into TheHostMap
Index: src/runtime/PersistWorkSetMgr.cc
===================================================================
RCS file: /usr/local/CVS/polygraph/src/runtime/PersistWorkSetMgr.cc,v
retrieving revision 1.4
diff -u -r1.4 PersistWorkSetMgr.cc
--- src/runtime/PersistWorkSetMgr.cc 9 Jun 2003 16:41:25 -0000 1.4
+++ src/runtime/PersistWorkSetMgr.cc 13 Apr 2005 20:13:48 -0000
@@ -29,13 +29,16 @@
PersistWorkSetMgr::PersistWorkSetMgr(): theInStream(0), theOutStream(0),
theVersion(0) {
- theId.create();
}
PersistWorkSetMgr::~PersistWorkSetMgr() {
close();
}
+void PersistWorkSetMgr::configure() {
+ theId.create();
+}
+
const UniqId &PersistWorkSetMgr::id() const {
return theId;
}
Index: src/runtime/PersistWorkSetMgr.h
===================================================================
RCS file: /usr/local/CVS/polygraph/src/runtime/PersistWorkSetMgr.h,v
retrieving revision 1.2
diff -u -r1.2 PersistWorkSetMgr.h
--- src/runtime/PersistWorkSetMgr.h 22 Oct 2002 23:48:01 -0000 1.2
+++ src/runtime/PersistWorkSetMgr.h 13 Apr 2005 20:13:48 -0000
@@ -22,6 +22,8 @@
PersistWorkSetMgr();
~PersistWorkSetMgr();
+ void configure();
+
const UniqId &id() const;
int version() const;