Exemplo n.º 1
0
void offline(char *name, void *p)
{
	char buf[100];
	if (madvise(p, PS, MADV_SOFT_OFFLINE) < 0)
		err(ndesc(buf, name, "offline"));
	corrupted++;
}
void getQoreException(java::lang::Throwable *t, ExceptionSink &xsink) {
   //fprintf(stderr, "Unhandled Java exception %p:\n", t);

   //fprintf(stderr, "%s\n", str.getBuffer());

   QoreStringNode *desc = getJavaExceptionMessage(t);

   // get stack trace
   JArray<java::lang::StackTraceElement *> *stack = t->getStackTrace();
   
   java::lang::StackTraceElement **e = elements(stack);
   for (int i = 0; i < stack->length; ++i) {
      QoreString file, cls, meth;
      getQoreString(e[i]->getFileName(), file);
      getQoreString(e[i]->getClassName(), cls);
      getQoreString(e[i]->getMethodName(), meth);

      int line = e[i]->getLineNumber();

      desc->sprintf("\n  %s:%d: %s::%s() (%s)", file.getBuffer(), line > 0 ? line : 0, cls.getBuffer(), meth.getBuffer(), e[i]->isNativeMethod() ? "native" : "java");
   }

   while ((t = t->getCause())) {
      desc->concat("\ncaused by: ");
      SimpleRefHolder<QoreStringNode> ndesc(getJavaExceptionMessage(t));
      desc->concat(*ndesc, &xsink);
   }

   xsink.raiseException("JAVA-EXCEPTION", desc);
}
Exemplo n.º 3
0
void anonymous_hugepage(char *name, int flags)
{
	char buf[100];
	char *p = alloc_anonymous_hugepage(HPS, 1);
	printf("anonymous hugepage\n");
	*(volatile int *)p = 1;
	offline(ndesc(buf, "anonymous hugepage", name), p);
	*(volatile int *)p = 1;
	free_anonymous_hugepage(p, HPS);
}
Exemplo n.º 4
0
void anonymous(char *name, int flags)
{
	char buf[100];
	char *p = checked_mmap(NULL, PS, PROT_READ|PROT_WRITE, 
			MAP_PRIVATE|MAP_ANONYMOUS|flags, 0, 0);
	printf("anonymous\n");
	*(volatile int *)p = 1;
	offline(ndesc(buf, "anonymous", name), p);
	*(volatile int *)p = 1;
	munmap(p, PS);
}
Exemplo n.º 5
0
void shm_hugepage(char *name, int flags)
{
	int shmid = 0;
	char buf[100];
	char *p = alloc_shm_hugepage(&shmid, HPS);
	if (!p)
		errmsg("failed in alloc_shm_hugepage\n");
	printf("shm hugepage\n");
	*(volatile int *)p = 1;
	offline(ndesc(buf, "shm hugepage", name), p);
	*(volatile int *)p = 1;
	free_shm_hugepage(shmid, p);
}
Exemplo n.º 6
0
void disk_backed(char *name, int flags)
{
	char fn[100];
	snprintf(fn, sizeof fn, TMPDIR "~test%u", getpid());
	printf("shared, diskbacked\n");
	int fd = open(fn, O_RDWR|O_CREAT|O_TRUNC, 0644);
	if (fd < 0) err("open tmpfile");
	write(fd, empty, sizeof empty);
	char *p = checked_mmap(NULL, PS, PROT_READ|PROT_WRITE, 
			MAP_SHARED|flags, fd, 0);
	*(volatile int *)p = 1;
	offline(ndesc(fn, "disk backed", name), p);
	munmap(p, PS);
}
Exemplo n.º 7
0
void filebacked_hugepage(char *name, int flags)
{
	int fd;
	char path[100];
	char fn[100];
	snprintf(path, sizeof path, "%s/~test-hugepage%u",
		 hugetlbfsdir, getpid());
	char *p = alloc_filebacked_hugepage(path, HPS, 0, &fd);
	printf("file backed hugepage\n");
	*(volatile int *)p = 1;
	offline(ndesc(fn, "file backed hugepage", name), p);
	*(volatile int *)p = 1;
	free_filebacked_hugepage(p, HPS, fd, path);
}
Exemplo n.º 8
0
void
RODFRouteCont::addAllEndFollower() throw() {
    std::vector<RODFRouteDesc> newRoutes;
    for (std::vector<RODFRouteDesc>::iterator i=myRoutes.begin(); i!=myRoutes.end(); ++i) {
        RODFRouteDesc &desc = *i;
        ROEdge *last = *(desc.edges2Pass.end()-1);
        if (last->getNoFollowing()==0) {
            newRoutes.push_back(desc);
            continue;
        }
        for (unsigned int j=0; j<last->getNoFollowing(); ++j) {
            RODFRouteDesc ndesc(desc);
            ndesc.edges2Pass.push_back(last->getFollower(j));
            setID(ndesc);
            newRoutes.push_back(ndesc);
        }
    }
    myRoutes = newRoutes;
}