Opened 13 years ago

Closed 13 years ago

#2302 closed defect (fixed)

mythvideo crash on fillgenres() or fillCountries()

Reported by: skamithi Owned by: Anduin Withers
Priority: minor Milestone: 0.21
Component: mythvideo Version: head
Severity: medium Keywords:
Cc: Ticket locked: no

Description

running rev 11017. mythvideo crashes when i do the following. using the video manager:

mv the video out of the video directory, delete the video entry using the video mgr, copy the video back into the video directory and use video manager to find it, then search imdb to fill out the entry. exit the video manager, then go to watch videos.

Crash occurs on fillGenres() or fillCountries(). it varies. but it seems to access the same code (dbaccess.cpp:313)

attached is the backtrace as well as the "-v all" output that shows all the steps mentioned until it crashed.

Video used for the test is the "Baby Van Gogh" dvd.

I can reproduce this with other video titles. Key thing is to use the imdb script to populate the video entries.

troubleshooting: deleted the mythplugins/mythvideo directory, ran svn update, and then did a make distclean on both mythplugins and mythtv before performing the test.

Attachments (3)

gdb.txt (12.7 KB) - added by skamithi 13 years ago.
backtrace
mythvideocrash.log (97.0 KB) - added by skamithi 13 years ago.
mythfrontend output
video_dump.sql (4.9 KB) - added by Matt Piermarini 13 years ago.
SQL dump of specific tables.

Download all attachments as: .zip

Change History (25)

Changed 13 years ago by skamithi

Attachment: gdb.txt added

backtrace

Changed 13 years ago by skamithi

Attachment: mythvideocrash.log added

mythfrontend output

comment:1 Changed 13 years ago by Anduin Withers

Milestone: unknown0.20
Status: newassigned

comment:2 Changed 13 years ago by Anduin Withers

Component: mythtvmythvideo

comment:3 Changed 13 years ago by Anduin Withers

Resolution: worksforme
Status: assignedclosed

I cannot reproduce this behavior. Reopen if it persists and new steps/information are discovered.

comment:4 Changed 13 years ago by Anduin Withers

Resolution: worksforme
Status: closedreopened

comment:5 Changed 13 years ago by Matt Piermarini

Start with empty tables
and then use videomanager to search IMDB for 1 movie to populate the tables. Here is data from specific tables to reproduce error from my system.

select * from videometadata;

| intid | title | director | plot | rating | inetref | year | userrating | length | showlevel | filename | coverfile| childid | browse | playcommand | category |

| 744 | 16 Blocks | Richard Donner | An aging cop (Willis) is assigned the ordinary task of escorting a fast-talking witness (Def) from police custody to a courthouse. There are however forces at work trying to stop prevent them from making it. | Rated PG-13 for violence, intense sequences of action, and some strong language. | 0450232 | 2006 | 6.6 | 0 | 1 | /media/fs/video/movies/16 blocks.img | /home/mythtv/.mythtv/MythVideo/0450232.jpg | -1 | 1 | NULL | 0 |

select * from videometadatacountry;

+---------+-----------+
| idvideo | idcountry |
+---------+-----------+
| 744 | 1 |
| 744 | 2 |
+---------+-----------+

2 rows in set (0.00 sec)

select * from videometadatagenre;

+---------+---------+
| idvideo | idgenre |
+---------+---------+
| 744 | 1 |
| 744 | 2 |
| 744 | 3 |
+---------+---------+
3 rows in set (0.00 sec)


select * from videocountry;

+-------+---------+
| intid | country |
+-------+---------+
| 1 | Germany |
| 2 | USA |
+-------+---------+

2 rows in set (0.02 sec)


select * from videogenre;

+-------+----------+
| intid | genre |
+-------+----------+
| 1 | Action |
| 2 | Drama |
| 3 | Thriller |
+-------+----------+

3 rows in set (0.00 sec)

Changed 13 years ago by Matt Piermarini

Attachment: video_dump.sql added

SQL dump of specific tables.

comment:6 Changed 13 years ago by auric

Had the same symptons. Found that intid in my videogenre table was not contiguous. i.e had ... 19,Film-Noir 21,History 22,Music but had no intid 20 entry. Added a 20,Documentary entry which fixed the problem. Matt's is contiguous so his problem is not this, but other peoples crashes my be caused by this. Myth Version 0.20.20060828-3

comment:7 in reply to:  5 ; Changed 13 years ago by anonymous

I second that. I'm using AMD64 and have the same problem. No workaround found.

