---
title: Reporting Issues
description: How to report CProof issues
sidebar:
  order: 3
---

## Where to report issues

The best place to report issues is at the <a href="https://git.jabber.space/devs/profanity/issues" target="_blank" rel="noopener noreferrer">github issue tracker</a>.

Other options are the <a href="https://lists.posteo.de/listinfo/profanity" target="_blank" rel="noopener noreferrer">mailing list</a>,

The following would be helpful in diagnosing/reproducing the issue if you can possibly supply it: environment (OS, OS version, window manager, terminal type), CProof release version or commit hash if from development, XMPP server and/or recipient's XMPP client if the issue only occurs with certain servers/clients, finally any information about the build configuration and enabled features.

If you cant supply the above information, a simple description will do.

## Attaching logs

The logs can often help to diagnose an issue. Firstly run CProof in debug mode to enable full debug logging:

```bash
profanity -l DEBUG
```

Then recreate the issue and attach the log (or a useful section of it) found in:

```plaintext
$XDG_DATA_HOME/profanity/logs/profanity.log
```

Which on most systems is:

```plaintext
~/.local/share/profanity/logs/profanity.log
```

Remember to remove or obfuscate any private information in the logs. In particular check for credentials in connection logging. For example the auth mechanism PLAIN sends the credentials as a base64 string which can be easily reversed to get your username and password, e.g.:

```plaintext
12/12/2014 14:22:01: conn: DBG: SENT: <auth mechanism="PLAIN" xmlns="urn:ietf:params:xml:ns:xmpp-sasl">AG9saXZlci5tdWVoc2FtAE5oYTEyMDhnIw==</auth>
```

## Attaching configuration files

Some issues are only reproducible using certain configuration options, so attaching your config can also help. CProof stores its core config in:

```plaintext
$XDG_CONFIG_HOME/profanity/profrc
```

Which on most systems is:

```plaintext
~/.config/profanity/profrc
```

Account specific configuration is specified in:

```plaintext
$XDG_DATA_HOME/profanity/accounts
```

Which on most systems is:

```plaintext
~/.local/share/profanity/accounts
```

Remember to remove or obfuscate any usernames/passwords from the configuration before sending, for example, account configuration will include your password if you have set one using the [/account](/command-reference#account) command.

## Getting a backtrace

Segfaults and crashes usually result in a coredump which can be useful in debugging the problem. If you have the time, the following instructions should help when attaching a backtrace from a crash.

### Enabling coredumps

The following command will enable coredumps of unlimited size to be generated in the current terminal session:

```bash
ulimit -c unlimited
```

If you prefer to set a limit, the argument is in Kilobytes, for example to allow coredumps of up to 100MB:

```bash
ulimit -c 102400
```

Add the command to your _~/.bashrc_ or equivalent to enable coredumps for all terminal sessions.

### Rebuild in debug mode

CProof needs to be rebuilt from source to enable more useful information in the coredump.

In the source folder (where you extracted the download, or checked out from git) run the following:

```bash
./bootstrap.sh
./configure-debug  # calls ./configure with debug options
make clean
make
```

This will only build an executable in the source folder and will not overwrite your system installed version. To run the newly built version, in the source folder run:

```bash
./profanity
```

Note, if you installed from Homebrew on OSX it is recommended to clone and build from github (checking out the relevant release tag) using the above steps, unless you are happy with editing and reinstalling brew formula.

### Viewing the backtrace

On Linux, you will need the GDB debugger installed for your distribution.

The coredump might be created in the folder in which you built and ran CProof, firstly start GDB pointing to CProof and the coredump:

```bash
gdb ./profanity core
```
or
```bash
coredumpctl gdb profanity
```

To view the backtrace in GDB:

```bash
bt
```

On OSX, the coredump can be found somewhere in the system console (usually in Applications->Utilities->Console in the finder). It should be named with "profanity" and the date and time of the crash.
