Discussion:
assert in dialogic streams driver (mercd)
guimfacq ghislain
2006-04-27 05:30:22 UTC
Permalink
<html><div style='background-color:'><P class=RTE><FONT face="Geneva, Arial, Sans-serif" color=#000000>Hello,</FONT></P>
<P class=RTE><FONT face="Geneva, Arial, Sans-serif" color=#000000>Can anyone please advise on the following problem i am encountering:</FONT></P>
<P class=RTE><FONT face="Geneva, Arial, Sans-serif" color=#000000>I am using&nbsp;</FONT><FONT face="Geneva, Arial, Sans-serif" color=#000000>LiS-2.15, with&nbsp;</FONT><FONT color=#0000ff size=2><FONT face="Geneva, Arial, Sans-serif" color=#000000>Dual Xeon 3.06/hyperthreading active machine and&nbsp;</FONT><FONT face="Geneva, Arial, Sans-serif" color=#000000>2GB of RAM</FONT></FONT></P>
<P class=RTE><FONT color=#0000ff size=2><FONT face=Arial color=#000000>after a while of operation, var/log/messages is reporting assert in a stream driver (mercd)</FONT></FONT></P><FONT color=#0000ff size=2><FONT size=2>
<P><EM><STRONG>Apr 21 18:15:09 fe2 kernel: MercRcvDataFromAdap: RecvData() failed.</STRONG></EM></P>
<P><EM><STRONG>Apr 21 18:15:10 fe2 kernel: Buffer is unavailable waiting</STRONG></EM></P>
<P><EM><STRONG>Apr 21 18:15:10 fe2 kernel: mercd: assert(NULL) failed in file </STRONG></EM></P>
<P><EM><STRONG>build/bld_obj/msddpc.c, line 186</STRONG></EM></P>
<P><EM><STRONG>Apr 21 18:15:10 fe2 kernel: StreamOpen: Adapter State not ready.</STRONG></EM></P>
<P><EM><STRONG>Apr 21 18:15:25 fe2 last message repeated 53 times</STRONG></EM></P>
<P><FONT color=#000033>Meanwhile the linux streams -s command shows 2 failures in the memory allocating calls</FONT></P><FONT size=2>
<P><STRONG>-----------------------------------------</STRONG></P>
<P><STRONG>vie abr 21 </STRONG></FONT><FONT color=#ff0000 size=2><STRONG>18:16:03</STRONG></FONT><FONT size=2><STRONG> CEST 2006</STRONG></P>
<P><STRONG>-----------------------------------------</STRONG></P>
<P><STRONG>Current Total Maximum Failures</STRONG></P>
<P><STRONG>STREAMS Files Open : 186 636 186 0</STRONG></P>
<P><STRONG>Memory Allocator Calls : 11488210 11488210 11488210 </STRONG></FONT><FONT color=#ff0000 size=2><STRONG>2</STRONG></P></FONT><FONT size=2>
<P><STRONG>Memory Free Calls : 11444091 11444091 11444091 0</STRONG></P>
<P><STRONG>Bytes Allocated : 18874608 2389024160 18875520 </STRONG></FONT><FONT color=#ff0000 size=2><STRONG>2</STRONG></FONT></P>
<P><FONT color=#ff0000 size=2><FONT color=#000033><FONT color=#000000><FONT color=#000000><FONT color=#000033><FONT color=#000033><FONT color=#000033><FONT color=#000000>The&nbsp;<FONT color=#0000ff size=2>LiS failure is likely suggesting that&nbsp;messages were not getting sent to driver/ driver failing to allocate messages.</FONT></FONT></FONT></FONT></FONT></FONT></FONT></FONT></FONT></P>
<P><FONT color=#ff0000 size=2><FONT color=#000033><FONT color=#000000><FONT color=#000000><FONT color=#000033><FONT color=#000033><FONT color=#000033><FONT color=#000000><FONT color=#0000ff size=2>i am however not sure what needs to de done to overcome that:</FONT></FONT></FONT></FONT></FONT></FONT></FONT></FONT></FONT></P>
<P><FONT color=#ff0000 size=2><FONT color=#000033><FONT color=#000000><FONT color=#000000><FONT color=#000033><FONT color=#000033><FONT color=#000033><FONT color=#000000><FONT color=#0000ff size=2>Add more RAM? (top command likely suggest RAM is not the issue but i might be wrong here)</FONT></FONT></FONT></FONT></FONT></FONT></FONT></FONT></FONT></P>
<P><FONT color=#ff0000 size=2><FONT color=#000033><FONT color=#000000><FONT color=#000000><FONT color=#000033><FONT color=#000033><FONT color=#000033><FONT color=#000000><FONT color=#0000ff size=2>Is there any known issue with LIS-2.15?</FONT></FONT></FONT></FONT></FONT></FONT></FONT></FONT></FONT></P>
<P><FONT color=#ff0000 size=2><FONT color=#000033><FONT color=#000000><FONT color=#000000><FONT color=#000033><FONT color=#000033><FONT color=#000033><FONT color=#000000><FONT color=#0000ff size=2>Is there something to configure properlly in LIS?</FONT></FONT></FONT></FONT></FONT></FONT></FONT></FONT></FONT></P>
<P><FONT color=#ff0000 size=2><FONT color=#000033><FONT color=#000000><FONT color=#000000><FONT color=#000033><FONT color=#000033><FONT color=#000033><FONT color=#000000><FONT color=#0000ff size=2>Many thanks in advance for your assistance</FONT></FONT></FONT></FONT></FONT></FONT></FONT></FONT></FONT></P>
<P><FONT color=#ff0000 size=2><FONT color=#000033><FONT color=#000000><FONT color=#000000><FONT color=#000033><FONT color=#000033><FONT color=#000033><FONT color=#000000><FONT color=#0000ff size=2>Ghislain</P></FONT></FONT></FONT></FONT></FONT></FONT></FONT></FONT></FONT></FONT></FONT></div></html>
Brian F. G. Bidulock
2006-04-27 05:58:42 UTC
Permalink
guimfacq,

