Project

General

Profile

Bug #1423

tvheadend aborts and core dumps when using tv_grab_file

Added by glazed donut almost 8 years ago. Updated almost 8 years ago.

Status:
Fixed
Priority:
Normal
Assignee:
Category:
EPG - Grabbers
Target version:
Start date:
2012-11-22
Due date:
% Done:

100%

Estimated time:
Found in version:
3.2.18~g40a8920
Affected Versions:

Description

I am trying to get xmltv to work with my tvheadend version 3.2.18~g40a8920

I created a grabber based on the tv_grab_file found here: http://code.google.com/p/tv-grab-file/downloads/detail?name=tv_grab_file&can=2&q=

I created an xmltv file from my xmltv provider and named it ~/.xmltv/tv_grab_file.xmltv

Executing the tv_grab_file from the command line output the xmltv xml properly.

However whan I afterwards try to start tvheadend, I get the following error:

Nov 17 20:30:01 [INFO]:epggrab: module /usr/bin/tv_grab_file created
tvheadend: /opt/tvheadend/src/epggrab/module.c:94: epggrab_module_create: Assertion `!epggrab_module_find_by_id(id)' failed.
Aborted (core dumped)

Associated revisions

Revision 563b8f8c (diff)
Added by Adam Sutton almost 8 years ago

Issue #1423 - ensure that XMLTV grabber search does not crash.

It appears that if paths are duplicated in the PATH env variable the
internal search algorithm failed to detect this and could crash due to
an assert in the internal modlue registration code.

Revision c9e438e1 (diff)
Added by Adam Sutton almost 8 years ago

Fix #1423 - ensure that XMLTV grabber search does not crash.

It appears that if paths are duplicated in the PATH env variable the
internal search algorithm failed to detect this and could crash due to
an assert in the internal modlue registration code.
(cherry picked from commit 563b8f8c51a4fa0ee33c0ae8786f3fec84f70b4d)

History

#1

Updated by Adam Sutton almost 8 years ago

  • Status changed from New to Need feedback

I'm struggling to reproduce this one. I can certainly see that if the code though it had found two XMLTV scripts with exactly the same path this might happen. However I cannot see how that could happen.

Do you have the tv_find_grabbers script installed? If so what is the output?

Adam

#2

Updated by glazed donut almost 8 years ago

No - I don't have the tv_find_grabbers script installed.

I actually got everything working on a different NAS box.

I will revisit my setup on the original NAS box - to ensure that it is infact a bug - rather than just an error that I made.

#3

Updated by Adam Sutton almost 8 years ago

Ta,

I completely understand why it crashes. I just don't understand how it gets to that point. It appears that it finds 2 grabbers with the same ID, but since the path is the ID that implies 2 grabbers with the same path. How on earth that can happen I've no idea!

Adam

#4

Updated by Mattias Nissler almost 8 years ago

Simple answer: A path appears twice on PATH. Example: /bin:/usr/bin:/usr/local/bin:/usr/bin

For a solution, I suggest that the loop in https://github.com/tvheadend/tvheadend/blob/master/src/epggrab/module/xmltv.c#L677 should check whether a grabber for the path in question already exists. Bonus points for de-duping the PATH elements first, but that's harder to add to the current code.

#5

Updated by Adam Sutton almost 8 years ago

Matias,

Thanks for that update, somehow I missed the message. I hadn't considered that case, I'll look into this immediately.

Adam

#6

Updated by Adam Sutton almost 8 years ago

  • Status changed from Need feedback to Resolved
  • Affected Versions 3.2 added

Fix now in git master. Need to decide whether to port to 3.2.

Adam

#7

Updated by Adam Sutton almost 8 years ago

  • Target version set to 3.2
#8

Updated by Adam Sutton almost 8 years ago

  • Status changed from Resolved to Fixed
  • % Done changed from 0 to 100

Also available in: Atom PDF