Modify

Ticket #4614 (accepted defect)

Opened 11 months ago

Last modified 9 months ago

Better error when trying to access to a inexistent elements throught the URL

Reported by: richard-oss@… Owned by: jamor@…
Milestone: nice to have someday Component: objects
Severity: minor Keywords:
Cc:

Description (last modified by jamor@…) (diff)

I setup Zentyal 2.3 on Ubuntu Precise.in the repository.

I setup a number of objects and was in the process of entering members to the objects. I left the computer without saving, and when I returned my session timed out and I had to log back in. I had an error about an internal problem that is probably a bug. My objects are no longer in the system.

Because the error.log does not have timestamps, I cannot select the correct lines for you. So I attached the entire file.

Attachments

Change History

comment:1 Changed 11 months ago by richard-oss@…

Akismet rejected my file upload as spam. Here is the portion I think is most relevant:

Use of uninitialized value $class in string ne at /usr/share/zentyal/templates/msg.mas line 18.
Use of uninitialized value $class in string ne at /usr/share/zentyal/templates/msg.mas line 18.
Use of uninitialized value $class in string ne at /usr/share/zentyal/templates/msg.mas line 18.
Use of uninitialized value $class in string ne at /usr/share/zentyal/templates/msg.mas line 18.
Use of uninitialized value in numeric eq (==) at <anonymous component> line 726.
Use of uninitialized value in string eq at /usr/share/perl5/EBox/CGI/View/         DataTable.pm line 72.
Use of uninitialized value in numeric lt (<) at /usr/share/zentyal/templates/ajax/ setter/textSetter.mas line 11.
Use of uninitialized value in numeric lt (<) at /usr/share/zentyal/templates/ajax/ setter/textSetter.mas line 11.
Use of uninitialized value in string eq at /usr/share/perl5/EBox/CGI/View/         DataTable.pm line 72, <GEN10> line 26.
Use of uninitialized value in numeric eq (==) at <anonymous component> line 726.
Use of uninitialized value $class in string ne at /usr/share/zentyal/templates/msg.mas line 18.
Use of uninitialized value $class in string ne at /usr/share/zentyal/templates/msg.mas line 18.
Use of uninitialized value $class in string ne at /usr/share/zentyal/templates/msg.mas line 18.
Use of uninitialized value $class in string ne at /usr/share/zentyal/templates/msg.mas line 18.
Use of uninitialized value $class in string ne at /usr/share/zentyal/templates/msg.mas line 18.
Use of uninitialized value $class in string ne at /usr/share/zentyal/templates/msg.mas line 18.
Use of uninitialized value $class in string ne at /usr/share/zentyal/templates/msg.mas line 18.
Use of uninitialized value $class in string ne at /usr/share/zentyal/templates/msg.mas line 18.
Use of uninitialized value in numeric eq (==) at <anonymous component> line 726.
Use of uninitialized value in numeric eq (==) at <anonymous component> line 726.
Use of uninitialized value in string eq at /usr/share/perl5/EBox/CGI/View/         DataTable.pm line 72.
Use of uninitialized value in numeric lt (<) at /usr/share/zentyal/templates/ajax/ setter/textSetter.mas line 11.
Use of uninitialized value in numeric lt (<) at /usr/share/zentyal/templates/ajax/ setter/textSetter.mas line 11.
Use of uninitialized value $class in string ne at /usr/share/zentyal/templates/msg.mas line 18.
Use of uninitialized value $class in string ne at /usr/share/zentyal/templates/msg.mas line 18.
Use of uninitialized value $class in string ne at /usr/share/zentyal/templates/msg.mas line 18.
Use of uninitialized value $class in string ne at /usr/share/zentyal/templates/msg.mas line 18.
Use of uninitialized value in numeric eq (==) at <anonymous component> line 726.
Use of uninitialized value in numeric lt (<) at /usr/share/zentyal/templates/ajax/setter/textSetter.mas line 11.
Use of uninitialized value in numeric lt (<) at /usr/share/zentyal/templates/ajax/setter/textSetter.mas line 11.
Use of uninitialized value in numeric eq (==) at <anonymous component> line 726.
Reconnecting to redis server (1 try)... at /usr/share/perl5/EBox/Config/Redis.pm line 442, <GEN11> line 1.
Use of uninitialized value $eValue in string eq at /usr/share/perl5/EBox/Model/DataTable.pm line 3280.
Use of uninitialized value $class in string ne at /usr/share/zentyal/templates/msg.mas line 18.
Use of uninitialized value $class in string ne at /usr/share/zentyal/templates/msg.mas line 18.
Use of uninitialized value $class in string ne at /usr/share/zentyal/templates/msg.mas line 18.
Use of uninitialized value $class in string ne at /usr/share/zentyal/templates/msg.mas line 18.
Use of uninitialized value in numeric eq (==) at <anonymous component> line 726.
Use of uninitialized value in numeric eq (==) at <anonymous component> line 726.
Use of uninitialized value in numeric lt (<) at /usr/share/zentyal/templates/ajax/setter/textSetter.mas line 11.
Use of uninitialized value in numeric lt (<) at /usr/share/zentyal/templates/ajax/setter/textSetter.mas line 11.
Use of uninitialized value in numeric eq (==) at <anonymous component> line 726.
Use of uninitialized value in numeric eq (==) at <anonymous component> line 726.
Use of uninitialized value $oldValue in string eq at /usr/share/perl5/EBox/CGI/Controller/DataTable.pm line 222.
Use of uninitialized value $eValue in string eq at /usr/share/perl5/EBox/Model/DataTable.pm line 3280.
Use of uninitialized value $class in string ne at /usr/share/zentyal/templates/msg.mas line 18.
Use of uninitialized value $class in string ne at /usr/share/zentyal/templates/msg.mas line 18.
Use of uninitialized value $class in string ne at /usr/share/zentyal/templates/msg.mas line 18.
Use of uninitialized value $class in string ne at /usr/share/zentyal/templates/msg.mas line 18.
Use of uninitialized value in numeric eq (==) at <anonymous component> line 726.
Use of uninitialized value in numeric eq (==) at <anonymous component> line 726.
Use of uninitialized value in string eq at /usr/share/perl5/EBox/CGI/View/DataTable.pm line 72, <GEN11> line 31.
Use of uninitialized value in numeric eq (==) at <anonymous component> line 726.
Use of uninitialized value in numeric eq (==) at <anonymous component> line 726.
Use of uninitialized value $class in string ne at /usr/share/zentyal/templates/msg.mas line 18.
Use of uninitialized value $class in string ne at /usr/share/zentyal/templates/msg.mas line 18.
Use of uninitialized value $class in string ne at /usr/share/zentyal/templates/msg.mas line 18.
Use of uninitialized value $class in string ne at /usr/share/zentyal/templates/msg.mas line 18.
Use of uninitialized value in numeric eq (==) at <anonymous component> line 726.
Use of uninitialized value in numeric eq (==) at <anonymous component> line 726.
Use of uninitialized value in numeric eq (==) at <anonymous component> line 726.
Use of uninitialized value in numeric eq (==) at <anonymous component> line 726.
Use of uninitialized value in numeric eq (==) at <anonymous component> line 726.
Use of uninitialized value in numeric eq (==) at <anonymous component> line 726.
Use of uninitialized value $class in string ne at /usr/share/zentyal/templates/msg.mas line 18.
Use of uninitialized value $class in string ne at /usr/share/zentyal/templates/msg.mas line 18.
Use of uninitialized value $class in string ne at /usr/share/zentyal/templates/msg.mas line 18.
Use of uninitialized value $class in string ne at /usr/share/zentyal/templates/msg.mas line 18.
Use of uninitialized value in numeric eq (==) at <anonymous component> line 726.
Use of uninitialized value in numeric eq (==) at <anonymous component> line 726.
Use of uninitialized value in numeric eq (==) at <anonymous component> line 726.
Use of uninitialized value in numeric eq (==) at <anonymous component> line 726.
Use of uninitialized value $class in string ne at /usr/share/zentyal/templates/msg.mas line 18.
Use of uninitialized value $class in string ne at /usr/share/zentyal/templates/msg.mas line 18.
Use of uninitialized value $class in string ne at /usr/share/zentyal/templates/msg.mas line 18.
Use of uninitialized value $class in string ne at /usr/share/zentyal/templates/msg.mas line 18.
Use of uninitialized value in numeric eq (==) at <anonymous component> line 726.
Use of uninitialized value in numeric eq (==) at <anonymous component> line 726.
Use of uninitialized value in numeric eq (==) at <anonymous component> line 726.
Use of uninitialized value in numeric eq (==) at <anonymous component> line 726.
Use of uninitialized value in numeric eq (==) at <anonymous component> line 726.
Use of uninitialized value in numeric eq (==) at <anonymous component> line 726.
Use of uninitialized value $class in string ne at /usr/share/zentyal/templates/msg.mas line 18.
Use of uninitialized value $class in string ne at /usr/share/zentyal/templates/msg.mas line 18.
Use of uninitialized value $class in string ne at /usr/share/zentyal/templates/msg.mas line 18.
Use of uninitialized value $class in string ne at /usr/share/zentyal/templates/msg.mas line 18.

