This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
Harry Chen wrote: > > Hi Anne: > Thank you for replying my question > > the log file messages as below: > > Sep 13 07:49:21 mscsv3 /usr/local/ldm/logs[882]: pq_open: > /usr/local/ldm/data/ldm.pq: Success > Sep 13 07:49:21 mscsv3 /usr/local/ldm/logs[882]: info.origin: > mscsv3.msc.cwb > Sep 13 07:49:21 mscsv3 /usr/local/ldm/logs[882]: info.arrival: Thu Sep > 13 07:49:21 2001 > Sep 13 07:49:21 mscsv3 /usr/local/ldm/logs[882]: info.ident: > Notify.RCWF.class.Radial./rcwf_data/classified/RCWF/Z/elev0_5/res1/level16/20010913_0751 > Sep 13 07:49:21 mscsv3 /usr/local/ldm/logs[882]: info.signature: > 36117876613_0751 > Sep 13 07:49:21 mscsv3 /usr/local/ldm/logs[882]: xproduct: > Notify.RCWF.class.Radial./rcwf_data/classified/RCWF/Z/elev0_5/res1/level16/20010913_0751 > xdr_product() failed > > How often has this message appeared? something like this > Sep 13 07:49:21 mscsv3 /usr/local/ldm/logs[882]: xproduct: > Notify.RCWF.class.Rad > Sep 13 07:49:35 mscsv3 /usr/local/ldm/logs[894]: xproduct: > Notify.RCWF.class.Rad > Sep 13 07:50:36 mscsv3 /usr/local/ldm/logs[933]: xproduct: > Notify.RCWF.class.Rad > Sep 13 07:50:36 mscsv3 /usr/local/ldm/logs[939]: xproduct: > Notify.RCWF.radial./d > Sep 13 07:52:07 mscsv3 /usr/local/ldm/logs[970]: xproduct: > Notify.RCWF.class.Grd > Sep 13 07:52:07 mscsv3 /usr/local/ldm/logs[970]: xproduct: > Notify.RCWF.class.Rad > Sep 13 07:55:22 mscsv3 /usr/local/ldm/logs[1005]: xproduct: > Notify.RCWF.class.Rd > Sep 13 07:55:22 mscsv3 /usr/local/ldm/logs[1005]: xproduct: > Notify.RCWF.class.Rd > Sep 13 07:56:22 mscsv3 /usr/local/ldm/logs[1031]: xproduct: > Notify.RCWF.class.Rd > Sep 13 07:56:22 mscsv3 /usr/local/ldm/logs[1031]: xproduct: > Notify.RCWF.class.Rd > Sep 13 07:58:07 mscsv3 /usr/local/ldm/logs[1058]: xproduct: > Notify.RCWF.class.Gd > Sep 13 07:58:07 mscsv3 /usr/local/ldm/logs[1058]: xproduct: > Notify.RCWF.class.Rd > Sep 13 08:01:07 mscsv3 /usr/local/ldm/logs[1111]: xproduct: > Notify.RCWF.class.Rd > Sep 13 08:01:07 mscsv3 /usr/local/ldm/logs[1111]: xproduct: > Notify.RCWF.class.Rd > Sep 13 08:02:07 mscsv3 /usr/local/ldm/logs[1127]: xproduct: > Notify.RCWF.class.R > > this is for Nexrad level 3 data, will receive a volumn every 6 mins. it > not just only for > "Notify.RCWF.class.Radial." but most os them. and it happen with one > category data, > for example, it might happen with "Notify.RCWF.original." after ldm be > restarted. > > Here is the pqact.conf > ANY Notify.RCWF.original.* EXEC > /home/radoper/rcwf/bin/cwbNexrad.ksh RCWF > ANY Notify.RCWF.class.Grid.(.*) EXEC > /home/radoper/rcwf/bin/decodeRaster.ksh \1 > ANY Notify.RCWF.class.Radial.(.*) EXEC > /home/radoper/rcwf/bin/decodeRadial.ksh \1 > ANY Notify.RCWF.class.Raster.(.*) EXEC > /home/radoper/rcwf/bin/decodeRaster.ksh \1 > ANY Notify.RCWF.radial.(.*) EXEC > /home/radoper/rcwf/bin/startRadProc.ksh \1 > ANY Notify.(RCWF).(p2p|TV|[A-Z]TV|PTSF).(.*) EXEC > /home/radoper/rcwf/bin/deliverProd.ksh \2 \3 > ANY Notify.(RCWF).(wins1).(.*(y[5-6][1-z])) EXEC > /home/radoper/rcwf/bin/deliverProd.ksh \2 \3 \4 > ANY > Notify.(RCWF).(raster|radial)./rcwf_data/decoded/RCWF/(raster|radial)/(.*(OHP|Z[0-1]5_[1-2]00|DPA).*) > EXEC /home/radoper/rcwf/bin/deliverProd.ksh \2 \4 \5 > \1 > > This kind of setting has been run on DEC alpha 4100 with OSF/1 V4.2 for > 3 years and ran very well, but something weird these couple days > > all Notify message were issued by a function I wrote. go with the attach > file. > > please give me some hint, what's wrong here > > Thank you very much. > > ------------------------------------------------------------------------ > Name: write2PQ.c > write2PQ.c Type: application/x-unknown-content-type-cfile > Encoding: base64 Hi Harry, First, I'm guessing you are using pqinsert to insert products into your queue. Is that correct? I'm going to make some guesses about your problem. As you probably know, this is the pq.c code that is failing: /* * XDR Encode or Decode "prod" to or from "buf" of size "size". */ static ptrdiff_t xproduct(void *buf, size_t size, enum xdr_op op, product *prod) { XDR xdrs[1] ; xdrmem_create(xdrs, buf, (u_int)size, op); if (!xdr_product(xdrs, prod)) { uerror("xproduct: %s xdr_product() failed\n", prod->info.ident); return 0; } /* return xlen_product(prod) ; */ return (xdrs->x_private - xdrs->x_base); } I'm wondering if the call to xdrmem_create is failing. Perhaps there's not enough memory to write the data. Or perhaps the 'size' variable is bad from being cast to an unsigned int. The return value of that function really should be tested. Or perhaps the product is by some chance a 0 length product. I would check that the product is a legitimate product. If the product is a legitimate product, you could send a few representative products to me and I will try to pqinsert them into my own queue as a test. Are you able to modify the code, rebuild it, and test these things, or run the code in a debugger? Also, what version of the LDM are you running? And, what hardware and operating system are you using? Anne -- *************************************************** Anne Wilson UCAR Unidata Program address@hidden P.O. Box 3000 Boulder, CO 80307 ---------------------------------------------------- Unidata WWW server http://www.unidata.ucar.edu/ ****************************************************