Powered by Zoomin Software. For more details please contactZoomin

Semaphore Knowledge Model Management (KMM) Administration

Appendix - Common Issues

  • Last Updated: May 13, 2026
  • 5 minute read
    • Semaphore
    • Documentation

Issue: ‘Resource X (Ontology, Vocabulary) uses the “manager” property with an untyped value “Y”’

On saving the model settings if you see the error:

Resource "<Model Name>" (Ontology, Vocabulary) uses the "manager" property with an untyped value "smartlogic.com" (E001)

Then it could be that there are unresolved linked models. Check the “Linking” page to see if there are any missing models listed and either import those missing models into the system or remove the invalid linkage.

Note that this problem can also be manifested in various ways within the system including no users shown on the “Edit model settings” page or no languages listed when using “Create a new concept scheme” (then the error “org.apache.jena.riot.RiotException: invalid language-tagged string: Value of @language must be a string” shown when adding a new concept scheme with a manually entered language). As with the “untyped value” error above, check to see if there is an issue with the model linkages.

Issue: Resolve “A mutation operation was attempted on a database that did not allow mutations” error

This is likely issue with browser database information, resolve as follows, in Chrome (though perform equivalent in whichever browser being used; note that a restart or refresh of the browser is not sufficient to resolve this issue): Open browser debug session (F12), go to “Application” then “Storage” then “IndexDB” section and delete the two databases shown. Refresh or restart the browser after completing these steps.

Note: This update is local to the browser only and does not update Knowledge Model Management (server) configuration in any way.

Issue: Resolve “org.topbraid.core.io.RemoteDisabledException: Remote graph loading is disabled” warning

In the “SemaphoreWorkbench.log” if you see the following (specific) warning:

... WARN  [http-nio-8080-exec-6,5] o.t.e.6.0.0.v20180802-1725R:113 - org.topbraid.core: failed to inspect: http://www.smartlogic.com/2017/06/semaphore-publisher#
org.topbraid.core.io.RemoteDisabledException: Remote graph loading is disabled: http://www.smartlogic.com/2017/06/semaphore-publisher#
        at org.topbraid.core.TB.assertURLLoading(TB.java:278)
        at org.topbraid.core.registry.impl.URLRegistry.inspectAndRegister(URLRegistry.java:96)
...

This can be resolved by executing the following SPARQL:

PREFIX teamwork: <http://topbraid.org/teamwork#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>

DELETE {
  GRAPH ?teamGraph{
    ?subject owl:imports <http://www.smartlogic.com/2017/06/semaphore-publisher#>
  }
}
WHERE {
  () teamwork:graphsUnderTeamControl(?baseURI ?teamGraph)
  GRAPH ?teamGraph {
    ?subject owl:imports <http://www.smartlogic.com/2017/06/semaphore-publisher#> .
  }
} 

Issue: The “Publish” option does not appear for a user when editing a model or task

If using Semaphore 5.2 (or greater) please see environmentpermissions to ensure environment and publish permissions have been set correctly. After changes to these permissions the user not seeing the option may need to refresh their browser.

Marklogic-specific issues

Issue: Error on long import “Server Message: SVC-EXTIME: Time limit exceeded”

If a long import fails, and the following messages are received in SemaphoreWorkbench.log:

com.marklogic.client.FailedRequestException: Local message: failed to apply resource at graphs: Internal Server Error. 
Server Message: SVC-EXTIME: Time limit exceeded. See the MarkLogic server error log for further detail.
  at com.marklogic.client.impl.JerseyServices.checkStatus(JerseyServices.java:4647) ~[com.smartlogic.topbraid.marklogic_1.1.1.jar:1.7.21]
  at com.marklogic.client.impl.JerseyServices.postResource(JerseyServices.java:3527) ~[com.smartlogic.topbraid.marklogic_1.1.1.jar:1.7.21]
  at com.marklogic.client.impl.JerseyServices.mergeGraph(JerseyServices.java:5470) ~[com.smartlogic.topbraid.marklogic_1.1.1.jar:1.7.21]

Then, this issue can be resolved by increasing the “default time limit” in Marklogic Server configuration. Open Marklogic Server admin panel, then navigate to:

Groups -> <group name, generally "Default"> -> App Servers -> App-Services [HTTP]

Then, increase the ‘default time limit’ (default=600s), to cover the expected time consumed for the entire import operation. 3600s = 1h is the recommended configuration, but a larger timeout might be needed for especially large imports.

Issue: Error “Unexpected token memory exhausted”

If the following messages are received in the Tomcat log:

[TopBraid Error] 2016-02-05T19:08:08+0100 - org.topbraid.eclipsex: ERROR [qtp684407333-17] (MarklogicDatabaseUpdateClient.java:118) - 
Failed to delete a bulk (Local message: failed to apply resource at /graphs/sparql: Bad Request. 
Server Message: XDMP-UNEXPECTED: (err:XPST0003) Unexpected token memory exhausted) com.marklogic.client.FailedRequestException: 
Local message: failed to apply resource at /graphs/sparql: Bad Request. Server Message: XDMP-UNEXPECTED: (err:XPST0003) Unexpected token memory exhausted

Then this issue can be resolved by increasing the following parameter values depending on which operation was being performed when the error occurred (if unknown it may be advisable to increase all of these values):

  • smartlogic.topbraid.marklogic.addBulkSize (default=10000)
  • smartlogic.topbraid.marklogic.deleteBulkSize (default=2000)
  • smartlogic.topbraid.marklogic.findBulkSize (default=100000)

These parameters are set in the “CATALINA_OPTS” value or the “Java Options”. For example, in “CATALINA_OPTS”:

CATALINA_OPTS=%CATALINA_OPTS% -Dsmartlogic.topbraid.marklogic.deleteBulkSize=3000

Or, for “Java Options” in Windows this can be set by adding the following to the configuration:

-Dsmartlogic.topbraid.marklogic.deleteBulkSize=3000

As follows:

Issue: Models marked as corrupted on start-up

If you are experiencing regular issues on larger models (typically >100000 triples) hosted in Marklogic are marked as corrupted then this could indicate a problem with the amount of information that Knowledge Model Management is trying to retrieve (in bulks) from Marklogic during start-up.

In this situation, you will find that entries in the application log:

Caused by: java.lang.RuntimeException: Failed to fetch a bulk for graphUri=urn:x-evn-master:model-name.tch, limit=200000, offset=2000000 (tries=3)
      at com.smartlogic.topbraid.marklogic.read.BulkFindFetchingTask.call(BulkFindFetchingTask.java:68) ~[na:na]
      (...)
      at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_45]
Caused by: java.lang.RuntimeException: Failed to invoke process method
      at com.smartlogic.topbraid.marklogic.helpers.JsonInputProcessor.process(JsonInputProcessor.java:45) ~[na:na]
      (...)
Caused by: java.lang.reflect.InvocationTargetException: null
      at sun.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) ~[na:na]
      (...)
      at com.smartlogic.topbraid.marklogic.helpers.JsonInputProcessor.process(JsonInputProcessor.java:35) ~[na:na]
      Suppressed: java.io.IOException: Resetting to invalid mark
              at java.io.BufferedInputStream.reset(BufferedInputStream.java:448) ~[na:1.8.0_45]
              (...)
              at com.smartlogic.topbraid.marklogic.helpers.JsonInputProcessor.process(JsonInputProcessor.java:39) ~[na:na]
Caused by: org.apache.jena.atlas.json.JsonParseException: Broken token: http://cnrg.model-name.com/term#0410ccaf-50c9-
      at org.apache.jena.atlas.json.io.parser.TokenizerJSON.exception(TokenizerJSON.java:749) ~[na:na]
      (...)

The issue is that the stream of data which is being fetched (in bulks) is truncated, because of exceeding request timeout on the side of Marklogic Server.

Increase request timeout approach

This issue can be resolved by increasing the “request timeout” in Marklogic Server configuration. Open Marklogic Server admin panel, then navigate to:

Groups -> <group name, generally "Default"> -> App Servers -> App-Services [HTTP]

Then, increase the ‘request timeout’ (default=5s). The recommended value for an instance handling particularly large models is 30s. Note, that on some installations larger timeout might be needed.

Note: When adjusting the timeout values for Marklogic you may also wish to review Issue: Error on long import "Server Message: SVC-EXTIME: Time limit exceeded".

Decrease bulk size approach

Alternatively, you may want to try adjusting the “smartlogic.topbraid.marklogic.findBulkSize” setting to decrease it from the default value of “100000” (for example, decrease to “10,000”).

The “smartlogic.topbraid.marklogic.findBulkSize” parameter is set in the “CATALINA_OPTS” value or the “Java Options”. For example, in “CATALINA_OPTS”:

CATALINA_OPTS=%CATALINA_OPTS% -Dsmartlogic.topbraid.marklogic.findBulkSize=10000

Or, for “Java Options” in Windows this can be set by adding the following to the configuration:

-Dsmartlogic.topbraid.marklogic.findBulkSize=10000

Reloading models marked as corrupted

After making required changes to Marklogic configuration, in order to have Knowledge Model Management attempt to reload the models on start-up, do the following:

  1. Connect to the machine on which Knowledge Model Management is installed (RDP or SSH)
  2. Stop Tomcat
  3. Go to the Knowledge Model Management workspace folder
  4. Go to the “workspace/SemaphoreData” sub-folder
  5. Rename the .marklogic files with a suffix of “-corrupted” to remove this suffix, for example:
    rename model-name.marklogic-corrupted model-name.marklogic
    rename model-name.tch.marklogic-corrupted model-name.tch.marklogic
    
    

Note: In Linux this can be done for all corrupted files by simply using the command find . -name ‘*-corrupted’ -exec bash -c ‘mv $0 ${0/\corrupted/}’ {} \

  1. Start Tomcat
  2. Monitor the start-up process to see whether the model is again marked as corrupted

If corruption continues, check the tomcat “catalina.out” log file to see if any obvious issues are being reported, otherwise, contact Progress.

Issue: Marklogic-hosted models marked as corrupted

If the home directory for the user running the Tomcat hosting Knowledge Model Management does not allow writing (for the user) then Marklogic models may be marked as “corrupted” on startup (they will not appear in the Knowledge Model Management interface and the model file names in the workspace will have “-corrupted” appended to them). This issue is resolved by setting the home directory to be writable by the Tomcat user.

TitleResults for “How to create a CRG?”Also Available inAlert