[Gambas-user] serial port

Robert JUHASZ robert1juhasz at ...626...
Tue Oct 13 20:01:20 CEST 2009


Salut,

I tried to follow what you wrote, here you are the result.
>From the other side when working on it and waiting for a little longer time,
I recognised that the program is not permanently frozen, after several 10
seconds it came back to normal. So at the end it's not so serious as
expected.

Regards, Robi
----------------------------------------------------------------------------------------------
(gdb) bt
#0  0xb7fe8430 in __kernel_vsyscall ()
#1  0xb786514c in __close_nocancel () from
/lib/tls/i686/cmov/libpthread.so.0
#2  0xb691de2e in CloseSerialPort (fd=18, oldtio=0xa3037b8) at tools.c:353
#3  0xb6922850 in CSerialPort_stream_close (stream=0xa303718)
    at CSerialPort.c:261
#4  0x0805529d in STREAM_close (stream=0xa303718) at gbx_stream.c:180
#5  0x0804e8b0 in EXEC_call_native (exec=0x8065c73 <CSTREAM_close>,
    object=0xa303710, type=0, param=0x9f1d338) at gbx_exec.c:844
#6  0x0804f179 in EXEC_native () at gbx_exec.c:962
#7  0x0806bc90 in EXEC_loop () at gbx_exec_loop.c:1042
#8  0x0804f487 in EXEC_function_loop () at gbx_exec.c:703
#9  0x0804f75d in EXEC_function_real () at gbx_exec.c:690
#10 0x0805d5ef in raise_event (observer=<value optimized out>,
    object=0xa274c10, func_id=<value optimized out>, nparam=0) at
gbx_api.c:490
#11 0x0805db45 in GB_Raise (object=0xa274c10, event_id=16, nparam=0)
    at gbx_api.c:594
#12 0xb726fa38 in gb_raise_button_Click (sender=0xa289ed8) at CButton.cpp:44
#13 0xb724e15e in gControl::emit (this=0x0, signal=0xb6924ff4)
    at gcontrol.cpp:1482
#14 0xb72535af in bt_click (object=0xa259c88, data=0xa289ed8) at
gbutton.cpp:58
#15 0xb6c193a4 in g_cclosure_marshal_VOID__VOID ()
   from /usr/lib/libgobject-2.0.so.0
#16 0xb6c0bc7b in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#17 0xb6c21e57 in ?? () from /usr/lib/libgobject-2.0.so.0
#18 0xb6c234b9 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#19 0xb6c23936 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#20 0xb6edcbda in gtk_button_clicked () from /usr/lib/libgtk-x11-2.0.so.0
#21 0xb6ede1f8 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#22 0xb6c193a4 in g_cclosure_marshal_VOID__VOID ()
   from /usr/lib/libgobject-2.0.so.0
#23 0xb6c0a3d9 in ?? () from /usr/lib/libgobject-2.0.so.0
#24 0xb6c0bc7b in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#25 0xb6c216c0 in ?? () from /usr/lib/libgobject-2.0.so.0
#26 0xb6c234b9 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#27 0xb6c23936 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#28 0xb6edcc7a in gtk_button_released () from /usr/lib/libgtk-x11-2.0.so.0
#29 0xb6edccb3 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#30 0xb6f97526 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#31 0xb6c0a3d9 in ?? () from /usr/lib/libgobject-2.0.so.0
#32 0xb6c0bc7b in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#33 0xb6c21aff in ?? () from /usr/lib/libgobject-2.0.so.0
#34 0xb6c2334f in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#35 0xb6c23936 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#36 0xb70b22ae in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#37 0xb6f8ff7c in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0
#38 0xb6f91327 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
-------------------------------------------------------------------------------------------------------------------------

2009/10/13 Benoît Minisini <gambas at ...1...>

> > Hello,
> >
> > At the end it works almost fine to try to open the serial port and if no
> > error I suppose that it works.
> > Now I try to use it. I do the same for ttyS0..S9.
> >
> > On the ttyS0 it finds the serial port correctly, on the S1, S3-S9 it
> finds
> > out that there is no serial port.
> > On the ttyS2 it finds something (no error when I open). I don't know what
> >  it is and no idea how to find out.
> >
> > For those where I found the port, I ask for the equipment ID to identify
> if
> > it's there or not. OK for the S0, but the ttyS2 completely freeze and
> when
> >  I try to close the port there is no reaction.
> >
> > In such a case (TRY mySerialPort.close --- no response, no error message
> >  but the program frozen) is there any way to stop the process with a
> >  timeout or does anyone has an ide ho to handle it?
> >
> > Any help would be appreciated.
> >
> > Robi
> >
>
> Apparently when closing a serial port, the gb.net component does not just
> call
> the close() system call.
>
> Can you break the frozen program with gdb and see where it is locked?
>
> $ gdb /usr/bin/gbx2 <pid of frozen program>
> ...
> (gdb) bt
> ...
>
> Send me the result of the 'bt' command.
>
> Regards,
>
> --
> Benoît Minisini
>
>
> ------------------------------------------------------------------------------
> Come build with us! The BlackBerry(R) Developer Conference in SF, CA
> is the only developer event you need to attend this year. Jumpstart your
> developing skills, take BlackBerry mobile applications to market and stay
> ahead of the curve. Join us from November 9 - 12, 2009. Register now!
> http://p.sf.net/sfu/devconference
> _______________________________________________
> Gambas-user mailing list
> Gambas-user at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gambas-user
>



More information about the User mailing list