You could try increasing the memory and message limits set for STREAMS
using the -c and -C flags to the 'streams' utility function. They are
likely set to default values that might inappropriately low for such a
high performance, large memory system.

Nevertheless, the assertion failure might be related to something else,
(most likely an SMP race condition aggravated by waiting for a buffer).
I think that you will need to contact Intel to resolve the problem.

--brian
Post by guimfacq ghislain
Hello,
I am using LiS-2.15, with Dual Xeon 3.06/hyperthreading active machine
and 2GB of RAM
after a while of operation, var/log/messages is reporting assert in a
stream driver (mercd)
Apr 21 18:15:09 fe2 kernel: MercRcvDataFromAdap: RecvData() failed.
Apr 21 18:15:10 fe2 kernel: Buffer is unavailable waiting
Apr 21 18:15:10 fe2 kernel: mercd: assert(NULL) failed in file
build/bld_obj/msddpc.c, line 186
Apr 21 18:15:10 fe2 kernel: StreamOpen: Adapter State not ready.
Apr 21 18:15:25 fe2 last message repeated 53 times
Meanwhile the linux streams -s command shows 2 failures in the memory
allocating calls
-----------------------------------------
vie abr 21
18:16:03 CEST 2006
-----------------------------------------
Current Total Maximum Failures
STREAMS Files Open : 186 636 186 0
Memory Allocator Calls : 11488210 11488210 11488210
2
Memory Free Calls : 11444091 11444091 11444091 0
Bytes Allocated : 18874608 2389024160 18875520
2
The LiS failure is likely suggesting that messages were not getting
sent to driver/ driver failing to allocate messages.
Add more RAM? (top command likely suggest RAM is not the issue but i
might be wrong here)
Is there any known issue with LIS-2.15?
Is there something to configure properlly in LIS?
Many thanks in advance for your assistance
Ghislain
_______________________________________________ Linux-streams mailing
http://gsyc.escet.urjc.es/mailman/listinfo/linux-streams
--
Brian F. G. Bidulock ¦ The reasonable man adapts himself to the ¦
***@openss7.org ¦ world; the unreasonable one persists in ¦
http://www.openss7.org/ ¦ trying to adapt the world to himself. ¦
¦ Therefore all progress depends on the ¦
¦ unreasonable man. -- George Bernard Shaw ¦
Brian F. G. Bidulock
2006-04-27 08:45:26 UTC
Permalink
guimfacq,