It's working fine until I lookup a video on imdb. Then mythfrontend always crash when I go to watch videos or into the video manager.

comment:8 Changed 13 years ago by Anduin Withers

#2465 is a duplicate of this bug

comment:9 in reply to:  7 Changed 13 years ago by anonymous

Replying to anonymous:

I second that. I'm using AMD64 and have the same problem. No workaround found.

It's working fine until I lookup a video on imdb. Then mythfrontend always crash when I go to watch videos or into the video manager.

Sorry for that incomplete information. I dpn't know how to produce a gdb trace, but this is the output from mythfrontend when it crashes:

2006-09-26 17:46:40.298 XMLParse::LoadTheme? using /usr/share/mythtv/themes/default-wide/video-ui.xml * glibc detected * mythfrontend: free(): invalid pointer: 0x0000000000791270 * ======= Backtrace: ========= /lib64/libc.so.6[0x2ba081ec837e] /lib64/libc.so.6(libc_free+0x6c)[0x2ba081ec999c] /usr/lib64/mythtv/plugins/libmythvideo.so(_ZN11MetadataImp10fillGenresEv+0xa7)[0x2aaab6170667] /usr/lib64/mythtv/plugins/libmythvideo.so(_ZN11MetadataImp9fromDBRowER9MSqlQuery+0x711)[0x2aaab6170f11] /usr/lib64/mythtv/plugins/libmythvideo.so(_ZN11MetadataImpC1ER9MSqlQuery+0x1a8)[0x2aaab6176778] /usr/lib64/mythtv/plugins/libmythvideo.so(_ZN8MetadataC1ER9MSqlQuery+0x31)[0x2aaab6175451] /usr/lib64/mythtv/plugins/libmythvideo.so(_ZN19MetadataListManager19loadAllFromDatabaseERSt4listI14simple_ref_ptrI8Metadata6NoLockESaIS4_EE+0xa8)[0x2aaab61d2a88] /usr/lib64/mythtv/plugins/libmythvideo.so(_ZN12VideoScannerC1Ev+0x67)[0x2aaab61bc787] /usr/lib64/mythtv/plugins/libmythvideo.so(_ZN37_GLOBALN_main.cpp_00000000_BDA0D70C7screens9runScreenENS0_11screen_typeE+0x53f)[0x2aaab616c84f] /usr/lib64/libmythui-0.20.so.0(_ZN14MythMainWindow14ExitToMainMenuEv+0xb0)[0x2ba07f1be620] /usr/lib64/libmythui-0.20.so.0(_ZN14MythMainWindow11customEventEP12QCustomEvent+0xf6)[0x2ba07f1c4a86] /usr/lib64/libqt-mt.so.3(_ZN7QObject5eventEP6QEvent+0x96)[0x2ba080b705a6] /usr/lib64/libqt-mt.so.3(_ZN7QWidget5eventEP6QEvent+0x28)[0x2ba080ba3618] /usr/lib64/libqt-mt.so.3(_ZN12QApplication14internalNotifyEP7QObjectP6QEvent+0x85)[0x2ba080b19ae5] /usr/lib64/libqt-mt.so.3(_ZN12QApplication6notifyEP7QObjectP6QEvent+0x87)[0x2ba080b1a717] /usr/lib64/libqt-mt.so.3(_ZN12QApplication16sendPostedEventsEP7QObjecti+0x179)[0x2ba080b1b1b9] /usr/lib64/libqt-mt.so.3(_ZN10QEventLoop13processEventsEj+0x81)[0x2ba080acff11] /usr/lib64/libqt-mt.so.3(_ZN10QEventLoop9enterLoopEv+0x41)[0x2ba080b2e7f1] /usr/lib64/libqt-mt.so.3(_ZN10QEventLoop4execEv+0x2a)[0x2ba080b2e69a] mythfrontend[0x42b557] /lib64/libc.so.6(libc_start_main+0xf4)[0x2ba081e7a154] mythfrontend(_ZN6QFrame10paintEventEP11QPaintEvent+0x49)[0x4214a9] ======= Memory map: ======== 00400000-0056d000 r-xp 00000000 08:05 159911 /usr/bin/mythfrontend 0066d000-00670000 rw-p 0016d000 08:05 159911 /usr/bin/mythfrontend 00670000-0325c000 rw-p 00670000 00:00 0 [heap] 40000000-40001000 ---p 40000000 00:00 0 40001000-40801000 rwxp 40001000 00:00 0 40801000-40802000 ---p 40801000 00:00 0 40802000-41002000 rwxp 40802000 00:00 0 41002000-41003000 ---p 41002000 00:00 0 41003000-41803000 rwxp 41003000 00:00 0 2aaaaaaab000-2aaaaaadc000 r--p 00000000 08:05 161649 /usr/share/mythtv/i18n/mythfrontend_sv.qm 2aaaaaadc000-2aaaaaae2000 r-xp 00000000 08:05 163760 /usr/lib/qt3/plugins/imageformats/libqjpeg.lib64.so 2aaaaaae2000-2aaaaabe1000 ---p 00006000 08:05 163760 /usr/lib/qt3/plugins/imageformats/libqjpeg.lib64.so 2aaaaabe1000-2aaaaabe2000 rw-p 00005000 08:05 163760 /usr/lib/qt3/plugins/imageformats/libqjpeg.lib64.so 2aaaaac09000-2aaaaac2a000 r-xp 00000000 08:05 19536 /usr/lib64/libjpeg.so.62.0.0 2aaaaac2a000-2aaaaad29000 ---p 00021000 08:05 19536 /usr/lib64/libjpeg.so.62.0.0 2aaaaad29000-2aaaaad2a000 rw-p 00020000 08:05 19536 /usr/lib64/libjpeg.so.62.0.0 2aaaaad2a000-2aaaaad2f000 r-xp 00000000 08:05 207241 /usr/lib/qt3/plugins/imageformats/libqmng.lib64.so 2aaaaad2f000-2aaaaae2e000 ---p 00005000 08:05 207241 /usr/lib/qt3/plugins/imageformats/libqmng.lib64.so 2aaaaae2e000-2aaaaae2f000 rw-p 00004000 08:05 207241 /usr/lib/qt3/plugins/imageformats/libqmng.lib64.so 2aaaaae56000-2aaaaaece000 r-xp 00000000 08:05 27423 /usr/lib64/libmng.so.1.1.0.9 2aaaaaece000-2aaaaafcd000 ---p 00078000 08:05 27423 /usr/lib64/libmng.so.1.1.0.9 2aaaaafcd000-2aaaaafd2000 rw-p 00077000 08:05 27423 /usr/lib64/libmng.so.1.1.0.9 2aaaaafd2000-2aaaab002000 r-xp 00000000 08:05 24883 Aborted

comment:10 Changed 13 years ago by ulrich.fischer@…

hi

Did you've any idee about the bug I've send an valgrind it'okay?

regards Uli

comment:11 Changed 13 years ago by anonymous

I have the same problem as well. Performed a video lookup on imdb and now I can't access Media Library ==> Watch Videos or Utilities/Setup? ==> Video Manager without the frontend crashing.

Mythfrontend output:

2006-10-06 16:57:10.865 XMLParse::LoadTheme? using /usr/share/mythtv/themes/default/video-ui.xml * glibc detected * mythfrontend: free(): invalid pointer: 0x0906fa40 * ======= Backtrace: ========= /lib/libc.so.6[0x5efda68] /lib/libc.so.6(libc_free+0x78)[0x5f00f6f] /usr/lib/libstdc++.so.6(_ZdlPv+0x21)[0x6b836c1] /usr/lib/mythtv/plugins/libmythvideo.so(_ZN11MetadataImp10fillGenresEv+0xa0)[0x6efbcc0] ======= Memory map: ======== 00111000-00116000 r-xp 00000000 03:03 2243714 /usr/lib/libmythavutil-0.20.so.0.20.0 00116000-00117000 rwxp 00005000 03:03 2243714 /usr/lib/libmythavutil-0.20.so.0.20.0 00117000-0018f000 r-xp 00000000 03:03 2246750 /usr/lib/libmythfreemheg-0.20.so.0.20.0 0018f000-00196000 rwxp 00077000 03:03 2246750 /usr/lib/libmythfreemheg-0.20.so.0.20.0 00196000-001f0000 r-xp 00000000 03:03 2250184 /usr/lib/libmythupnp-0.20.so.0.20.0 001f0000-001f2000 rwxp 00059000 03:03 2250184 /usr/lib/libmythupnp-0.20.so.0.20.0 001f2000-002a5000 r-xp 00000000 03:03 2249815 /usr/lib/libmythlivemedia-0.20.so.0.20.0 002a5000-002af000 rwxp 000b3000 03:03 2249815 /usr/lib/libmythlivemedia-0.20.so.0.20.0 002af000-002bd000 rwxp 002af000 00:00 0 002bd000-00362000 r-xp 00000000 03:03 2250142 /usr/lib/libmythui-0.20.so.0.20.0 00362000-00366000 rwxp 000a4000 03:03 2250142 /usr/lib/libmythui-0.20.so.0.20.0 00366000-003d1000 r-xp 00000000 03:03 2238234 /usr/lib/libfreetype.so.6.3.8 003d1000-003d4000 rwxp 0006a000 03:03 2238234 /usr/lib/libfreetype.so.6.3.8 003d4000-003d7000 r-xp 00000000 03:03 2243324 /usr/lib/libgmodule-2.0.so.0.1000.3 003d7000-003d8000 rwxp 00002000 03:03 2243324 /usr/lib/libgmodule-2.0.so.0.1000.3 003d8000-003da000 r-xp 00000000 03:03 1671343 /lib/libdl-2.4.so 003da000-003db000 r-xp 00001000 03:03 1671343 /lib/libdl-2.4.so 003db000-003dc000 rwxp 00002000 03:03 1671343 /lib/libdl-2.4.so 003dc000-003e0000 r-xp 00000000 03:03 2249796 /usr/lib/libgthread-2.0.so.0.1000.3 003e0000-003e1000 rwxp 00003000 03:03 2249796 /usr/lib/libgthread-2.0.so.0.1000.3 003e1000-003e3000 r-xp 00000000 03:03 2247069 /usr/lib/libXinerama.so.1.0.0 003e3000-003e4000 rwxp 00001000 03:03 2247069 /usr/lib/libXinerama.so.1.0.0 003e4000-003e7000 r-xp 00000000 03:03 2248478 /usr/lib/libXrandr.so.2.0.0 003e7000-003e8000 rwxp 00002000 03:03 2248478 /usr/lib/libXrandr.so.2.0.0 003e8000-003f7000 r-xp 00000000 03:03 2236873 /usr/lib/libXext.so.6.4.0 003f7000-003f8000 rwxp 0000e000 03:03 2236873 /usr/lib/libXext.so.6.4.0 003f8000-003fe000 r-xp 00000000 03:03 1671388 /lib/librt-2.4.so 003fe000-003ff000 r-xp 00006000 03:03 1671388 /lib/librt-2.4.so 003ff000-00400000 rwxp 00007000 03:03 1671388 /lib/librt-2.4.so 00400000-0040e000 r-xp 00000000 03:03 2250246 /usr/lib/libjack.so.0.0.23 0040e000-00411000 rwxp 0000e000 03:03 2250246 /usr/lib/libjack.so.0.0.23 00411000-00419000 rwxp 00411000 00:00 0 0041b000-00420000 r-xp 00000000 03:03 2250243 /usr/lib/liblirc_client.so.0.2.0 00420000-00421000 rwxp 00005000 03:03 2250243 /usr/lib/liblirc_client.so.0.2.0 00423000-00427000 r-xp 00000000 03:03 2250345 /usr/lib/libXv.so.1.0.0 00427000-00428000 rwxp 00003000 03:03 2250345 /usr/lib/libXv.so.1.0.0 0042a000-00430000 r-xp 00000000 03:03 2250247 /usr/lib/libraw1394.so.8.1.1 00430000-00431000 rwxp 00005000 03:03 2250247 /usr/lib/libraw1394.so.8.1.1 00433000-00437000 r-xp 00000000 03:03 2250346 /usr/lib/libXvMCW.so.1.0.0 00437000-00438000 rwxp 00003000 03:03 2250346 /usr/lib/libXvMCW.so.1.0.0 0043a000-0043d000 r-xp 00000000 03:03 2250347 /usr/lib/libXvMC.so.1.0.0 0043d000-0043e000 rwxp 00002000 03:03 2250347 /usr/lib/libXvMC.so.1.0.0 00440000-00445000 r-xp 00000000 03:03 2250245 /usr/lib/libartsc.so.0.0.0 00445000-00446000 rwxp 00005000 03:03 2250245 /usr/lib/libartsc.so.0.0.0 00448000-00455000 r-xp 00000000 03:03 2250248 /usr/lib/libiec61883.so.0.0.0 00455000-00456000 rwxp 0000c000 03:03 2250248 /usr/lib/libiec61883.so.0.0.0 00458000-0046e000 r-xp 00000000 03:03 2250641 /usr/lib/libXmu.so.6.2.0 0046e000-0046f000 rwxp 00016000 03:03 2250641 /usr/lib/libXmu.so.6.2.0 00471000-Aborted

comment:12 Changed 13 years ago by Anduin Withers

As people don't seem to be following this on the mail list (as they should): If you see this crash disable DRI for your ATI driver.

comment:13 in reply to:  12 Changed 13 years ago by anonymous

Replying to awithers:

As people don't seem to be following this on the mail list (as they should): If you see this crash disable DRI for your ATI driver.

Well, yeah, I could disable DRI. I could also replace the ATI card with a Matrox G200 from -99.

comment:14 Changed 13 years ago by anonymous

Milestone: 0.200.21

comment:15 Changed 13 years ago by skamithi

upgraded gentoo to use gcc 4.1, enabled --enable-symbol-visibility and recompiled mythtv and mythplugins after a make distclean. made no difference. still crashed with ATI DRI turned on.

comment:16 Changed 13 years ago by flewid@…

still seeing this with SVN as of feb 03, 2007. Gentoo with gcc 4.1

Still seems to be the library issue with fglrx against stdc 5 instead of 6.

Any idea on how to fix this?

Thanks, MG

comment:17 in reply to:  16 ; Changed 13 years ago by flewid@…

Just FYI,

I noticed that Gentoo allows multiple GCC profiles. I've now installed GCC 3.3.6 and changed my make profile to use it instead and am trying to compile mythvideo against this one to see if linking against stdc 5 works.

