biow0lf / evedev-kb

Automatically exported from code.google.com/p/evedev-kb
1 stars 0 forks source link

API killmail import fails when first kill contains malformed involved parties list #208

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Perform API killmail import using a corp API key where the very first 
killmail is malformed in such a way that the involved parties list is empty
2. On my host - Win32 Apache + PHP5.3.5 + MySQL 5.5.18.0 this causes HTTPD.EXE 
processor use to skyrocket for an extended period of time

What is the expected output? What do you see instead?
The expected output is normal killmail import behavior when the "Import Mails" 
button is pressed. Instead, the client's browser seemingly locks up while the 
apache httpd process runs itself into some kind of crazy loop eating up cycles. 
Seemingly intermittently, other kills DO get posted, but the process always 
hangs and never finishes cleanly. Additionally, in the "view log" button on the 
API page, api pulls initiated by cron job report an error.

What version of the board are you using? e.g. 3.2.3 or 4.0 revision
4b53033f8a1b.
4.0.4 with latest database 1.2.1. 

What version of PHP and MySQL does the board run on?
5.3.5 and 5.5.18.0

I was able to somewhat bypass this issue by 'correcting' the cached XML with 
some false information. With that info, the killmail became valid and the 
import process zipped right along.

I've attached two XML files - kb-noworkey.xml and kb-works.xml. kb-noworkey.xml 
is a copy of the cached XML file that doesn't work, as the name implies. The 
very first kill, id 22316301, has an invalid list of involved parties. Swapping 
out that single line, as done in kb-works.xml, makes the whole thing import 
just fine.

I think this problem must be isolated to when the very first kill has the 
malformed killmail, because kill 22404348 also in that XML is malformed in the 
exact same way, but caused no problems for the killboard during the API import. 
It doesn't show up on the killboard, obviously, because its malformed, but it 
didn't cause the board to lock up and fail either.

Thanks!

Original issue reported on code.google.com by will.tai...@gmail.com on 21 Feb 2012 at 12:00

Attachments:

GoogleCodeExporter commented 9 years ago
Actually, just a supplement. As soon as the cache expires and the 
manually-edited XML file is regenerated from live data, the problem resurfaces. 
I'm currently testing what happens when I purge the kill ID and mark it to 
ignore it in the future if it bypasses the issue, but I won't know until I can 
pull my API again.

Original comment by will.tai...@gmail.com on 21 Feb 2012 at 12:09

GoogleCodeExporter commented 9 years ago
A follow-up, marking the kill to be ignored in the future does not prevent the 
problem.

The affected corp API key can be provided by me privately, if needed.

Original comment by will.tai...@gmail.com on 21 Feb 2012 at 1:26