[BRLTTY] Fwd: Orca crash with grade 2 and latest versions of brltty and liblouis

Willie Walker William.Walker at Sun.COM
Thu Jul 2 15:29:45 EDT 2009


I chased this down with Pete.  Here's what I believe is happening:

1) Orca uses liblouis for contracted braille: it makes liblouis calls 
and then calls the BrlAPI write(writeStruct) method using the translated 
string.

2) I believe Pete built/installed liblouis at one time or another using 
the --disable-ucs4 option.  I verified this by doing so myself and 
reproducing the crash Pete had.  I then rebuilt/reinstalled liblouis 
using the --enable-ucs4 option.  With this as the sole change on my 
machine, Orca no longer crashed and produced contracted braille fine. I 
suspect fixing this on Pete's machine will most likely be a matter of 
doing a search and destroy of all the bad builds/installs of liblouis 
and replacing them with a good one.

I tried wrapping Orca's call to 'write' in a try/except clause, but it 
appears as though the Python bindings for BrlAPI do not bubble up 
exceptions.  Instead, BrlAPI has a default exception handler that calls 
abort() and takes down the entire Python machine with it.

BrlAPI provides a brlapi_setExceptionHandler method, but I'm not sure 
how to get to it from Python.  Can you BrlTTY folks offer some guidance?

Will

Willie Walker wrote:
>> Ok, the interesting part is
>>
>> Received Write request on fd 10
>> charset UTF-8
>> writing exception 7 to 10
>> res != (size_t) -1 not met: invalid charset conversion
>> exception 7 for packet type 119 on fd 10
>> Closing connection on fd 10
>>
>> which means some non-UTF-8 text somehow got in.
> 
> Hmmm....then this means it may possibly be Orca sending bad text.  I'm 
> puzzled why it works so well on OpenSolaris, though.  :-(
> 
> Will
> 
> 



More information about the BRLTTY mailing list