Will update with progress.

Replying to flewid@flewid.ca:

still seeing this with SVN as of feb 03, 2007. Gentoo with gcc 4.1

Still seems to be the library issue with fglrx against stdc 5 instead of 6.

Any idea on how to fix this?

Thanks, MG

comment:18 in reply to:  17 ; Changed 13 years ago by anonymous

So, compiling JUST mythplugins against the new GCC gets a little bit farthur (I am actually able to see the video menu now, but if i try and go into a sub folder, it crashes just as it did before).

Recompiling mythtv source after a distclean now, will update when complete.

Replying to flewid@flewid.ca:

Just FYI,

I noticed that Gentoo allows multiple GCC profiles. I've now installed GCC 3.3.6 and changed my make profile to use it instead and am trying to compile mythvideo against this one to see if linking against stdc 5 works.

Will update with progress.

Replying to flewid@flewid.ca:

still seeing this with SVN as of feb 03, 2007. Gentoo with gcc 4.1

Still seems to be the library issue with fglrx against stdc 5 instead of 6.

Any idea on how to fix this?

Thanks, MG

comment:19 in reply to:  18 Changed 13 years ago by anonymous

So,

Got the base recompiled against gcc 3.3.6 and all is working again with the latest SVN.

I should note that I also tried --with-symbol-visibility and it did not function.

It also worked if I had DRI disabled, but then sizing was off, and all of that. So, I needed DRI and fglrx.

Saved me buying an NVIDIA.

So, is it safe to assume the only way to "fix" this is to wait until ATI releases updated drivers compiled against stdc-6 instead of stdc-5?

Thanks, MG

Replying to anonymous:

So, compiling JUST mythplugins against the new GCC gets a little bit farthur (I am actually able to see the video menu now, but if i try and go into a sub folder, it crashes just as it did before).

Recompiling mythtv source after a distclean now, will update when complete.

Replying to flewid@flewid.ca:

Just FYI,

I noticed that Gentoo allows multiple GCC profiles. I've now installed GCC 3.3.6 and changed my make profile to use it instead and am trying to compile mythvideo against this one to see if linking against stdc 5 works.

Will update with progress.

Replying to flewid@flewid.ca:

still seeing this with SVN as of feb 03, 2007. Gentoo with gcc 4.1

Still seems to be the library issue with fglrx against stdc 5 instead of 6.

Any idea on how to fix this?

Thanks, MG

comment:20 Changed 13 years ago by Anduin Withers

(In [12842]) References #2302

I've given this out a few times with no complaints. Yes all this patch does is not use std::vector<int>.

It is time to give up on it being fixed where it should be, with luck this can be reverted some day.

comment:21 Changed 13 years ago by skamithi

commit works for me. thanks.

comment:22 Changed 13 years ago by Anduin Withers

Resolution: fixed
Status: reopenedclosed

(In [12881]) Closes #2302

Workaround for the ATI fglrx DRI crash bug, just removes use of std::vector<int>.

Note: See TracTickets for help on using tickets.