[Koha-bugs] [Bug 28230] New: Renewing/Checking out record with Ä or Ö letter in title can make Koha totally unfunctional

bugzilla-daemon at bugs.koha-community.org bugzilla-daemon at bugs.koha-community.org
Mon Apr 26 16:50:02 CEST 2021


https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=28230

            Bug ID: 28230
           Summary: Renewing/Checking out record with Ä or Ö letter in
                    title can make Koha totally unfunctional
 Change sponsored?: ---
           Product: Koha
           Version: master
          Hardware: All
                OS: All
            Status: NEW
          Severity: critical
          Priority: P5 - low
         Component: Circulation
          Assignee: koha-bugs at lists.koha-community.org
          Reporter: joonas.kylmala at helsinki.fi
        QA Contact: testopia at bugs.koha-community.org
                CC: gmcharlt at gmail.com, kyle.m.hall at gmail.com
        Depends on: 22824

Koha can lock-up/stop working totally (unrelease manual DB LOCK on
messages_queue table seems to cause this) in the following example situation
(others aswell):

- Have a biblio with "Ä" in title
- Enable RenewalSendNotice  
- Enable "Item checkout and renewal" message preference for patron
- Checkout an item from biblio "Ä" to patron
- Renew the patrons loan and notice the following error:

> {UNKNOWN}: YAML::XS::Load Error: The problem:
> 
>     control characters are not allowed
> 
> was found at document: 0 at /kohadevbox/koha/C4/Circulation.pm line 3150

This seems to also cause a lock staying on message_queue table and locking
other Koha database transactions from happening.

I did some test code to debug this:


#use YAML;
use Encode;
use Data::Dumper;
use YAML::XS

print Dumper(Dump(YAML::XS::Load(Encode::encode_utf8("---\r\n hello:
'heÄllo'"))));

Basically here the YAML::XS version dies but if you replace that with
YAML::Load it works. It might also have something to do with the Ä getting
double encoded?

The code that causes this problem is the 

> return YAML::XS::Load(Encode::encode_utf8($self->{metadata}));

line in C4::Message::metadata() function.

This seems to be caused by "Bug 22824: Replace YAML::Syck with YAML::XS"
(d6d01169509999e22).


Referenced Bugs:

https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=22824
[Bug 22824] Replace YAML::Syck with YAML::XS
-- 
You are receiving this mail because:
You are the assignee for the bug.
You are watching all bug changes.


More information about the Koha-bugs mailing list