Mark, do you have a validate_doc_update function with any mention of an "options" label?
I haven't scrutinized your writeup but I suspect the "options" part of your node code is a red herring. Is there a chance you use a bad variable name in the validator? On Wed, Feb 1, 2012 at 7:01 AM, Mark Hahn <[email protected]> wrote: > Thank you very much. I will look at it with wireshark. > > On Tue, Jan 31, 2012 at 3:39 PM, CGS <[email protected]> wrote: > >> I don't know what you did there, but it seems there is an interaction in >> between node and couch in which couch catches 'new ReferenceError(options >> is not defined)' (it may be that node returns this error to couch via JS, >> but really no idea because I don't know what you did there). From the >> error, Erlang catches a JS engine error which is reported that way. How and >> where, I don't know without more info. >> >> The first part of the error: >> >> [error] [<0.7533.1>] OS Process Error <0.7546.1> :: {<<"unnamed_error">>, >> >> suggested the error caught by Erlang from JS engine, while the second part: >> >> <<"(new ReferenceError(\"options is not defined\", \"\"))">>} >> >> is the JS engine report for that error (which is translated like: "the >> 'options' variable/element... is not defined", meaning, either something >> happened within that variable which provoked the crash, or the variable is >> not recognized by the environment). From what you gave us, the only place >> containing "options" variable is line 6 from your node code. That's why I >> made that connection. If you have somewhere else "options", there are >> chances that there could be the problem. But, as I said, more than >> interpreting the error, I cannot say for sure it's like that because I have >> no idea what you did there and, more than that, I don't know node. >> >> Sorry, but more than that I am not able to help you with my knowledge in >> this moment. If that is not enough info, please, accept my apologies for >> interfering. >> >> CGS >> >> >> >> >> On Tue, Jan 31, 2012 at 11:57 PM, Mark Hahn <[email protected]> wrote: >> >> > How did the couch error message know the word "options"? My use of the >> > word options is for the specific node call http.request. >> > >> > BTW: thanks for the help. I'm sure I'm doing something stupid. >> > >> > On Tue, Jan 31, 2012 at 2:48 PM, CGS <[email protected]> wrote: >> > >> > > At line 6 from your node code snippet you defined variable "options": >> > > >> > > options = {host: 'localhost', port: mh.dbPort, method: 'PUT', headers, >> > > path: dbPath} >> > > >> > > My toss of dices would go in the definition of the headers, but that's >> > just >> > > a wild guess. >> > > >> > > CGS >> > > >> > > >> > > >> > > On Tue, Jan 31, 2012 at 11:30 PM, Mark Hahn <[email protected]> wrote: >> > > >> > > > I'm not familiar with the options you are talking about. Are these >> > some >> > > > kind of http options or couchdb options in the json body? >> > > > >> > > > On Tue, Jan 31, 2012 at 2:16 PM, CGS <[email protected]> wrote: >> > > > >> > > > > Hi Mark, >> > > > > >> > > > > It looks very much like an JS engine error and it seems there is a >> > > > problem >> > > > > in setting up the "options" parameter. From the error, either >> > "options" >> > > > > parameter doesn't exist, or it is not well formatted (no idea about >> > > > > node.js). Another option is an incompatibility with JS engine >> version >> > > > which >> > > > > doesn't accept your "options" in that format. >> > > > > >> > > > > I would suggest to ask about what's wrong with your "options" setup >> > > (and >> > > > JS >> > > > > engine compatibility if nothing is wrong) in node.js mailing >> > list/forum >> > > > or >> > > > > wait here for someone who knows node.js enough to see where you >> went >> > > > wrong >> > > > > there. Definitely the error is there, but I cannot tell you what >> as I >> > > > have >> > > > > no idea about node.js (as I said it before). >> > > > > >> > > > > I hope this post will help you at least as a starting point in >> > > debugging. >> > > > > >> > > > > CGS >> > > > > >> > > > > >> > > > > >> > > > > >> > > > > On Tue, Jan 31, 2012 at 10:00 PM, Mark Hahn <[email protected]> >> wrote: >> > > > > >> > > > > > I'm bumping this because it is killing me. I can't get past this >> > > > > problem. >> > > > > > It is happening several places in my code. >> > > > > > >> > > > > > What can cause an "OS Process Error"? >> > > > > > >> > > > > > On Mon, Jan 30, 2012 at 2:29 PM, Mark Hahn <[email protected]> >> > wrote: >> > > > > > >> > > > > > > I'm getting this error on a put request for an attachment. >> > > > > > > >> > > > > > > [error] [<0.7533.1>] OS Process Error <0.7546.1> :: >> > > > > > > {<<"unnamed_error">>, >> > > > > > > <<"(new ReferenceError(\"options is not defined\", >> \"\"))">>} >> > > > > > > >> > > > > > > This is my node code ... >> > > > > > > >> > > > > > > headers = {} >> > > > > > > headers.Authorization = mh.dbAuthHdr >> > > > > > > headers['content-type'] = contentType >> > > > > > > headers['content-length'] = contentLength >> > > > > > > dbPath = '/ri/' + compDoc._id + '/' + attachmentName + >> '?rev=' + >> > > > > > > compDoc._rev >> > > > > > > options = {host: 'localhost', port: mh.dbPort, method: 'PUT', >> > > > headers, >> > > > > > > path: dbPath} >> > > > > > > >> > > > > > > respStr = '' >> > > > > > > resp = null >> > > > > > > readStream = fs.createReadStream filePath >> > > > > > > readStream.on 'error', (e) -> >> > > > > > > vh.err req, res, 'um: uploadAttachment read error ' + >> compDoc._id >> > > + ' >> > > > > ' + >> > > > > > > e.message, 500 >> > > > > > > readStream.pipe http.request options, (resProx) -> >> > > > > > > if +resProx.statusCode isnt 201 >> > > > > > > vh.err req, res, >> > > > > > > 'um: uploadAttachment db request err ' + compDoc._id + ' ' + >> > > > > > > resProx.statusCode, 500 >> > > > > > > return >> > > > > > > resProx.on 'data', (chunk) -> respStr += chunk.toString() >> > > > > > > resProx.on 'end', (chunk) -> >> > > > > > > if chunk then respStr += chunk.toString() >> > > > > > > resp = JSON.parse respStr >> > > > > > > docUpdate = procThumbnails: compDoc.procThumbnails >> > > > > > > if lastUpdate then docUpdate.needsNotification = yes >> > > > > > > db.updateDoc compDoc._id, docUpdate, (err, doc) -> >> > > > > > > if err >> > > > > > > log 'dba: uploadAttachment compDoc update err ' + compDoc._id >> > > > > > > cb false >> > > > > > > return >> > > > > > > compDoc = doc >> > > > > > > callback true >> > > > > > > >> > > > > > > This is the value of my options ... >> > > > > > > >> > > > > > > host: <string> localhost >> > > > > > > path: <string> >> > > > > > > >> > > > > > >> > > > > >> > > > >> > > >> > >> /ri/04b7c4eb50d1d01dbb1a0f097bb80/thumbnail-72x48c.jpg?rev=27-3d44ae708d6fe9c835577d71f5e70359 >> > > > > > > method: <string> PUT >> > > > > > > headers: >> > > > > > > content-length: <number> 3511 >> > > > > > > content-type: <string> image/jpeg >> > > > > > > Authorization: <string> Basic ... snipped ... >> > > > > > > port: <number> 5984 >> > > > > > > >> > > > > > > Does anyone have an idea of what I'm doing wrong? >> > > > > > > >> > > > > > > >> > > > > > >> > > > > >> > > > >> > > >> > >> -- Iris Couch
