Re: "random" jamin crashes

Dana Simmons <[email protected]> Mon, 28 Apr 2008 23:42:14 -0400
Newsgroups gmane.comp.audio.jamin.devel
Message-ID <[email protected]>
John Rigg wrote:
> On Sun, Apr 27, 2008 at 06:38:00PM -0400, Dana Simmons wrote:
>   
>> John Rigg wrote:
>>     
>>> On Sun, Apr 27, 2008 at 06:40:55AM -0400, dsanalog + wrote:
>>>   
>>>       
>>>> for the record, it seems no combination of routing ardour to jamin will
>>>> fix these crashes, if jamin is connected to ardour, it will crash.
>>>>     
>>>>         
>>> I've been using Jamin 0.95 with Ardour 2 (currently 2.4.1) for months 
>>> without any crashes. My routing scheme is different though. I send 
>>> Ardour's master outs to Jamin's inputs, then route Jamin's outputs back 
>>> in to a stereo track in Ardour. This has proved to be very reliable here.
>>>
>>> I'm using Debian Etch with Jamin 0.95 and Ardour 2.4.1 compiled from
>>> source (as opposed to Debian packages).
>>>
>>> John
>>>   
>>>       
>> I tried this method and indeed it does seem to work perfectly, no
>> crashes. Which is strange. Although to monitor the "return track" does
>> require a change in monitoring methods (external to software) which is a
>> bit annoying. As I mentioned before, the ability to stably insert jamin
>> into the master bus would be invaluable, and certainly worth some hard
>> cash to me.
>>     
>
> This sounds similar to a problem I had with jackd a while ago,
> hence my question about which jack version you're using.
> If it's > 0.99.36  and < 0.103 there's a divide by zero error in jackd
> that gets triggered at seemingly random times. It drove me nuts for weeks
> until I found the cause and made a workaround patch. It got fixed properly
> in 0.103. If your version is one of the aforementioned, there's a good
> chance that's the culprit.
>
> John
>   
I've got an interesting trace on a jamin crash which seems to be the
crash I've been experiencing, the ouput on the command line is bellow,
and the trace log below that.
jamin 0.95.0
(C) 2003-2005 J. Depner, S. Harris, J. O'Quin, R. Parker and P. Shirkey
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details.
upeek: ptrace(PTRACE_PEEKUSER,5641,44,0): No such process

The trace log:


