Onetime CC are giving an internal error

We are running rt-4.4.0 and just noticed that selecting a One-time Cc
gives an internal error in the Scrips and Recipients block.
The error is:

[9625] [Thu Apr 7 12:37:48 2016] [warning]: Use of uninitialized value in split at /opt/rt4/share/html/Helpers/PreviewScrips line 81. (/opt/rt4/share/html/Helpers/PreviewScrips:81)
[9625] [Thu Apr 7 12:37:48 2016] [error]: Operation “eq”: no method found,
left argument has no overloaded magic,
right argument in overloaded package Email::Address at /opt/rt4/share/html/Helpers/PreviewScrips line 115.

Stack:
[/opt/rt4/share/html/Helpers/PreviewScrips:115]
[/opt/rt4/share/html/Helpers/autohandler:51]
[/opt/rt4/sbin/…/lib/RT/Interface/Web.pm:696]
[/opt/rt4/sbin/…/lib/RT/Interface/Web.pm:375]
[/opt/rt4/share/html/autohandler:53] (/opt/rt4/sbin/…/lib/RT/Interface/Web/Handler.pm:208)

Anyone else seen that?

We are running rt with a couple of extensions but none of them should be
touching something in that part of the code.

Something related to this, namely PreviewScrips. If you reply/comment to
a large message body then apache will log a 414 and there will be no
text in the Scrips and Recipients block.
Looking at the apache logs shows a very large GET request which looks
like an URL encoded block of text which is 8000 chars.
Shouldn’t PreviewScrips use POST instead of GET because of the possible
large amount of text?

Regards,

Joop

We are seeing something very similar for every correspondence after upgrading to 4.4. The call to load the Scrips and Recipients box when updating a ticket contains the entire content of the message in the string, which is often leading to this 414 error. We never ran into this issue in 4.2.

We are running rt-4.4.0 and just noticed that selecting a One-time Cc
gives an internal error in the Scrips and Recipients block.
The error is:

[9625] [Thu Apr 7 12:37:48 2016] [warning]: Use of uninitialized value in split at /opt/rt4/share/html/Helpers/PreviewScrips line 81. (/opt/rt4/share/html/Helpers/PreviewScrips:81)
[9625] [Thu Apr 7 12:37:48 2016] [error]: Operation “eq”: no method found,
left argument has no overloaded magic,
right argument in overloaded package Email::Address at /opt/rt4/share/html/Helpers/PreviewScrips line 115.

Stack:
[/opt/rt4/share/html/Helpers/PreviewScrips:115]
[/opt/rt4/share/html/Helpers/autohandler:51]
[/opt/rt4/sbin/…/lib/RT/Interface/Web.pm:696]
[/opt/rt4/sbin/…/lib/RT/Interface/Web.pm:375]
[/opt/rt4/share/html/autohandler:53] (/opt/rt4/sbin/…/lib/RT/Interface/Web/Handler.pm:208)

Anyone else seen that?

We are running rt with a couple of extensions but none of them should be
touching something in that part of the code.

Something related to this, namely PreviewScrips. If you reply/comment to
a large message body then apache will log a 414 and there will be no
text in the Scrips and Recipients block.
Looking at the apache logs shows a very large GET request which looks
like an URL encoded block of text which is 8000 chars.
Shouldn’t PreviewScrips use POST instead of GET because of the possible
large amount of text?

Regards,

Joop

Thanks.

Sean Cwiek
MeL Systems Specialist
Midwest Collaborative for Library Services (MCLS)
Phone: 800-530-9019 ext. 148
Phone: 517-492-3848
CwiekS@mcls.orgmailto:CwiekS@mcls.org

We are seeing something very similar for every correspondence after
upgrading to 4.4. The call to load the Scrips and Recipients box when
updating a ticket contains the entire content of the message in the
string, which is often leading to this 414 error. We never ran into
this issue in 4.2.

We are running rt-4.4.0 and just noticed that selecting a One-time Cc

gives an internal error in the Scrips and Recipients block.

The error is:

[9625] [Thu Apr 7 12:37:48 2016] [warning]: Use of uninitialized
value in split at /opt/rt4/share/html/Helpers/PreviewScrips line 81.
(/opt/rt4/share/html/Helpers/PreviewScrips:81)

