Hi,

I am trying to test the development version of brltty. When I plug in my Brailliant 40, brltty starts up. I'm confused as to what is starting brltty, since nothing in /usr/lib/udev/rules.d references it (I don't have the udev rules file installed at the moment). ANyhow, brltty starts but attempts to divide by 0 shortly afterwards. Backtrace attached (I also don't understand why some values are optimized out, since the build log indicates that I'm passing -O0). It looks as though placeBrailleWindowHorizontally is being called when textCount = 0. Does anyone know what might be going wrong? And let me know if there is anything else that you'd like from me.

If I start brltty manually, by typing "brltty" from a shell, then it works fine. Starting brltty via systemctl is not working for me, but I'm unsure if this is related to the crash I just mentioned.

Thanks,
-Mike
Program received signal SIGFPE, Arithmetic exception.
0x0000000000419664 in placeBrailleWindowHorizontally (x=0) at ./core.c:574
574         ses->winx = x / textCount * textCount;
(gdb) #0  0x0000000000419664 in placeBrailleWindowHorizontally (x=0) at 
./core.c:574
No locals.
#1  0x0000000000419b27 in trackScreenCursor (place=place@entry=1)
    at ./core.c:697
No locals.
#2  0x000000000042adaa in startBrailleDriver () at ./config.c:1524
No locals.
#3  startBrailleDriverActivity (data=<optimized out>) at ./config.c:1561
No locals.
#4  0x000000000042c495 in handleActivityStartAlarm (
    parameters=parameters@entry=0x7ffd8c67a640) at ./activity.c:163
        activity = 0x18cd1a0
        start = 0x42ad00 <startBrailleDriverActivity>
        oldState = ACT_SCHEDULED
        started = <optimized out>
        newState = <optimized out>
#5  0x00000000004212ef in asyncExecuteAlarmCallback (ad=<optimized out>, 
    timeout=<optimized out>) at ./async_alarm.c:267
        callback = 0x42c460 <handleActivityStartAlarm>
        parameters = {now = 0x7ffd8c67a630, data = 0x18cd1a0}
        alarm = 0x18cd260
        now = {seconds = 16551, nanoseconds = 16126887}
        milliseconds = <optimized out>
        element = 0x18cd290
        alarms = <optimized out>
#6  0x0000000000420da9 in awaitAction (timeout=<optimized out>)
    at ./async_wait.c:128
        cbx = 0x6932c0 <callbackExecuterTable>
        parameters = {tsd = 0x18cafb0, timeout = 500}
#7  asyncAwaitCondition (timeout=timeout@entry=500, 
    testCondition=testCondition@entry=0x0, data=data@entry=0x0)
    at ./async_wait.c:152
        elapsed = 0
        period = {start = {seconds = 16551, nanoseconds = 16119727}, 
          length = 500}
#8  0x0000000000420e69 in asyncWait (duration=duration@entry=500)
    at ./async_wait.c:160
No locals.
#9  0x00000000004246bb in newUinputObject (
    name=name@entry=0x7f2d1e312a26 "Linux Screen Driver Keyboard")
    at ./system_linux.c:861
        status = 2 '\002'
        wait = 1
        device = <optimized out>
        uinput = 0x18cf9a0
#10 0x0000000000424af1 in newUinputKeyboard (
    name=name@entry=0x7f2d1e312a26 "Linux Screen Driver Keyboard")
    at ./system_linux.c:1099
        uinput = <optimized out>
#11 0x00007f2d1e30ff10 in openKeyboard () at ./screen.c:893
No locals.
#12 0x00007f2d1e310071 in openKeyboard () at ./screen.c:950
No locals.
#13 construct_LinuxScreen () at ./screen.c:941
No locals.
#14 0x000000000044c36e in constructScreenDriver (parameters=<optimized out>)
    at ./scr.c:69
No locals.
#15 0x0000000000429728 in initializeScreenDriver (code=<optimized out>, 
    verify=0) at ./config.c:2044
        constructed = 0
#16 0x00000000004290ff in activateDriver (data=data@entry=0x7ffd8c67ad50, 
    verify=<optimized out>, verify@entry=0) at ./config.c:1270
        oneDriver = <optimized out>
        autodetect = 0
        defaultDrivers = {0x0, 0x0}
        driver = 0x18cb300
#17 0x0000000000429405 in activateScreenDriver (verify=verify@entry=0)
    at ./config.c:2091
        autodetectableDrivers = {0x0}
        data = {driverType = 0x4658ee "screen", requestedDrivers = 0x18cb300, 
          autodetectableDrivers = 0x468ed0 <autodetectableDrivers.10603>, 
          getDefaultDriver = 0x44d1f0 <getDefaultScreenDriver>, 
          haveDriver = 0x44d1d0 <haveScreenDriver>, 
          initializeDriver = 0x4295f0 <initializeScreenDriver>}
#18 0x00000000004295ab in startScreenDriver () at ./config.c:2113
No locals.
#19 startScreenDriverActivity (data=<optimized out>) at ./config.c:2130
No locals.
#20 0x000000000042c495 in handleActivityStartAlarm (
    parameters=parameters@entry=0x7ffd8c67adf0) at ./activity.c:163
        activity = 0x18cc4e0
        start = 0x4295a0 <startScreenDriverActivity>
        oldState = ACT_SCHEDULED
        started = <optimized out>
        newState = <optimized out>
#21 0x00000000004212ef in asyncExecuteAlarmCallback (ad=<optimized out>, 
    timeout=<optimized out>) at ./async_alarm.c:267
        callback = 0x42c460 <handleActivityStartAlarm>
        parameters = {now = 0x7ffd8c67ade0, data = 0x18cc4e0}
        alarm = 0x18cc590
        now = {seconds = 16551, nanoseconds = 13082791}
        milliseconds = <optimized out>
        element = 0x18cc5c0
        alarms = <optimized out>
#22 0x0000000000420da9 in awaitAction (timeout=<optimized out>)
    at ./async_wait.c:128
        cbx = 0x6932c0 <callbackExecuterTable>
        parameters = {tsd = 0x18cafb0, timeout = 2147483647}
#23 asyncAwaitCondition (timeout=timeout@entry=2147483647, 
    testCondition=testCondition@entry=0x418b40 <checkUnmonitoredConditions>, 
    data=data@entry=0x7ffd8c67aec0) at ./async_wait.c:152
        elapsed = 0
        period = {start = {seconds = 16551, nanoseconds = 13071580}, 
          length = 2147483647}
#24 0x000000000041a63a in brlttyWait (duration=duration@entry=2147483647)
    at ./core.c:1076
        ucd = {handler = 0x0, data = 0x0}
#25 0x000000000041879a in brlttyRun () at ./brltty.c:34
No locals.
#26 main (argc=<optimized out>, argv=<optimized out>) at ./brltty.c:213
        exitStatus = PROG_EXIT_SUCCESS
_______________________________________________
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@mielke.cc
For general information, go to: http://mielke.cc/mailman/listinfo/brltty

Reply via email to