Comment # 10 on bug 1199425 from
Created attachment 859278 [details]
gdb output

When SBFspot ends with return code = 1. I prevent further invoking of SBFspot.
The next invocation normally ends in a process is that strange status.
I started this invocation with gdb. I saw ten attempts to connect and in that
state I did an lsof:
smaspot@beijerzonrpi2:~> lsof -p 27404
COMMAND   PID    USER   FD   TYPE DEVICE SIZE/OFF   NODE NAME
SBFspot 27404 smaspot  cwd    DIR  179,3     4096 257321
/home/smaspot/sbfspot394d/SBFspot/sqlite/bin
SBFspot 27404 smaspot  rtd    DIR  179,3     4096      2 /
SBFspot 27404 smaspot  txt    REG  179,3  6521352 257338
/home/smaspot/sbfspot394d/SBFspot/sqlite/bin/SBFspot
SBFspot 27404 smaspot  mem    REG  179,3  1932896   2708 /usr/lib/libc.so.6
SBFspot 27404 smaspot  mem    REG  179,3   124472   2111 /usr/lib/libgcc_s.so.1
SBFspot 27404 smaspot  mem    REG  179,3   364376   2713 /usr/lib/libm.so.6
SBFspot 27404 smaspot  mem    REG  179,3  1878044   2851
/usr/lib/libstdc++.so.6.0.30
SBFspot 27404 smaspot  mem    REG  179,3  1243172   2838
/usr/lib/libsqlite3.so.0.8.6
SBFspot 27404 smaspot  mem    REG  179,3     5476  11699
/usr/lib/libboost_system.so.1.79.0
SBFspot 27404 smaspot  mem    REG  179,3     5480  11701
/usr/lib/libboost_date_time.so.1.79.0
SBFspot 27404 smaspot  mem    REG  179,3   193616   1988
/usr/lib/libbluetooth.so.3.19.6
SBFspot 27404 smaspot  mem    REG  179,3   213248   2702
/usr/lib/ld-linux-armhf.so.3
SBFspot 27404 smaspot    0u   CHR  136,0      0t0      3 /dev/pts/0
SBFspot 27404 smaspot    1u   CHR  136,0      0t0      3 /dev/pts/0
SBFspot 27404 smaspot    2u   CHR  136,0      0t0      3 /dev/pts/0
SBFspot 27404 smaspot    3u  sock    0,8      0t0 375474 protocol: RFCOMM
SBFspot 27404 smaspot    4u  sock    0,8      0t0 378163 protocol: RFCOMM
SBFspot 27404 smaspot    5u  sock    0,8      0t0 378882 protocol: RFCOMM
SBFspot 27404 smaspot    6u  sock    0,8      0t0 378908 protocol: RFCOMM
SBFspot 27404 smaspot    7u  sock    0,8      0t0 378918 protocol: RFCOMM
SBFspot 27404 smaspot    8u  sock    0,8      0t0 379019 protocol: RFCOMM
SBFspot 27404 smaspot    9u  sock    0,8      0t0 379021 protocol: RFCOMM
SBFspot 27404 smaspot   10u  sock    0,8      0t0 379062 protocol: RFCOMM
SBFspot 27404 smaspot   11u  sock    0,8      0t0 379065 protocol: RFCOMM
SBFspot 27404 smaspot   12u  sock    0,8      0t0 378399 protocol: RFCOMM

I followed the flow of the program and got at the end of main.cpp. The listing
at that point is:
    Inverter inverter(cfg);
    rc = inverter.process();

    if (VERBOSE_NORMAL) print_error(stdout, PROC_INFO, "Done.\n");

    return rc;
}

So return rc; was executed. I followed it with steps in gdb. There was quite a
lot of steps to do. At certain points I did a bt and at a certain point there
was a warning that the backtrace pointed back to itself.
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
At that point the backtrace was only 4 or 5 lines.
When I came at a point where the backtrace was quite long. I decided to give c,
to see if the process ended in that strange status, which it did not.
I forgot to examine the return code. The last part of the gdb session is in the
attachment. I hope this will give you some clue about what goes wrong.


You are receiving this mail because: