Closed Bug 523814 Opened 16 years ago Closed 16 years ago

valgrind - Invalid Read of size 4 in nsMediaCacheStream::BlockList::NotifyBlockSwapped (mNextBlock/mPrevBlock)

Categories

(Core :: Audio/Video, defect)

x86
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED
Tracking Status
status1.9.2 --- beta2-fixed

People

(Reporter: bc, Assigned: kinetik)

Details

(Keywords: valgrind)

Attachments

(1 file)

valgrind mochitest linux mozilla-central. valgrind 3.2.1, built with --enable-valgrind, not run with --smc-check=all Occurs after content/media/test/test_mixed_principals.html Invalid read of size 4 at 0x7190F76: nsMediaCacheStream::BlockList::NotifyBlockSwapped(int, int) (nsMediaCache.cpp:470) by 0x71911E8: nsMediaCache::SwapBlocks(int, int) (nsMediaCache.cpp:843) by 0x7193D19: nsMediaCache::Update() (nsMediaCache.cpp:1050) by 0x71969DB: UpdateEvent::Run() (nsMediaCache.cpp:1241) by 0x42FE99E: nsThread::ProcessNextEvent(int, int*) (nsThread.cpp:527) by 0x428607C: NS_ProcessNextEvent_P(nsIThread*, int) (nsThreadUtils.cpp:230) by 0x4F90715: nsBaseAppShell::Run() (nsBaseAppShell.cpp:170) by 0x5C2D692: nsAppStartup::Run() (nsAppStartup.cpp:182) by 0x403F6B3: XRE_main (nsAppRunner.cpp:3471) by 0x8048DE0: main (nsBrowserApp.cpp:156) Address 0xB15B0D4 is 492 bytes inside a block of size 516 free'd at 0x4004FDA: free (vg_replace_malloc.c:233) by 0x427680B: PL_DHashFreeTable (pldhash.c:120) by 0x4277617: ChangeTable (pldhash.c:599) by 0x4277957: PL_DHashTableOperate (pldhash.c:695) by 0x719680C: nsTHashtable<nsMediaCacheStream::BlockList::Entry>::RemoveEntry(unsigned const&) (nsTHashtable.h:199) by 0x7190F6C: nsMediaCacheStream::BlockList::NotifyBlockSwapped(int, int) (nsMediaCache.cpp:467) by 0x71911E8: nsMediaCache::SwapBlocks(int, int) (nsMediaCache.cpp:843) by 0x7193D19: nsMediaCache::Update() (nsMediaCache.cpp:1050) by 0x71969DB: UpdateEvent::Run() (nsMediaCache.cpp:1241) by 0x42FE99E: nsThread::ProcessNextEvent(int, int*) (nsThread.cpp:527) by 0x428607C: NS_ProcessNextEvent_P(nsIThread*, int) (nsThreadUtils.cpp:230) by 0x4F90715: nsBaseAppShell::Run() (nsBaseAppShell.cpp:170) Invalid read of size 4 at 0x7190F7F: nsMediaCacheStream::BlockList::NotifyBlockSwapped(int, int) (nsMediaCache.cpp:471) by 0x71911E8: nsMediaCache::SwapBlocks(int, int) (nsMediaCache.cpp:843) by 0x7193D19: nsMediaCache::Update() (nsMediaCache.cpp:1050) by 0x71969DB: UpdateEvent::Run() (nsMediaCache.cpp:1241) by 0x42FE99E: nsThread::ProcessNextEvent(int, int*) (nsThread.cpp:527) by 0x428607C: NS_ProcessNextEvent_P(nsIThread*, int) (nsThreadUtils.cpp:230) by 0x4F90715: nsBaseAppShell::Run() (nsBaseAppShell.cpp:170) by 0x5C2D692: nsAppStartup::Run() (nsAppStartup.cpp:182) by 0x403F6B3: XRE_main (nsAppRunner.cpp:3471) by 0x8048DE0: main (nsBrowserApp.cpp:156) Address 0xB15B0D0 is 488 bytes inside a block of size 516 free'd at 0x4004FDA: free (vg_replace_malloc.c:233) by 0x427680B: PL_DHashFreeTable (pldhash.c:120) by 0x4277617: ChangeTable (pldhash.c:599) by 0x4277957: PL_DHashTableOperate (pldhash.c:695) by 0x719680C: nsTHashtable<nsMediaCacheStream::BlockList::Entry>::RemoveEntry(unsigned const&) (nsTHashtable.h:199) by 0x7190F6C: nsMediaCacheStream::BlockList::NotifyBlockSwapped(int, int) (nsMediaCache.cpp:467) by 0x71911E8: nsMediaCache::SwapBlocks(int, int) (nsMediaCache.cpp:843) by 0x7193D19: nsMediaCache::Update() (nsMediaCache.cpp:1050) by 0x71969DB: UpdateEvent::Run() (nsMediaCache.cpp:1241) by 0x42FE99E: nsThread::ProcessNextEvent(int, int*) (nsThread.cpp:527) by 0x428607C: NS_ProcessNextEvent_P(nsIThread*, int) (nsThreadUtils.cpp:230) by 0x4F90715: nsBaseAppShell::Run() (nsBaseAppShell.cpp:170)
Flags: in-testsuite+
This could explain the crash in bug 520528, too.
Attached patch patch v0Splinter Review
I don't have a working Valgrind to see if I can reproduce this, but I think this is the necessary fix.
Attachment #407921 - Flags: review?(roc)
Assignee: nobody → kinetik
Comment on attachment 407921 [details] [diff] [review] patch v0 Very nice catch!
Attachment #407921 - Flags: review?(roc) → review+
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Flags: blocking1.9.2?
Flags: blocking1.9.2? → blocking1.9.2+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: