Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

In this Discussion

osTicket v1.10 (stable) and Maintenance Release v1.9.15 are now available! Go get it now

[resolved] Unable to open any closed tickets

When i click on a ticket that's been closed i'm unable to get it to load, the only thing that shows on the page is the top menu.  We just upgraded to v1.10 last night and that's when this started.  Anyone have any ideas, i'd hate to have to revert.

Comments

  • Please help us to help you by reading and following the posting guidelines located in this thread: Please read before requesting assistance.  The more information you give us the better we will be able to assist you. Thank you.

    1. Clear your webbrowser cache, or try a different web browser.

    If that doesn't work
    2. Check your PHP error logs.

    3. Provide us with more information abotu your environment.
  • edited February 15
    I've tried Chrome/firefox, and IE along with clearing cache.  Happening for all users.
    I'm not seeing any php errors.
  • Environment
    osticket.JPG
    742 x 715 - 108K
  • If it were me I would upgrade PHP to 5.6 and see if that helps.
  • and did see this in the log file, not sure if it's related.
    [Wed Feb 15 12:39:19.402860 2017] [:error] [pid 2533] [client 98.191.103.202:28484] PHP Fatal error:  Uncaught exception 'ObjectNotUnique' with message 'One object was expected; however multiple objects in the database matched the query. In fact, there are 2 matching objects.' in /var/www/osticket/include/class.orm.php:1176\nStack trace:\n#0 /var/www/osticket/include/class.orm.php(545): QuerySet->one()\n#1 /var/www/osticket/include/class.list.php(297): VerySimpleModel::lookup(Array)\n#2 /var/www/osticket/include/class.list.php(384): DynamicList->getConfigurationForm(true)\n#3 [internal function]: DynamicList->getForm()\n#4 /var/www/osticket/include/class.list.php(112): call_user_func(Array)\n#5 /var/www/osticket/include/class.list.php(1327): CustomListHandler->__call('getForm', Array)\n#6 /var/www/osticket/include/class.list.php(1327): TicketStatusList->getForm()\n#7 /var/www/osticket/include/class.list.php(1143): TicketStatus->getConfiguration()\n#8 /var/www/osticket/include/class.ticket.php(300): TicketStatus->isReopenable()\n#9 /var/www/osticket/include/staff/ticket-view.inc.php(25): Ticket->isReopenable()\n#10 /var/w in /var/www/osticket/include/class.orm.php on line 1176, referer: https://portal.csretail.net/osticket/scp/tickets.php?id=13741
  • updated to 5.6 and issue remains.
    when we did the updated last night, i do see some DB Errors.

    Here's one of them
    DB Error #1146

    [SELECT A1.* FROM `ost_translation` A1 WHERE (A1.`lang` = 'en_US' AND A1.`type` = 'phrase')] Table 'osticket.ost_translation' doesn't exist

    ---- Backtrace ----
    #0 (root)/include/mysqli.php(204): osTicket->logDBError('DB Error #1146', '[SELECT A1.* FR...')
    #1 (root)/include/class.orm.php(3133): db_query('SELECT A1.* FRO...', true, true)
    #2 (root)/include/class.orm.php(3180): MySqlExecutor->execute()
    #3 (root)/include/class.orm.php(1771): MySqlExecutor->getArray()
    #4 (root)/include/class.orm.php(1815): ModelInstanceManager->{closure}()
    #5 (root)/include/class.orm.php(1794): CallbackSimpleIterator->next()
    #6 (root)/include/class.orm.php(1803): CallbackSimpleIterator->rewind()
    #7 (root)/include/class.orm.php(1463): CallbackSimpleIterator->valid()
    #8 (root)/include/class.orm.php(1480): CachedResultSet->fillTo(9223372036854775807)
    #9 (root)/include/class.orm.php(1489): CachedResultSet->asArray()
    #10 (root)/include/class.translation.php(899): CachedResultSet->getIterator()
    #11 (root)/include/class.translation.php(920): CustomDataTranslation::getTranslation('en_US')
    #12 (root)/include/class.list.php(396): CustomDataTranslation::translate('37eec2fe8f75003...')
    #13 (root)/include/class.list.php(209): DynamicList->getLocal('name_plural')
    #14 (root)/include/class.list.php(524): DynamicList->getPluralName()
    #15 [internal function]: DynamicList::getSelections()
    #16 (root)/include/class.forms.php(567): call_user_func(Array)
    #17 (root)/include/class.forms.php(575): FormField::allTypes()
    #18 (root)/include/class.forms.php(1016): FormField::getFieldType('text')
    #19 [internal function]: FormField->getImpl(Object(DynamicFormField))
    #20 (root)/include/class.dynamic_forms.php(596): call_user_func_array(Array, Array)
    #21 (root)/include/class.dynamic_forms.php(1339): DynamicFormField->__call('getImpl', Array)
    #22 (root)/include/class.dynamic_forms.php(1339): DynamicFormField->getImpl(Object(DynamicFormField))
    #23 (root)/include/class.dynamic_forms.php(948): DynamicFormEntryAnswer->getField()
    #24 (root)/include/class.company.php(71): DynamicFormEntry->getAnswer('name')
    #25 (root)/include/staff/footer.inc.php(5): Company->__toString()
    #26 (root)/scp/upgrade.php(88): require('/var/www/ostick...')
    #27 {main}

  • It seems like this issue could be related to another issue i'm having accessing the  custom statuses page.  If i go to lists and click on Ticket Statuses a blank page will load and it throws a very similar error in the apache logs.
    PHP Fatal error:  Uncaught exception 'ObjectNotUnique' with message 'One object was expected; however multiple objects in the database matched the query. In fact, there are 2 matching objects.' in /var/www/osticket/include/class.orm.php:1176\nStack trace:\n#0 /var/www/osticket/include/class.orm.php(545): QuerySet->one()\n#1 /var/www/osticket/include/class.list.php(297): VerySimpleModel::lookup(Array)\n#2 /var/www/osticket/include/class.list.php(384): DynamicList->getConfigurationForm(true)\n#3 [internal function]: DynamicList->getForm()\n#4 /var/www/osticket/include/class.list.php(112): call_user_func(Array)\n#5 [internal function]: CustomListHandler->__call('getForm', Array)\n#6 [internal function]: TicketStatusList->getForm()\n#7 /var/www/osticket/include/class.list.php(112): call_user_func(Array)\n#8 /var/www/osticket/scp/lists.php(19): CustomListHandler->__call('getForm', Array)\n#9 /var/www/osticket/scp/lists.php(19): TicketStatusList->getForm()\n#10 {main}\n  thrown in /var/www/osticket/include/class.orm.php on line 1176,

    I installed a fresh copy of osticket with a new database and that page and the closed tickets are able to open so there's definitely some duplicate entry or error somewhere in the database and not an actual issue with php or mysql on the server.
  • Based on the error you provided the first time you dont have an ost_translation table.

    Based on the error you just posted I would look .. well at:  Lists, Users, Ticket Statuses for dupes.  I was getting a similar error on my 1,10 install and can't remember how I fixed it.  I'll go back through my notes and see if I wrote anything down..
  • When you say to check the users table for duplicates, do you just mean duplicate id's?  We have several thousand users and duplicates are easy because a guest will put in a ticket and spell their name slightly different or make a mistake on their email and it makes a whole new user.  I did check the id numbers though and they're all unique along with items in the lists, and ticket statuses tables.
  • Yup.

    Personally I go through the DB about once a year and merge accounts manually.  Now that we use actual accounts it's a lot less dupes from people mistyping their own names/email addresses.
  • not sure if this would rule out the users being the issue, but i imported my user table to my fresh install of osticket and no issues, i guess i can just import one table at a time and see if the issue crops up.
  • Just wanted to let you know i fixed.  Importing one table at a time was very helpful.  The issue was on the ost_form table, had an old entry on there from years ago when i was trying to create a list of our locations.  I deleted the list but apparently it didn't delete it from this table and it finally caught up to us with the latest version, not sure why older versions weren't broke by this.
  • I'm glad that you found the issue. :)  I'll mark this as resolved and close it.
This discussion has been closed.