Closed
Bug 483912
Opened 15 years ago
Closed 15 years ago
Crash [@ auto_theora] on windows ce
Categories
(Core :: Audio/Video, defect)
Tracking
()
RESOLVED
FIXED
Tracking | Status | |
---|---|---|
fennec | 1.0-wm+ | --- |
People
(Reporter: blassey, Assigned: cajbir)
References
Details
(Keywords: crash, mobile)
Crash Data
Its a data type misalignment error
console:
....
###!!! ASSERTION: Another IMC was associated: '!mOldIMC', file c:/hg/mc-min/widget/src/windows/nsWindow.cpp, line 1498
[K] Time[2009/03/17 20:32:00]
DEX_CMD_STATUS_COMPLETE
DEXCORE:loop=76
[K] Get RTC 0x36f16338 from ARM9 ok
WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80040154: file c:/hg/mc-min/toolkit/components/places/src/nsNavHistory.cpp, line 5211
Data Abort: Thread=873c2640 Proc=80458570 'xulrunner.exe'
AKY=00080001 PC=7ad43f08(xul.dll+0x00ba3f08) RA=7ad44fd0(xul.dll+0x00ba4fd0) BVA=60fda08e FSR=00000001
Unhandled exception at 0x7ad43f08 in xulrunner.exe: 0x80000002: Datatype misalignment.
stack trace:
> xul.dll!auto_theora(_OGGZ* oggz = 0x610b1400, long int serialno = 1457257550, unsigned char* data = 0x60fda078, long int length = 42, void* user_data = 0x00000000) Line: 153, Byte Offsets: 0x28 C
xul.dll!oggz_auto_read_bos_page(_OGGZ* oggz = 0x610b1400, ogg_page* og = 0x56dbfc4e, long int serialno = 1627234424, void* user_data = 0x0000002a) Line: 1143, Byte Offsets: 0x90 C
xul.dll!oggz_read_sync(_OGGZ* oggz = 0x610b1400) Line: 520, Byte Offsets: 0x4b4 C
xul.dll!oggz_read(_OGGZ* oggz = 0x610b1400, long int n = 1457257550) Line: 597, Byte Offsets: 0xf8 C
xul.dll!oggplay_initialise(_OggPlay* me = 0x610b1400, int block = 1457257550) Line: 122, Byte Offsets: 0xb0 C
xul.dll!oggplay_open_with_reader(_OggPlayReader* reader = 0x610b1400) Line: 159, Byte Offsets: 0x8c C
xul.dll!nsOggDecodeStateMachine::LoadOggHeaders(nsChannelReader* aReader = 0x56dbfc4e) Line: 1170, Byte Offsets: 0x40 C++
xul.dll!nsOggDecodeStateMachine::Run(void) Line: 907, Byte Offsets: 0x27c C++
xul.dll!nsThread::ProcessNextEvent(int mayWait = 1457257550, int* result = 0x60fda078) Line: 511, Byte Offsets: 0x24c C++
xul.dll!NS_ProcessNextEvent_P(nsIThread* thread = 0x610b1400, int mayWait = 1457257550) Line: 230, Byte Offsets: 0x64 C++
xul.dll!nsThread::ThreadFunc(void* arg = 0x610b1400) Line: 254, Byte Offsets: 0x1b4 C++
nspr4.dll!_PR_NativeRunThread(void* arg = 0x5f814c00) Line: 445, Byte Offsets: 0x104 C
nspr4.dll!pr_root(void* arg = 0x5f814c00) Line: 123, Byte Offsets: 0x30 C
0x03f6732c
Reporter | ||
Updated•15 years ago
|
tracking-fennec: --- → 1.0a1-wm+
Reporter | ||
Updated•15 years ago
|
Flags: blocking1.9.1?
Oh, I guess this is an Oggz bug
Flags: blocking1.9.1? → blocking1.9.1+
Reporter | ||
Updated•15 years ago
|
tracking-fennec: 1.0a1-wm+ → 1.0a2-wm+
Comment 2•15 years ago
|
||
Conrad: I saw your message on ogg-dev. It's been about 2 years since I worked on ARM, but I ran into this type of crash previously. IIRC, on ARM you can't deference a non-divisible-by-4 address as a 32bit int. If you look at that call stack, INT32_BE_AT is dereferencing 0x60fda078 + 22, which isn't evenly divisible by 4. INT32_BE_AT(x) is defined as _be_32((*(ogg_int32_t *)(x))). I think you need to extract bytes individually and shift/add them as appropriate instead.
Comment 3•15 years ago
|
||
Thanks, this should now be fixed in liboggz upstream (commit 351a85 of git://git.xiph.org/liboggz.git) See http://lists.xiph.org/pipermail/ogg-dev/2009-May/001394.html
Not going to block 1.9.1 on this, but we should get the fix from upstream at some point.
Assignee: nobody → chris.double
Flags: blocking1.9.1+ → wanted1.9.1+
Reporter | ||
Updated•15 years ago
|
tracking-fennec: 1.0a2-wm+ → 1.0-wm+
Assignee | ||
Comment 5•15 years ago
|
||
liboggz commit to fix this mentioned in comment 3 has landed with bug 480063
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Updated•13 years ago
|
Crash Signature: [@ auto_theora]
You need to log in
before you can comment on or make changes to this bug.
Description
•