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;
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.