[9625] [Thu Apr 7 12:37:48 2016] [error]: Operation “eq”: no method
found,

    left argument has no overloaded magic,
    right argument in overloaded package Email::Address at

/opt/rt4/share/html/Helpers/PreviewScrips line 115.

Stack:

[/opt/rt4/share/html/Helpers/PreviewScrips:115]

[/opt/rt4/share/html/Helpers/autohandler:51]

[/opt/rt4/sbin/…/lib/RT/Interface/Web.pm:696]

[/opt/rt4/sbin/…/lib/RT/Interface/Web.pm:375]

[/opt/rt4/share/html/autohandler:53]
(/opt/rt4/sbin/…/lib/RT/Interface/Web/Handler.pm:208)

Anyone else seen that?

We are running rt with a couple of extensions but none of them
should be

touching something in that part of the code.

Something related to this, namely PreviewScrips. If you
reply/comment to

a large message body then apache will log a 414 and there will be no

text in the Scrips and Recipients block.

Looking at the apache logs shows a very large GET request which looks

like an URL encoded block of text which is 8000 chars.

Shouldn’t PreviewScrips use POST instead of GET because of the possible

large amount of text?

Regards,

I might have some spare time this weekend and if so will be looking into
it to see what changed between 4.2 and 4.4. Some help from BP is very
welcome too :slight_smile:
I might open a bug report just to make it know to more people.

Thanks for letting me know I’m not alone,

Joop

like an URL encoded block of text which is 8000 chars.
Shouldn’t PreviewScrips use POST instead of GET because of the possible
large amount of text?

Yeah it looks like that should POST.

I put in a pull request for this:

https://github.com/bestpractical/rt/pull/184.diff

I had to add a helper to util.js because unfortunately it looks like
theres no way to serialize the form as an object with stock jQuery. So
you might want to wait to see if BPS accepts this as-is before applying it.

Regards,

like an URL encoded block of text which is 8000 chars.
Shouldn’t PreviewScrips use POST instead of GET because of the possible
large amount of text?

Yeah it looks like that should POST.

I put in a pull request for this:

force .load to POST instead of GET by trwww · Pull Request #184 · bestpractical/rt · GitHub
https://github.com/bestpractical/rt/pull/184.diff

I had to add a helper to util.js because unfortunately it looks like
theres no way to serialize the form as an object with stock jQuery. So
you might want to wait to see if BPS accepts this as-is before
applying it.

I implemented this patch and it works OK but has a unpleasant side effect.
How to reproduce:
Reply to a ticket and make sure you have the right to see the scrip
preview pane
Notice that all that need to recieve email are having a checkmark!
Click into the message body reply field, type some text, not really needed
Click outside the text field on a place that is NOT a other form element
such as the Owner dropdown.
Notice that the checkmarks disappear :frowning:

Will amend the PR with this info too.

Joop

We are running rt-4.4.0 and just noticed that selecting a One-time Cc
gives an internal error in the Scrips and Recipients block.
The error is:

[9625] [Thu Apr 7 12:37:48 2016] [warning]: Use of uninitialized value in split at /opt/rt4/share/html/Helpers/PreviewScrips line 81. (/opt/rt4/share/html/Helpers/PreviewScrips:81)
[9625] [Thu Apr 7 12:37:48 2016] [error]: Operation “eq”: no method found,
left argument has no overloaded magic,
right argument in overloaded package Email::Address at /opt/rt4/share/html/Helpers/PreviewScrips line 115.

http://lists.bestpractical.com/pipermail/rt-users/2016-April/087217.html

I’ve been seeing this error since the release of 4.4. It was mentioned
here on the list, and at the time I thought a fix would surely make its
way down the pipeline. Sadly, I haven’t seen one, so I found the error
and fixed it the other day. If this is causing your users to miss
replies to tickets, the issue is fairly simple to fix. The attached
patch corrects the problem by quoting a variable that has overloaded
operators, so that it’s treated like a string. I’ve also sent this
patch to rt-devel.

rt4-previewscrips.patch (561 Bytes)