On Wed, Jul 15, 2009 at 8:15 AM, Matt Graham <danceswithcrows@usa.net> wrote:
From: Dazed_75 <lthielster@gmail.com>
[cheese snippage]
>> Thanks for the info Ted!  Sorry I misunderstod.
> So, back to the drawing board.  Lordy I do hate silent failures.
> Unfortunately, it is all too common to not convey any useful
> information to the poor user!

strace and strace -ff can be your friends if the process that's
failing silently is dying because of a missing file, or a file that's
not where it's supposed to be.  "strace process > file.log 2>&1",
then after process fails, start at the end of file.log and go up,
looking for suspicious problems.  I've used this technique to find
and diagnose all sorts of "program barfs, but no errors reported"
problems in the past.

The main problem is that this approach won't help much with programs
that communicate with other programs over sockets.  Then you'd need
to strace all the processes involved and a decent knowledge of the
protocol that's being used to communicate.

--
Matt G / Dances With Crows
The Crow202 Blog:  http://crow202.org/wordpress/
There is no Darkness in Eternity/But only Light too dim for us to see

Thanks Matt,

Sorry I took so long to do this.  There was actually more learned than just from the log from strace.  Apparently the strace slowed cheese down enough that in addition to seeing the cheese GUI come up and then drop as before, it stayed up long enough that I could see the web cam indicator light come on twice for a moment.

the last notable error was:

poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=6, events=POLLIN}, {fd=9, events=POLLIN|POLLPRI}, {fd=14, events=POLLIN}, {fd=15, events=POLLIN}], 6, 99The program 'cheese' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadAlloc (insufficient resources for operation)'.
  (Details: serial 70 error_code 11 request_code 132 minor_code 19)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)
) = 1 ([{fd=4, revents=POLLIN}])

which sounds like a  bug since there should be no shortage of resources I am aware of.  Since this msg is not crystal clear about what resource, I looked back about 20 pages and did not find anything obvious.  I think I will check again for a revision before I claw further back in the 1.2 MB log file

--
Dazed_75 a.k.a. Larry

The spirit of resistance to government is so valuable on certain occasions, that I wish it always to be kept alive.
 - Thomas Jefferson