On Sun, Aug 23, 2015 at 1:31 AM, William Hermans <[email protected]> wrote:
> So I have a problem with some code I've been working on for the last few
> months. The code, which is compiled into two separate processes suddenly
> stops working. No error, nothing in dmesg, nothing in any file in /var/log
> period. It did however occur to me that since rsyslog is likely or possible
> disabled.
>
> What my code does is read from the CAN peripheral. Form extended packets out
> of the CAN frames( NMEA 2000 fastpackets ), and then writes the data into a
> POSIX shared memory file ( /dev/shm/file ).

Since this involves two processes that as you say stop simultaneously,
I'd suspect a latent synchronization bug. You don't say how you
interlock your shared memory,  but one possibility is that your reader
code gets stuck because you overwrite the data while it's reading it.
Debugging this type of thing is tricky, but maybe write a state
machine that lights some LEDs that show the phases of your
synchronization process, and wait to see where it's stuck.

> The second process simply reads
> from the file, and shuffles the data out over a websocket in json / human
> readable form. The data on the webside of things is tested accurate,
> although I do occasionally get a malformed json object warning from firefox
> firebug.

I'd definitely look at this malformation---it could be the smoke from
the real fire. Or not. In any case, this one should be easier to
find---just wait for the message, inspect the data in firebug, and
write a checker routine, inspecting your outgoing data, that watches
for this type of distortion.

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to