> For the complete documentation index, see [llms.txt](https://docs.infotopics.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.infotopics.com/writebackextreme/v4.0/support/troubleshoot.md).

# Troubleshoot

## Logging

WriteBackExtreme keeps track of errors in log files. These log files can be viewed in the management console and are also visible in the file storage on the machine.&#x20;

* In the management console, Click on `Info & License` in the menu and click the pink `System logs` button. At the left there is a list of log files. The left part of the page shows the lines in the log files. Clicking on a line will open the details of the log item. There is also a download logs button that will compress all log files into a zip file for easy sending.&#x20;
* On the filesystem in the directory where WriteBackExtreme.exe is located, there is a directory .app-runtime/storage/logs which contains all log files. (On linux this will be at /usr/local/share/writebackextreme/.wbe-runtime/storage/logs)

When you encounter an error in the application, it is always helpful to send the logs with the support ticket so we can directly start investigating.&#x20;

## Application startup

When the application does not start, the cause can probably be found in the log files. they are located in \<installation\_path>/.wbe-runtime/storage/logs/\*.log. When opening a support ticket, please provide these files.&#x20;

<details>

<summary> Could not startup server, Contact Apps For Tableau support when the problem persists</summary>

The app server is unable to start. This can have multiple causes like:&#x20;

* Application is configured as administrator but is currently not running with administrator privileges.&#x20;
* Check if there is no other WriteBackExtreme process running in the background. Open Task manager and select the `Details` tab. You should have only one process called WriteBackExtreme.&#x20;
* Check if there is no other process running on the port that is configured in WriteBackExtreme. You can do that with this command in cmd:&#x20;

```
netstat -aon
```

* Open power shell and navigate to the directory where WriteBackExtreme.exe is located. run this command to manually trigger the application server:&#x20;

```
./WriteBackExtreme.exe serve
```

This command might give more details about what went wrong.

</details>

<details>

<summary>listen tcp :443: bind: Only one usage of each socket address (protocol/network address/port) is hormally permitted</summary>

When this error appears in your wbe-application.log it is not able to spin the server because the port you have configured is already in use by another program.

</details>

<details>

<summary>WriteBackExtreme is slow or unresponsive</summary>

A typical reason of a slow experience is the database connection itself. Especially databases that are not running in the same network could potentially be slower.&#x20;

When the management console for example is also slow you can take a look at the application performance. Open Powershell and navigate to the directory where WriteBackExtreme.exe is located. Run this command to see the statistics of the internal workers:&#x20;

```
./WriteBackExtreme.exe workers --interactive
```

This will generate an interactive statistics table like so:&#x20;

<img src="https://2527144630-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxHQtQB2fBuq9GybGD8hM%2Fuploads%2F9zLiCkAJzH1AveZJZnqg%2FScreenshot%202024-02-28%20at%2014.53.49.png?alt=media&amp;token=ec9697ed-834e-47a0-8773-7ae7a9cad1ae" alt="" data-size="original">

Note: The amount of rows (workers) is dependent on the amount of CUP's you have

When this shows a lot of Memory or CPU consumption it could be a good idea to increase the number of workers. Alter the `wbe.config.yaml` configuration file and add a num\_workers option to the `http` part like so:

![](https://2527144630-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxHQtQB2fBuq9GybGD8hM%2Fuploads%2F2re1sQr2R4DlnvGoJPo9%2FScreenshot%202024-09-02%20at%2013.54.33.png?alt=media\&token=f2a31a7a-9508-4a47-a2ea-ab436b838be7)

Note: Indentation in the wbe.config.yaml file matters! Always use 2 spaces indentation.

Increasing the amount of workers to more than 30 will not increase performance, it can lead to unwanted behavior.

</details>

<details>

<summary>WriteBackExtreme does not start after reboot when running as a service </summary>

A common cause of this is that when the repository database is mysql, postgresql or sql server on the same machine it could be that WriteBackExtreme is started before the database is started. This can be resolved by adding a delayed start in the service configuration.

**Linux**

Add a sleep to the service file (typically located at /etc/systemd/system/WriteBackExtreme.service)

ExecStartPre=/bin/sleep 15

**Windows**

* Open services.
* Look for WriteBackExtreme service
* Right click and select properties
* On the general tab, select Automatic (delayed start) as startup type.&#x20;

</details>

## Extension

<details>

<summary>The tableau Extension does not show any schemas</summary>

The main cause of this is that your user account does not have the correct permissions to view a schema. Check in the management console if this user belongs to any groups. Then check on the connections page if there are connections for any of the groups of this user. If that is the case, check if there are schemas attached to these connections. If there this is the case, go to the permissions tab of the schema and check if the groups this user belongs to has permissions enabled.&#x20;

</details>

<details>

<summary>The tableau extension does not show (all) data</summary>

1. A cause of this could be Row level Security (RLS). RLS restricts the data shown base on policys set on the schema. Check in the management console if RLS is active.&#x20;
2. Check in the management console in the `Data` tab if the data you are looking for is there. When RLS is active you can simulate what the extension should display by selecting the user.
3. Extension configuration can limit the data based on the \`Show data when\` setting.

</details>

<details>

<summary>Too many attempts</summary>

When the extension shows the message \`Too many attempts\` you have reached the limit of the built-in rate limiter. This rate limiter is limiting the network traffic per user to ensure the extension keeps it's stability.&#x20;

When this error occurs there is probably too much data in the database table. The extension loads the data in chunks of 1000 rows, this means that a user can load a maximum of 60000 rows at a time.&#x20;

There are ways to increase these limits but it comes with downsides in terms of reaching other limits like memory limits. The best way is to decrease your data.

If you do want to increase the pagination size, alter the `wbe.config.yaml` file in the WriteBackExtreme installation folder:

add a `pagination_size` in the db section:

![](https://2527144630-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxHQtQB2fBuq9GybGD8hM%2Fuploads%2F9ThFZVpy457ZMMJoDCPf%2FScreenshot%202024-09-20%20at%2010.22.48%E2%80%AFAM.png?alt=media\&token=cb1b2400-eea0-4ed0-9fb8-f0f678d21c24)

</details>

<details>

<summary>Log states: Allowed memory size of xxx bytes exhausted </summary>

When this happens it simply tries to load too much data. The extension loads 1000 records at a time until all records are fetched. When you have loads of data within a row or a lot of columns it could exhaust the memory.&#x20;

**The best way to fix this** is by limiting the data itself. Do you really need to fetch this much data? or could a slimmer table also do the job? Fact is that slimmer tables will perform a lot better than  big tables that contain loads of data. &#x20;

When a slimmer table is not an option, there are two options to fix this:&#x20;

1. Decrease the number of loaded records at a time.  (default 1000). Note that this will change the limit for all schemas!

Open the `_settings` table in your repository database and search for a row with the setting\_key='db\_pagination\_size'. Change the setting\_value to a value that works. You need to restart WriteBackExtreme for the changes to make effect&#x20;

2. Increase the memory limit by altering the `wbe.config.yaml` file like so:

&#x20;![](https://2527144630-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxHQtQB2fBuq9GybGD8hM%2Fuploads%2FjBg3z0SO7EapO6JazPUA%2Fmemory_limimt.png?alt=media\&token=bebb2c5e-aa78-4655-97be-8512e8d656c6)

Note that the indentation in wbe.config.yaml matters!

</details>

<details>

<summary>Malformed UTF-8 characters. Possibly incorrectly encoded</summary>

WriteBackExtreme only supports data in UTF-8 Encoding. When your database table has characters other than UTF-8 this error message will be displayed.

This can only be solved by removing the non UTF-8 characters from your database table.&#x20;

</details>

## Single Sign On (SAML)

<details>

<summary>Authentication method by which the user authenticated with the service doesn't match requested authentication method</summary>

Whenever you suddenly get an error with Single Sign On related to the authentication method Password Protected does not match the .... with Microsoft please follow this link:&#x20;

<https://learn.microsoft.com/en-us/troubleshoot/azure/active-directory/error-code-aadsts75011-auth-method-mismatch>

#### Solution 1:

Logout from your Edge browser and login again to reset the user profile in the browser.

#### Solution 2:

Set the `requestedAuthnContext` to false by adding the following lines to your `wbe.config.yaml`:

```yaml
writeback-extreme:
  env:
    # ..other environment variables
    portal:
      saml:
        xml_validation: true
        requested_auth: false
```

Note: Environment variables defined in the config will be automatically be uppercased when starting the application.

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.infotopics.com/writebackextreme/v4.0/support/troubleshoot.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