Gosh, you know LiS-2.15 is over three years old, and was unstable software to
begin with (thus the 15). Why not ask Intel to update their software (as in
make it production grade)?

Someone at Intel told me that all their STREAMS drivers are open sourced. If
you are stuck with such ancient stuff, why not ask for the source code so that
you can repair it?

If these don't work, why not vote with your dollar? (E.g. hit the garbage
can with that card hard enough to knock the chips out of it--there are better
alternatives than putting up with outdated alpha software.)

--brian
Post by guimfacq ghislain
Hello,
I am using LiS-2.15, with Dual Xeon 3.06/hyperthreading active machine
and 2GB of RAM
--
Brian F. G. Bidulock ¦ The reasonable man adapts himself to the ¦
***@openss7.org ¦ world; the unreasonable one persists in ¦
http://www.openss7.org/ ¦ trying to adapt the world to himself. ¦
¦ Therefore all progress depends on the ¦
¦ unreasonable man. -- George Bernard Shaw ¦
Brian F. G. Bidulock
2006-04-27 09:02:44 UTC
Permalink
guimfacq,

Sorry, I didn't realize that _you_ work for Intel. So: why
don't _you_ update your software? Or, why don't _you_ fix your
own source code? (I suggest you start by loooking at file
build/bld_obj/msddpc.c, line 186.)

If you are finally going to update your antiquated software,
I suggest upgrading to the current release of Linux Fast-STREAMS
(streams-0.7a.5) which is far more stable that LiS-2.15,
particularly on x86_64, SMP and HT as it seems you are using.
All versions of LiS lock up and crash very easily on SMP
kernels.

2.15 didn't work worth a hoot. Many corrections were made along
the more stable 2.16 path. Some 2.14 versions and most of the
latter 2.16 releases can be made to work on UP, but not on a
fast or 4-way box. Linux Fast-STREAMS is the only package that
will work reliably on those machines.

--brian
--
Brian F. G. Bidulock ¦ The reasonable man adapts himself to the ¦
***@openss7.org ¦ world; the unreasonable one persists in ¦
http://www.openss7.org/ ¦ trying to adapt the world to himself. ¦
¦ Therefore all progress depends on the ¦
¦ unreasonable man. -- George Bernard Shaw ¦
Steve Schefter
2006-04-27 14:13:19 UTC
Permalink
Hi Ghislain.
Post by guimfacq ghislain
after a while of operation, var/log/messages is reporting assert in a
stream driver (mercd)
Apr 21 18:15:09 fe2 kernel: MercRcvDataFromAdap: RecvData() failed.
Apr 21 18:15:10 fe2 kernel: Buffer is unavailable waiting
Apr 21 18:15:10 fe2 kernel: mercd: assert(NULL) failed in file
build/bld_obj/msddpc.c, line 186
Apr 21 18:15:10 fe2 kernel: StreamOpen: Adapter State not ready.
Apr 21 18:15:25 fe2 last message repeated 53 times
Unfortunately since these are error messages within the mercd
driver, they don't mean a lot to me. If you have access to the
source and can let us know what LiS function is being called and
fails when this message is printed out, that might help. Although
it implies an allocb() failure, it's probably worth confirming.

Running out of buffers is not usual. It may imply a memory
leak somewhere. The fact that it happens after a while
tends to point to that. I would suggest running the
"streams -l" command that you mentioned periodically while
the system is running to see if usage increases slowly
over time. Running "streams -m" to display memory usage
in the failed case may also prove useful at determining
where the memory is used (where a leak exists if that
guess is true).

Regards,
Steve

------------------------------------------------------------------------
Steve Schefter phone: +1 705 725 9999 x26
The Software Group Limited fax: +1 705 725 9666
642 Welham Road, email: ***@wanware.com
Barrie, Ontario CANADA L4N 9A1 Web: www.wanware.com
Loading...