Known bugs and problems in BKChem

This page is dedicated to bugs in BKChem that have not been fixed yet.

Please note that there is now a Bug tracker facility available at Savannah page of BKChem. Please use this to submit new bugs.


BKChem crashes with segmentation fault in Ubuntu

This error is caused by conflicting versions of Tcl/Tk in Ubuntu and is impossible to fix on the side of BKChem. The solution is to remove the problematic version of Tcl/Tk if possible. The solution is described in detail in this bug tracker post

It is impossible to read back BKChem's SVG files in version 0.12.3

If BKChem 0.12.3 gives you something like this after trying to load a BKChem SVG file:

Traceback (most recent call last):
  File "bkchem.py", line 169, in <module>
    myapp.load_CDML( file=files[i], replace=1)
  File "/root/bkchem-0.12.3/bkchem/main.py", line 870, in load_CDML
    return self._load_CDML_file( a)
  File "/root/bkchem-0.12.3/bkchem/main.py", line 944, in _load_CDML_file
    self.paper.read_package( doc, draw=draw)
  File "/root/bkchem-0.12.3/bkchem/paper.py", line 630, in read_package
    new_standard = self.read_standard_from_dom( CDML)
  File "/root/bkchem-0.12.3/bkchem/paper.py", line 1769, in read_standard_from_dom
    st.read_package( std)
  File "/root/bkchem-0.12.3/bkchem/classes.py", line 127, in read_package
    self.show_hydrogens = int( a.getAttribute('show_hydrogens'))
ValueError: invalid literal for int() with base 10: 'False'

you can fix the files by replacing all occurrences of the string show_hydrogens="False" by show_hydrogens="0". You can accomplish this for example by doing this from the Linux command line:

sed -i "s/show_hydrogens=\"False\"/show_hydrogens=\"0\"/" file.svg

Where file.svg is the name of you file.

The problem should be fixed in 0.12.4 that will follow in a few days.

"MSVCR71.dll could not be found" on Windows

The solution to this problem is to simply find the proper dll and copy it into your system. The steps are as follows:

  1. Search the Internet for MSVCR71.dll and download it.
  2. Copy it to the "system32" directory. This might be in c:\winnt (depending on your system). You have to be administrator for this.

BKChem does not shut down properly on Windows (98?)

Unfortunately this is not a bug in BKchem. This is either a bug in Tkinter (the python binding to Tcl/Tk) or in Tcl/Tk itself.

For more info on this bug see this bugreport.

Any file cannot be saved

The last line of the debugging output of BKChem is: AttributeError: 'NoneType' object has no attribute '_id_cache'.

This problem occurs when you have a PyXML package installed. The minidom distributed with Python is different from the one in PyXML. However the bug is in BKChem itself because it does not properly use a standard method for creating element instances by calling Document.createElement.

The solution is to upgrade to version 0.5.0-pre3 (or newer). In case you do not want to upgrade a quick and dirty solution is to rename the directory "PYTHONLIB/site-packages/_xmlplus" to some different name.