[Gambas-user] Serial Port Change Events Not Working after Upgrade to Karmic

Ron ron at ...1740...
Wed Dec 2 15:21:10 CET 2009


Ron wrote:
> Benoît Minisini wrote:
>>> Am Mittwoch, den 02.12.2009, 20:25 +1100 schrieb Tony:
>>>    
>>>> Hi Benoit,
>>>>    I have muddled my way through the subversion bit, hopefully 
>>>> correctly
>>>> and compiled the 2454 version. When opening my application I get the
>>>> error message "The program has stopped unexpectedly raising signal 
>>>> #11"
>>>> with the CPU at 100%. If I try to open the wrong ttyUSBx, the 
>>>> application
>>>> flags this error and behaves correctly, so I would assume that if the
>>>> ttyUSBx opens OK then the most recent Gambas2 changes have induced the
>>>> "signal #11" problem. Can you please let me know how to debug 
>>>> further and
>>>> assist you with your efforts.
>>>>    Thanks and regards,
>>>>    Tony..
>>>>    Benoît Minisini wrote:
>>>>
>>>>    Thanks Benoit and all for your speedy replies..
>>>>    I'm using the serial port in a timing application with 3 laser 
>>>> through
>>>>  beam sensors feeding into the CTS, RI and DSR lines of the serial 
>>>> port.
>>>> In this mode I don't pass any data, don't really care about flow 
>>>> control
>>>> and am only interested in the raw status change events. Working 
>>>> this way
>>>> I haven't noticed gross CPU utilisation after opening the port.  The
>>>> application also uses the UDPsocket to communicate remotely and what I
>>>> have noticed is that if the serial port does not open correctly e.g.
>>>> "/dev/tty" wrong and the UDPsocket is open, then there is a large 
>>>> amount
>>>> of CPU used. Both open correctly and CPU normal.
>>>>    Can you tell me the polling frequency in Gambas2 2.8 ?
>>>>    I would assume that there ore other users of Gambas2 who are 
>>>> using the
>>>>    serial  port  as  a  convenient  way of passing external events 
>>>> to the
>>>>    application, so maybe some input from them would also be in 
>>>> order. As
>>>>  long as there is a mechanism to replicate the Gambas2 2.8 
>>>> functionality
>>>>  that I currently use, I'll leave the implementation up to those 
>>>> who know
>>>> a lot more than myself. If going back to polling, a property to define
>>>> the frequency would be nice.
>>>>    Thanks again,
>>>>    Tony.
>>>>
>>>>
>>>> Can you try the revision #2454? I think I have found and fix another
>>>> possible bug, and I'd like to be sure I didn't break anything.
>>>>
>>>> Regards,
>>>>       
>>> Salut Tony,
>>>
>>> you will find how to work with gdb there :
>>>
>>> go to http://gambas.sourceforge.net/en/main.html
>>>
>>> click: Reporting a problem
>>>
>>> read : 3. Reporting a crash (a segmentation fault, or a signal #11)
>>>
>>>     
>>
>> And another often more interesting way of debugging is using 'valgrind':
>>
>> $ cd /path/to/my/project
>> $ valgrind --tool=memcheck --num-callers=50 gbx2
>> ...
>>
>> And then you send me the output written by valgrind.
>>
>> Regards,
>>
>>   
> Benoît,
>
> I updated to 2454 and have signal 11's too, right away while starting 
> my program.
>
> This is the bt:
>
> Program received signal SIGSEGV, Segmentation fault.
> GB_Raise (object=0x11, event_id=0, nparam=0) at gbx_api.c:528
> 528        OBJECT_REF(object, "GB_Raise");
> (gdb) bt
> #0  GB_Raise (object=0x11, event_id=0, nparam=0) at gbx_api.c:528
> #1  0x00b99cd5 in CSerialPort_ReadCallBack (_object=0x11) at 
> CSerialPort.c:175
> #2  0x08060997 in raise_callback (wait=<value optimized out>) at 
> gbx_watch.c:425
> #3  do_loop (wait=<value optimized out>) at gbx_watch.c:498
> #4  0x08060b04 in WATCH_loop () at gbx_watch.c:530
> #5  0x08061b72 in main (argc=134739040, argv=0xbffff4e4) at gbx.c:358
> (gdb)
>
> I'm recompiling without optimizations at this moment, so better 
> backtrace is coming...
>
> I only have Flowcontrol = 0 in all of my serial port code.
>
> Gambas 2.18.x
> gb.qt
> Ubuntu 9.10
>
> Kind Regards,
> Ron_2nd.
>

Hmm... recompiling complete Gambas source without optimization flag 
didn't result in a more verbose output, and I don't want to recompile 
libqt or things like that.

Regards,
Ron_2nd.




More information about the User mailing list