Trac throws up on ticket replies

Traceback (most recent call last): .....snakian stackfest...    File "build/bdist.solaris-2.11-i86pc/egg/tracspamfilter/adapters.py", line 37, in validate_ticket    File "build/bdist.solaris-2.11-i86pc/egg/tracspamfilter/api.py", line 78, in test    File "build/bdist.solaris-2.11-i86pc/egg/tracspamfilter/filters/regex.py", line 39, in test TypeError: expected string or buffer

This is apparently some spam containment plug acting up but I can say that having this 7 times _AND_ losing your form's content _AND_ being kicked back to login page afterwards is _very_ darn aggravating.

Oh yes, and http://dev.rubyonrails.org/ticket/7372 is a bug of the TestSession with a subtle and nasty consequences :slight_smile:

Traceback (most recent call last): .....snakian stackfest...    File "build/bdist.solaris-2.11-i86pc/egg/tracspamfilter/ adapters.py", line 37, in validate_ticket    File "build/bdist.solaris-2.11-i86pc/egg/tracspamfilter/api.py", line 78, in test    File "build/bdist.solaris-2.11-i86pc/egg/tracspamfilter/filters/ regex.py", line 39, in test TypeError: expected string or buffer

This is apparently some spam containment plug acting up but I can say that having this 7 times _AND_ losing your form's content _AND_ being kicked back to login page afterwards is _very_ darn aggravating.

Suck! I turned on the spam filter for registered users also to eliminate future spam floods from registered users.

I tried replying, however, and it worked for me. Can anyone else confirm?

Oh yes, and http://dev.rubyonrails.org/ticket/7372 is a bug of the TestSession with a subtle and nasty consequences :slight_smile:

Could you explain the bug and the fix on that ticket? It'd make it easier to connect the dots since they appear to address different issues.

Thanks, jeremy

I also retrieved a stack trace when I tried to Submit Changes after clicking the Reply button:

Traceback (most recent call last):   File "/opt/csw/lib/python2.3/site-packages/trac/web/main.py", line 356, in dispatch_request     dispatcher.dispatch(req)   File "/opt/csw/lib/python2.3/site-packages/trac/web/main.py", line 224, in dispatch     resp = chosen_handler.process_request(req)   File "/opt/csw/lib/python2.3/site-packages/trac/ticket/web_ui.py", line 279, in process_request     self._do_save(req, db, ticket)   File "/opt/csw/lib/python2.3/site-packages/trac/ticket/web_ui.py", line 536, in _do_save     self._validate_ticket(req, ticket)   File "/opt/csw/lib/python2.3/site-packages/trac/ticket/web_ui.py", line 66, in _validate_ticket     for field, message in manipulator.validate_ticket(req, ticket):   File "build/bdist.solaris-2.11-i86pc/egg/tracspamfilter/adapters.py", line 37, in validate_ticket   File "build/bdist.solaris-2.11-i86pc/egg/tracspamfilter/api.py", line 78, in test   File "build/bdist.solaris-2.11-i86pc/egg/tracspamfilter/filters/regex.py", line 39, in test TypeError: expected string or buffer

V/r Anthony Eden

Hi,

I was the original reporter of the bug. After reviewing the patch and re-reading my original bug report I understand why it didn't work ... I stored the information from the request to session['http_lang'] and in the test I tried to retrieve it with session[:http_lang].

Now it makes me wonder if this was really a bug at all ... while the patch will make it work (since it converts the argument to and = to a string thus effectively changing my call to session[:http_lang] to session['http_lang']) I can't remember if calling session[:symbol] and session['symbol'] is supposed to be the same ...

Thank you people anyway now I can happily test my accept-language dependant controllers :slight_smile:

Do I have to close the bug myself once I agree with the resolution or will it be closed by someone else ?

Jean

Feel free to resolve your own ticket (and others', with compassion & courtesy.)

jeremy

Same here.

The official Guide To Testing The Rails _specifically_ mentions that of all testing hash containers only the assigns are sensitive to string/symbol differences.

Therefore I filed it as a bug (especially knowing that the real Session objects are indifferent). You should also consider that a bug like this might make some _auth tests_ that you have in your app pass while the app actually does the wrong thing

..inside action, up there   unless condition_that_does_not_fire_but_should     session[:user_pwd] = MD5.new(xxx_secret)

...down here in the test   assert_nil session['user_pwd'], 'Authentication should have been cleared from the session'

and there you are :slight_smile:

That's a bummer man (tm) Maybe you can put the activity meter to some good use and disable this, uhm, measure for some folks based on the patch count, for example.

I disabled the spam filter for registered users for now.

Sorry for the cockup, jeremy

Thx. #7372 and #7395 refiled and patched.

Well I am glad I helped catch this then, even though I failed to realize how serious it was.

Thanks, Jean