protected Address randomAddress(Random random) {
		List<AddressSpace> spaces = Stream.of(b.trace.getBaseAddressFactory().getAllAddressSpaces())
				.filter(s -> s.isMemorySpace() || s.isRegisterSpace())
				.toList();
		AddressSpace space = spaces.get(random.nextInt(spaces.size()));
		while (true) {
			BigInteger offset = new BigInteger(space.getSize(), random);
			try {
				return space.getAddress(offset.longValue());
			}
			catch (AddressOutOfBoundsException e) {
				continue;
			}
		}
	}
Fails because you cannot create a second root object.
Ghidra/Debug/Framework-TraceModeling/src/test/java/ghidra/trace/database/target/DBTraceObjectManagerTest.java