Use of uninitialized value in numeric eq (==) at <anonymous component> line 726.
Use of uninitialized value in numeric eq (==) at <anonymous component> line 726.
Use of uninitialized value in numeric eq (==) at <anonymous component> line 726.
Use of uninitialized value in numeric eq (==) at <anonymous component> line 726.
Reconnecting to redis server (1 try)... at /usr/share/perl5/EBox/Config/Redis.pm   line 442, <GEN12> line 1.
Use of uninitialized value in string eq at /usr/share/perl5/EBox/CGI/View/         DataTable.pm line 72.
read() on closed filehandle $fh at /usr/share/perl5/EBox/SysInfo.pm line 269.
Use of uninitialized value $hostname in substitution (s///) at /usr/share/perl5/   EBox/DHCP.pm line 1229.
Use of uninitialized value $hostname in substitution (s///) at /usr/share/perl5/   EBox/DHCP.pm line 1229.
Use of uninitialized value in substr at <anonymous component> line 4.
Use of uninitialized value in numeric comparison (<=>) at /usr/share/perl5/EBox/   CGI/Dashboard/Index.pm line 99.
Use of uninitialized value in numeric comparison (<=>) at /usr/share/perl5/EBox/   CGI/Dashboard/Index.pm line 99.
Use of uninitialized value $current in string eq at /usr/share/perl5/EBox/Menu/    Folder.pm line 87.
Use of uninitialized value $current in string eq at /usr/share/perl5/EBox/Menu/    Folder.pm line 87.
Use of uninitialized value $current in string eq at /usr/share/perl5/EBox/Menu/    Folder.pm line 87.

comment:2 Changed 11 months ago by jacalvo@…

  • Milestone set to 3.0

comment:3 Changed 11 months ago by jamor@…

  • Status changed from new to closed
  • Resolution set to wontfix
  • Description modified (diff)

Hello Richard Oss,

I am afraid that this is the default behaviour. When a session is loged out zentyal discards the configuration changes and the timeout logs out your session automatically.

Thanks for you report,

Javier

comment:4 Changed 11 months ago by richard-oss@…

  • Status changed from closed to reopened
  • Resolution wontfix deleted

I agree that the behavior makes sense. The issue isn't about the behavior, it is about the "internal error". I recounted the behavior just to help you reproduce it.

The issue should be looked in to. When these steps are followed, the server produced a message about an internal error and requested that I log this bug. The error log is full of errors. Those probably need to be looked in to, or at least have the message disabled.

I'll change the status to re-open just to make sure that the real issue is recognized (I'm not sure if you follow comments on closed tickets). If you close it again I won't bother you about it anymore.

comment:5 Changed 11 months ago by jamor@…

  • Status changed from reopened to accepted
  • Severity changed from normal to minor
  • Summary changed from Error when adding members to objects after timeout to Better error when trying to access to a inexistent elements throught the URL

Using your description, this what happened:

The internal error was due that you were adding members to a object. The object id is embedded in the url. Next you session was logged out and the configuration changes revoked, so that object doesn't existed any longed. When you logged again, the url asked for a object which dont longer existed so it returned 'Internal error'.

The thing to fix there is to change the message form a internal error to the 'element does not exist' or something like that.

The errors in error.log are an annoyance but harmless they are about using undefined values in numeric or string comparation. In this case the result is always false and that is what is expected. However a check for defined value before we will avoid this misleading messages. I agree we get rid o this error nut is a low priority task.

Regards,

Javier

comment:6 Changed 11 months ago by richard-oss@…

That makes sense. Thank you for the explanation.

comment:7 Changed 9 months ago by jacalvo@…

  • Milestone changed from 3.0 to nice to have someday
View

Add a comment

Modify Ticket

Change Properties
<Author field>
Action
as accepted
as The resolution will be set. Next status will be 'closed'
The owner will be changed from jamor@…
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.