This action is triggered by pressing a button which executes a piece of javascript.. the setup is done in a jquery document ready block of code. It would highly surprise me if a prefetcher would trigger that button.
As the action is triggered by a user action, I also don't think this should give a concurrent request problem. (the app runs in passenger too, I was under the impression that within passenger you shouldn't run into any concurrency issues anyways?) The source is indeed always an MSIE browser, which would suggest a browser issue. However, seeing that the browser does send a correct cookie with the session id in there, I wonder if for some reason the rails server can't match the session... Jimmy On Aug 13, 9:36 pm, Matt Jones <[email protected]> wrote: > I've seen these in production - but I've never been able to run down > the source. It's always IE that's causing them, though. I think there > may be some PC antivirus or "accelerator" that's trying to prefetch > stuff but doing it wrong... > > --Matt Jones > > On Aug 12, 9:30 pm, Jimmy <[email protected]> wrote: > > > I'm using an exception notification plugin which sends me an email > > whenever an exception is raised on the rails server. Regularly I'm > > getting exception reports due to raising a PermissionDenied exception > > when a user has no access or because rails complains about an invalid > > authenticity token. > > > I can never reproduce these. And in 99% of the cases it works fine for > > our users, but there's a 1% for whom it apparently fails. > > > These exceptions are always due to an action triggered by an ajax > > request. > > > The content of the exception report is always something like below. > > > The thing I find odd is that the HTTP_COOKIE indicates the user is > > logged in, but the session section reports a session_id of nil. I.e., > > the code will see the user as logged out, and raise an access denied > > exception. > > > In my log I can see that subsequent (non-Ajax) requests from the same > > user do work fine. > > > I also notice that all exception reports are always from MSIE6.0 and > > MSIE7.0 clients. > > > I'm using jQuery. > > > I was wondering if anyone else has seen issues like this. Is there a > > known cause and/or workaround / solution? > > > Cheers, > > Jimmy > > > ------------------------------- > > Request: > > ------------------------------- > > > * URL :http://example.com/ajaxaction > > * IP address: 165.86.81.25 > > * Parameters: {"format"=>"json", "action"=>"ajaxaction", > > "_method"=>"put", "authenticity_token"=>"/y/ > > G2RkIl8kQjgkc934aui8iEvJ1HeOfCY6EnB3/VQs=", "controller"=>"posts", > > "invitation_code"=>"4ba96ffdcb92dc054bbf5fb803099645cc1ce10d"} > > * Rails root: /var/www/production.example.com/releases/ > > 20090812034504 > > > ------------------------------- > > Session: > > ------------------------------- > > > * session id: nil > > * data: nil > > > ------------------------------- > > Environment: > > ------------------------------- > > > * CONTENT_LENGTH : 83 > > * CONTENT_TYPE : application/x-www- > > form-urlencoded > > * DOCUMENT_ROOT : /var/www/ > > production.example.com/current/public > > * HTTP_ACCEPT : application/json, > > text/javascript, */*, text/javascript > > * HTTP_ACCEPT_LANGUAGE : en-au > > * HTTP_CONNECTION : Keep-Alive > > * HTTP_CONTENT_TYPE : application/x-www- > > form-urlencoded > > * HTTP_COOKIE : > > __utma=136239534.4438442336996744000.1340901452.12403901452.1250110149.2; > > __utmb=133279534.11.30.1230110149; > > __utmz=136279534.1240901452.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd= > > (none); > > _example_session=BAh7CjoPc2Vzc2lvbl9pZCIlMWQ3ZWIwYTJlYzRkNGI2OTk0MTVjYWE3NT > > RhZTJlNzA6EF9jc3JmX3Rva2VuIjEveS9HMlJrS3w4a1FqZ2tjOGk2YXVpOGlFdkoxSGVPZkNZN > > kVuQjMvVlFzPToMdXNlcl9pZGkCw2o6CHNzaSINLGxpYnJhcnkiCmZsYXNoSUM6J0FjdGlvbkNv > > bnRyb2xsZXI6OkZsYXNoOjpGbGFz3Ehhc2h7AAY6CkB1c2VkewA > > %3D--9a490353a0b021dead9cbd438fd97997eb22c70a; __utmc=136579534; > > __qca=1242135797-11579318-30372251; __qcb=496730851; > > __gads=ID=4b3d13fa4267a99d:T=1250110172:S=ALNI_MZjarEIGP8SctjtUWhuKtWFvl7Ed > > g; > > auth_token=; __unam=7659673-12310665fd4-664da270-1 > > * HTTP_HOST : example.com > > * HTTP_PRAGMA : no-cache > > * HTTP_REFERER :http://example.com/ > > * HTTP_USER_AGENT : Mozilla/4.0 > > (compatible; MSIE 6.0; Windows NT 5.1; SV1) > > * HTTP_VIA : 1.0 GWD-BK7-PXY01, > > 1.1 GWD-BK7-PXY03 > > * HTTP_X_NOVINET : v1.2 > > * HTTP_X_REQUESTED_WITH : XMLHttpRequest > > * PATH_INFO : /ajaxaction > > * QUERY_STRING : > > * REMOTE_ADDR : 165.86.81.25 > > * REMOTE_PORT : 41604 > > * REQUEST_METHOD : PUT > > * REQUEST_URI : /ajaxaction > > * SCRIPT_NAME : > > * SERVER_ADDR : 100.22.88.200 > > * SERVER_ADMIN : > > [email protected] > > * SERVER_NAME : example.com > > * SERVER_PORT : 80 > > * SERVER_PROTOCOL : HTTP/1.1 > > * SERVER_SOFTWARE : Apache/2.2.8 > > (Ubuntu) mod_ssl/2.2.8 OpenSSL/0.9.8g Phusion_Passenger/2.2.3 > > * _ : _ > > * action_controller.request.path_parameters : > > formatjsonactionaccept_postscontroller4ba96ffdcb92dc054bbf5fb803099645cc1ce > > 10d > > * action_controller.request.query_parameters : > > * action_controller.request.request_parameters: authenticity_token/y/ > > G2RkIl8kQjgkc8i6aui8iEvJ1HeOfCY6EnB3/VQs=_methodput > > * action_controller.rescue.request : > > #<ActionController::Request:0x7f1e3e134f80> > > * action_controller.rescue.response : > > #<ActionController::Response:0x7f1e3e130778> > > * rack.errors : #<IO:0x7f1e47c9cea0> > > * rack.input : > > #<Rack::RewindableInput:0x7f1e3e13ee40> > > * rack.methodoverride.original_method : POST > > * rack.multiprocess : true > > * rack.multithread : false > > * rack.request.cookie_hash : > > __utma136279534.4458442336996744000.1240901452.1240901452.1250110149.2__utm > > b136279534.11.10.1250110149__utmc136279534__utmz136279534.1240901452.1.1.ut > > mcsr= > > (direct)|utmccn=(direct)|utmcmd=(none) > > _example_sessionBAh7Czc2lvbl9pZCIlMWQ3ZWIwYTJlYzRkNGI2OTk0MTVjYWE3NTRhZTJlN > > zA6EF9jc3JmX3Rva2VuIjEveS9HMlJrSWw4a1FqZ2tjOGk2YXVpOGlFdkoxSGVPZkNZNkVuQjMv > > VNlcl9pZGkCw2o6CHNzaSINLGxpYnJhcnkiCmZsYXN6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNo > > OjpGbGFzaEhhc2h7AAY6CkB1c2VkewA=--9a490353a0b021dead28fd97997eb22c70aauth_t > > oken__qca1245797-19318-302251__qcb4740851__gadsID=4b3d18f7a99d:T=1250110172 > > :S=ALNI_MZjarEIGPtUWhuKtWFvl7Edg__unam7639673-123665fd4-665da270-1 > > * rack.request.cookie_string : > > __utma=136279534.4458442336996744000.1240901452.1240901452.1250110149.2; > > __utmb=136279534.11.10.1250110149; > > __utmz=136279534.1240901452.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd= > > (none); > > _example_session=BAh7CjoPc2Vzc2lvbl9pZCIlMWQ3ZWIwYTJ2OTk0MTVjYWE3NTRhZTJlNz > > A6EF9jc3JmX3Rva2VuIjEveS9HMlJrSWw4a1FqZ2tjOGk2YXVpOGlFdkoxSGVPZkNZNkVuQjMvV > > lFzPToMdXNlcl9pZGkCw2o6CHNzaSINLGxpYnJhcnkiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xs > > ZXI6OkZsYXNoOjpGbGFzaEhhc2h7AAY6CkB1c2VkewA > > %3D--9a490353a0b02fd97997eb22c70a; __utmc=13634; > > __qca=12421797-11318-372251; __qcb; > > __gads=ID=4b3d18fa4267a99d:T=1250110172:S=ALNI_MZjarEhuKtWFvl7Edg; > > auth_token=; __unam=7639673-12310665fd4-665da270-1 > > * rack.request.form_hash : authenticity_token/y/ > > G2RkIl8kQjgkc8J1HeOfCY6EnB3/VQs=_methodput > > * rack.request.form_input : > > #<Rack::RewindableInput:0x7f1e3e13ee40> > > * rack.request.form_vars : > > _method=put&authenticity_token=%2Fy%2FG2RkIl8kQjiEvJ1HeOfCY6EnB3%2FVQs > > %3D > > * rack.request.query_hash : > > * rack.request.query_string : > > * rack.run_once : false > > * rack.session : > > session_id1d7eb0a2ec4aa754ae2e70_csrf_token/y/ > > G2RkIl8ui8iEvJ1HeOfCY6EnB3/VQs=user_id21 > > * rack.session.options : path/ > > expire_afterhttponlytruedomain.example.comid1d7eb0a2ec4d4b69a754ae2e70key_s > > ession_id > > * rack.url_scheme : http > > * rack.version : 10 > > > * Process: 20353 > > * Server : exampleproduction --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---

