@Test
	public void testManyAddressValuesAcrossSpaces() {
		Random random = new Random();
		List<TraceObjectValue> values = new ArrayList<>();
		try (Transaction tx = b.startTransaction()) {
			TraceObjectValue rootVal =
				manager.createRootObject(ctx.getSchema(new SchemaName("Session")));
			root = rootVal.getChild();

			for (int i = 0; i < 1000; i++) {
				String key = randomIdentifier(random, 6);
				Address addr = randomAddress(random);
				Lifespan lifespan = randomLifespan(random);

				values.add(root.setAttribute(lifespan, key, addr));
			}
		}

		b.trace.getObjectManager().getValuesIntersecting(Lifespan.ALL, b.range(0, -1));
	}
Fails because you cannot create a second root object.
Ghidra/Debug/Framework-TraceModeling/src/test/java/ghidra/trace/database/target/DBTraceObjectManagerTest.java