write(3, "5\30\4\0,\5a\2\3\0`\2\236\0)\0\232\4\5\0-\5a\2,\5a\2+\0"...,
504) = 504
ioctl(3, FIONREAD, [0])                 = 0
gettimeofday({1209439756, 733638}, NULL) = 0
poll([{fd=3, events=POLLIN}], 1, 96)    = 0
gettimeofday({1209439756, 829225}, NULL) = 0
ioctl(3, FIONREAD, [0])                 = 0
gettimeofday({1209439756, 830009}, NULL) = 0
poll([{fd=3, events=POLLIN}], 1, 0)     = 0
write(3, "8\30\5\0\t\0`\2\5\0\0\0\6\0\0\0\200\200\200\0B\5g\0b\0"...,
16380) = 16380
write(3, "B\30g\0b\0`\2\t\0`\2\353\2\233\1\353\2\233\1\353\2\233"...,
496) = 496
ioctl(3, FIONREAD, [0])                 = 0
gettimeofday({1209439756, 832617}, NULL) = 0
poll([{fd=3, events=POLLIN}], 1, 0)     = 0
write(3, "5\30\4\0.\5a\2\3\0`\2\236\0)\0\232\4\5\0/\5a\2.\5a\2+\0"...,
504) = 504
ioctl(3, FIONREAD, [0])                 = 0
gettimeofday({1209439756, 835760}, NULL) = 0
poll([{fd=3, events=POLLIN}], 1, 94)    = 0
gettimeofday({1209439756, 929249}, NULL) = 0
ioctl(3, FIONREAD, [0])                 = 0
gettimeofday({1209439756, 929397}, NULL) = 0
poll([{fd=3, events=POLLIN}], 1, 0)     = 0
write(3, "8\30\5\0\t\0`\2\5\0\0\0\6\0\0\0\200\200\200\0B\5g\0b\0"...,
16380) = 16380
write(3, "B\30g\0b\0`\2\t\0`\2\353\2\233\1\353\2\233\1\353\2\233"...,
496) = 496
ioctl(3, FIONREAD, [0])                 = 0
gettimeofday({1209439756, 931626}, NULL) = 0
poll([{fd=3, events=POLLIN}], 1, 0)     = 0
write(3, "5\30\4\0000\5a\2\3\0`\2\236\0)\0\232\4\5\0001\5a\0020\5"...,
504) = 504
ioctl(3, FIONREAD, [0])                 = 0
gettimeofday({1209439756, 937314}, NULL) = 0
poll([{fd=3, events=POLLIN}], 1, 93)    = 0
gettimeofday({1209439757, 34299}, NULL) = 0
write(3, "8\30\5\0\t\0`\2\5\0\0\0\6\0\0\0\200\200\200\0B\5g\0b\0"...,
16380) = 16380
write(3, "B\30g\0b\0`\2\t\0`\2\353\2\233\1\353\2\233\1\353\2\233"...,
496) = 496
ioctl(3, FIONREAD, [0])                 = 0
gettimeofday({1209439757, 43301}, NULL) = 0
poll([{fd=3, events=POLLIN}], 1, 0)     = 0
write(3, "5\30\4\0002\5a\2\3\0`\2\236\0)\0\232\4\5\0003\5a\0022\5"...,
504) = 504
ioctl(3, FIONREAD, [0])                 = 0
gettimeofday({1209439757, 52410}, NULL) = 0
poll([{fd=3, events=POLLIN}], 1, 81)    = 0
gettimeofday({1209439757, 137088}, NULL) = 0
write(3, "8\30\5\0\t\0`\2\5\0\0\0\6\0\0\0\200\200\200\0B\5g\0b\0"...,
16380) = 16380
write(3, "B\30g\0b\0`\2\t\0`\2\353\2\233\1\353\2\233\1\353\2\233"...,
496) = 496
ioctl(3, FIONREAD, [0])                 = 0
gettimeofday({1209439757, 146461}, NULL) = 0
poll([{fd=3, events=POLLIN}], 1, 0)     = 0
write(3, "5\30\4\0004\5a\2\3\0`\2\236\0)\0\232\4\5\0005\5a\0024\5"...,
504) = 504
ioctl(3, FIONREAD, [0])                 = 0
gettimeofday({1209439757, 156420}, NULL) = 0
poll([{fd=3, events=POLLIN}], 1, 80)    = 0
gettimeofday({1209439757, 240393}, NULL) = 0
write(3, "8\30\5\0\t\0`\2\5\0\0\0\6\0\0\0\200\200\200\0B\5g\0b\0"...,
16380) = 16380
write(3, "B\30g\0b\0`\2\t\0`\2\353\2\233\1\353\2\233\1\353\2\233"...,
496) = 496
ioctl(3, FIONREAD, [0])                 = 0
gettimeofday({1209439757, 249299}, NULL) = 0
poll([{fd=3, events=POLLIN}], 1, 0)     = 0
write(3, "5\30\4\0006\5a\2\3\0`\2\236\0)\0\232\4\5\0007\5a\0026\5"...,
504) = 504
ioctl(3, FIONREAD, [0])                 = 0
gettimeofday({1209439757, 257321}, NULL) = 0
poll([{fd=3, events=POLLIN}], 1, 83)    = 0
gettimeofday(

Another untraced error is below:
(C) 2003-2005 J. Depner, S. Harris, J. O'Quin, R. Parker and P. Shirkey
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details.
The program 'jamin' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadLength (poly request too large or internal Xlib length
erro'.
  (Details: serial 7826185 error_code 16 request_code 56 minor_code 0)
  (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.)


I hope this can be of some help to somebody, please let me know if I can
do anything else to help out.

-Thanks
Dana




-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone