Closed
Bug 1047189
Opened 12 years ago
Closed 9 years ago
UCCreateCollator() often fails when using xsl:sort on xsl:for-each.
Categories
(Core :: XSLT, defect)
Tracking
()
RESOLVED
DUPLICATE
of bug 1391628
People
(Reporter: hoshino, Unassigned)
Details
Attachments
(1 file)
|
1.20 KB,
application/x-compressed-tar
|
Details |
User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Firefox/31.0 (Beta/Release)
Build ID: 20140716183446
Steps to reproduce:
I used "xsl:sort" to handle "xsl:for-each" by a sort result.
However, an error occurs when I carry out the following procedures.
1. Specify "xsl:sort" after "xsl:for-each".
2. "select" attribute " uses "concat()".
3. "data-type" attribute uses "text".
[The details of the error]
UCCreateCollator() of the 89th line of
"intr/locale/src/mac/nsCollationMaxUC.cpp" often fails in error code
-50 (paramErr).
As a result, XSLTProcessor.tranformToFragment() does failure (0x80004005).
This phenomenon occurs only on Firefox for MacOS X.
You can find this error(reappear) in 31.0,32.0b1,33.0a2 by attached data
file.
It might not shown in one time, so please try several times.
As additional information, this error has not occurred in the
environment of 34.0a1 nightly build.
The back trace is as follows when this problem happened(mozilla-release).
----
Process 18513 stopped
* thread #1: tid = 0x79c7e, 0x0000000102737548 XUL`nsCollationMacUC::EnsureCollator(this=0x000000012cbed560, newStrength=3) + 504 at nsCollationMacUC.cpp:90, queue = 'com.apple.main-thread', stop reason = breakpoint 49.1
frame #0: 0x0000000102737548 XUL`nsCollationMacUC::EnsureCollator(this=0x000000012cbed560, newStrength=3) + 504 at nsCollationMacUC.cpp:90
87
88 LocaleOperationVariant opVariant = 0; // default variant for now
89 err = ::UCCreateCollator(mLocale, opVariant, newOptions, &mCollator);
-> 90 NS_ENSURE_TRUE((err == noErr), NS_ERROR_FAILURE);
91 mHasCollator = true;
92
93 mLastStrength = newStrength;
error: Aborting reading of commands after command #0: 'expr -- rv' failed with error: use of undeclared identifier 'rv'
error: 1 errors parsing expression
bt
* thread #1: tid = 0x79c7e, 0x0000000102737548 XUL`nsCollationMacUC::EnsureCollator(this=0x000000012cbed560, newStrength=3) + 504 at nsCollationMacUC.cpp:90, queue = 'com.apple.main-thread', stop reason = breakpoint 49.1
* frame #0: 0x0000000102737548 XUL`nsCollationMacUC::EnsureCollator(this=0x000000012cbed560, newStrength=3) + 504 at nsCollationMacUC.cpp:90
frame #1: 0x0000000102737abf XUL`nsCollationMacUC::AllocateRawSortKey(this=0x000000012cbed560, strength=3, stringIn=0x000000012d3260c0, key=0x0000000136a3c708, outLen=0x0000000136a3c718) + 351 at nsCollationMacUC.cpp:125
frame #2: 0x0000000104abed87 XUL`txResultStringComparator::createSortableValue(this=0x0000000136a3c6a0, aExpr=0x0000000136a2aec0, aContext=0x0000000136a3c6e0, aResult=0x000000012cbed5c8) + 695 at txXPathResultComparator.cpp:90
frame #3: 0x0000000104a94891 XUL`txNodeSorter::calcSortValue(aSortValue=0x000000012cbed5c8, aKey=0x000000012d326090, aSortData=0x00007fff5fbf6b10, aNodeIndex=0) + 97 at txNodeSorter.cpp:254
frame #4: 0x0000000104a94748 XUL`txNodeSorter::compareNodes(aIndexA=0x000000012cbed5b0, aIndexB=0x000000012cbed5b4, aSortData=0x00007fff5fbf6b10) + 392 at txNodeSorter.cpp:228
frame #5: 0x000000010259be49 XUL`NS_QuickSort(a=0x000000012cbed5b0, n=6, es=4, cmp=0x0000000104a945c0, data=0x00007fff5fbf6b10) + 281 at nsQuickSort.cpp:113
frame #6: 0x0000000104a943b3 XUL`txNodeSorter::sortNodeSet(this=0x00007fff5fbf6cb0, aNodes=0x000000012cbed510, aEs=0x00007fff5fbf6dd8, aResult=0x00007fff5fbf6c88) + 1235 at txNodeSorter.cpp:173
frame #7: 0x0000000104a71ec0 XUL`txPushNewContext::execute(this=0x00000001298a9370, aEs=0x00007fff5fbf6dd8) + 1024 at txInstructions.cpp:645
frame #8: 0x0000000104ac7210 XUL`txXSLTProcessor::execute(aEs=0x00007fff5fbf6dd8) + 64 at txXSLTProcessor.cpp:49
frame #9: 0x0000000104a8d0c8 XUL`txMozillaXSLTProcessor::TransformToFragment(this=0x00000001219b8340, aSource=0x000000012dd252f0, aOutput=0x000000012596c2f0, aResult=0x00007fff5fbf7348) + 1256 at txMozillaXSLTProcessor.cpp:718
frame #10: 0x00000001026cd95b XUL`NS_InvokeByIndex(that=0x00000001219b8340, methodIndex=4, paramCount=3, params=0x00007fff5fbf7318) + 539 at xptcinvoke_x86_64_unix.cpp:162
frame #11: 0x0000000104403cb4 XUL`CallMethodHelper::Invoke(this=0x00007fff5fbf72d0) + 84 at XPCWrappedNative.cpp:2391
frame #12: 0x00000001044019e7 XUL`CallMethodHelper::Call(this=0x00007fff5fbf72d0) + 263 at XPCWrappedNative.cpp:1732
frame #13: 0x00000001043fe336 XUL`XPCWrappedNative::CallMethod(ccx=0x00007fff5fbf74b8, mode=CALL_METHOD) + 230 at XPCWrappedNative.cpp:1699
frame #14: 0x000000010440fc38 XUL`XPC_WN_CallMethod(cx=0x0000000124a06bc0, argc=2, vp=0x00000001111ee138) + 920 at XPCWrappedNativeJSOps.cpp:1284
frame #15: 0x00000001075a0085 XUL`js::CallJSNative(cx=0x0000000124a06bc0, native=0x000000010440f8a0, args=0x00007fff5fbf7bf0)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) + 165 at jscntxtinlines.h:239
frame #16: 0x0000000107592ed8 XUL`js::Invoke(cx=0x0000000124a06bc0, args=<unavailable>, construct=NO_CONSTRUCT) + 1192 at Interpreter.cpp:475
frame #17: 0x0000000107588f9a XUL`Interpret(cx=0x0000000124a06bc0, state=0x00007fff5fbfab68) + 53658 at Interpreter.cpp:2620
frame #18: 0x000000010757bd19 XUL`js::RunScript(cx=0x0000000124a06bc0, state=0x00007fff5fbfab68) + 505 at Interpreter.cpp:422
frame #19: 0x0000000107592ff5 XUL`js::Invoke(cx=0x0000000124a06bc0, args=<unavailable>, construct=NO_CONSTRUCT) + 1477 at Interpreter.cpp:494
frame #20: 0x0000000107593812 XUL`js::Invoke(cx=0x0000000124a06bc0, thisv=0x00007fff5fbfb110, fval=0x00007fff5fbfaf78, argc=1, argv=0x00007fff5fbfafe8, rval=JS::MutableHandleValue at 0x00007fff5fbfada0) + 834 at Interpreter.cpp:531
frame #21: 0x0000000107301cd4 XUL`JS::Call(cx=0x0000000124a06bc0, thisv=JS::HandleValue at 0x00007fff5fbfae70, fval=JS::HandleValue at 0x00007fff5fbfae68, args=0x00007fff5fbfaf38, rval=JS::MutableHandleValue at 0x00007fff5fbfae58) + 228 at jsapi.cpp:5076
frame #22: 0x0000000103ade2d9 XUL`mozilla::dom::EventHandlerNonNull::Call(this=0x00000001297dbd60, cx=0x0000000124a06bc0, aThisVal=Handle<JS::Value> at 0x00007fff5fbfb080, event=0x0000000123475ca0, aRetVal=MutableHandle<JS::Value> at 0x00007fff5fbfb070, aRv=0x00007fff5fbfb438) + 745 at EventHandlerBinding.cpp:35
frame #23: 0x00000001046f24fd XUL`void mozilla::dom::EventHandlerNonNull::Call<nsISupports*>(this=0x00000001297dbd60, thisObjPtr=0x00000001297dbb38, event=0x0000000123475ca0, aRetVal=MutableHandle<JS::Value> at 0x00007fff5fbfb2a0, aRv=0x00007fff5fbfb438, aExceptionHandling=eReportExceptions) + 541 at EventHandlerBinding.h:62
frame #24: 0x00000001046f0866 XUL`mozilla::JSEventHandler::HandleEvent(this=0x00000001297dbb20, aEvent=0x0000000123475ca0) + 2854 at JSEventHandler.cpp:215
frame #25: 0x00000001046d9123 XUL`mozilla::EventListenerManager::HandleEventSubType(this=0x000000012cff3560, aListener=0x000000012cff3598, aDOMEvent=0x0000000123475ca0, aCurrentTarget=0x0000000121a7f000) + 387 at EventListenerManager.cpp:950
frame #26: 0x00000001046d9446 XUL`mozilla::EventListenerManager::HandleEventInternal(this=0x000000012cff3560, aPresContext=0x0000000125bbf800, aEvent=0x00007fff5fbfbe10, aDOMEvent=0x00007fff5fbfbb08, aCurrentTarget=0x0000000121a7f000, aEventStatus=0x00007fff5fbfbb10) + 710 at EventListenerManager.cpp:1011
frame #27: 0x00000001046d4d19 XUL`mozilla::EventListenerManager::HandleEvent(this=0x000000012cff3560, aPresContext=0x0000000125bbf800, aEvent=0x00007fff5fbfbe10, aDOMEvent=0x00007fff5fbfbb08, aCurrentTarget=0x0000000121a7f000, aEventStatus=0x00007fff5fbfbb10) + 345 at EventListenerManager.h:327
frame #28: 0x00000001046d3b4f XUL`mozilla::EventTargetChainItem::HandleEvent(this=0x0000000113ff8008, aVisitor=0x00007fff5fbfbaf8, aCd=0x00007fff5fbfbbc8) + 479 at EventDispatcher.cpp:194
frame #29: 0x00000001046d0939 XUL`mozilla::EventTargetChainItem::HandleEventTargetChain(aChain=0x00007fff5fbfbbc0, aVisitor=0x00007fff5fbfbaf8, aCallback=0x0000000000000000, aCd=0x00007fff5fbfbbc8) + 633 at EventDispatcher.cpp:287
frame #30: 0x00000001046d214d XUL`mozilla::EventDispatcher::Dispatch(aTarget=0x0000000125580020, aPresContext=0x0000000125bbf800, aEvent=0x00007fff5fbfbe10, aDOMEvent=0x0000000000000000, aEventStatus=0x00007fff5fbfbe70, aCallback=0x0000000000000000, aTargets=0x0000000000000000) + 4829 at EventDispatcher.cpp:597
frame #31: 0x00000001054cdfa8 XUL`nsDocumentViewer::LoadComplete(this=0x0000000121c94080, aStatus=NS_OK) + 1480 at nsDocumentViewer.cpp:999
frame #32: 0x0000000105b8b561 XUL`nsDocShell::EndPageLoad(this=0x000000012557f400, aProgress=0x000000012557f428, aChannel=0x0000000122b10858, aStatus=NS_OK) + 849 at nsDocShell.cpp:6967
frame #33: 0x0000000105b89b04 XUL`nsDocShell::OnStateChange(this=0x000000012557f400, aProgress=0x000000012557f428, aRequest=0x0000000122b10858, aStateFlags=131088, aStatus=NS_OK) + 2724 at nsDocShell.cpp:6766
frame #34: 0x0000000105b89f25 XUL`non-virtual thunk to nsDocShell::OnStateChange(this=0x000000012557f560, aProgress=0x000000012557f428, aRequest=0x0000000122b10858, aStateFlags=131088, aStatus=NS_OK) + 69 at nsDocShell.cpp:6773
frame #35: 0x000000010349e8d8 XUL`nsDocLoader::DoFireOnStateChange(this=0x000000012557f400, aProgress=0x000000012557f428, aRequest=0x0000000122b10858, aStateFlags=0x00007fff5fbfc9ac, aStatus=NS_OK) + 760 at nsDocLoader.cpp:1330
frame #36: 0x000000010349e2cc XUL`nsDocLoader::doStopDocumentLoad(this=0x000000012557f400, request=0x0000000122b10858, aStatus=NS_OK) + 316 at nsDocLoader.cpp:863
frame #37: 0x000000010349ce9b XUL`nsDocLoader::DocLoaderIsEmpty(this=0x000000012557f400, aFlushLayout=true) + 987 at nsDocLoader.cpp:753
frame #38: 0x000000010349dd28 XUL`nsDocLoader::OnStopRequest(this=0x000000012557f400, aRequest=0x0000000136a1f980, aCtxt=0x0000000000000000, aStatus=NS_OK) + 1288 at nsDocLoader.cpp:637
frame #39: 0x000000010349e10d XUL`non-virtual thunk to nsDocLoader::OnStopRequest(this=0x000000012557f408, aRequest=0x0000000136a1f980, aCtxt=0x0000000000000000, aStatus=NS_OK) + 61 at nsDocLoader.cpp:641
frame #40: 0x00000001027e2581 XUL`nsLoadGroup::RemoveRequest(this=0x000000012cb1f890, request=0x0000000136a1f980, ctxt=0x0000000000000000, aStatus=NS_OK) + 1745 at nsLoadGroup.cpp:689
frame #41: 0x0000000104b046aa XUL`nsDocument::DoUnblockOnload(this=0x000000012596c000) + 394 at nsDocument.cpp:8713
frame #42: 0x0000000104b04463 XUL`nsDocument::UnblockOnload(this=0x000000012596c000, aFireSync=true) + 323 at nsDocument.cpp:8641
frame #43: 0x0000000104af3c3a XUL`nsDocument::DispatchContentLoadedEvents(this=0x000000012596c000) + 1786 at nsDocument.cpp:4910
frame #44: 0x0000000104b29b8a XUL`nsRunnableMethodImpl<void (this=0x00000001293330a0)(), void, true>::Run() + 154 at nsThreadUtils.h:387
frame #45: 0x00000001026bb1d2 XUL`nsThread::ProcessNextEvent(this=0x00000001006239c0, mayWait=false, result=0x00007fff5fbfd333) + 1570 at nsThread.cpp:715
frame #46: 0x00000001025a1d9a XUL`NS_ProcessPendingEvents(thread=0x00000001006239c0, timeout=20) + 154 at nsThreadUtils.cpp:210
frame #47: 0x00000001042af9e9 XUL`nsBaseAppShell::NativeEventCallback(this=0x00000001114305c0) + 201 at nsBaseAppShell.cpp:98
frame #48: 0x000000010422b5c8 XUL`nsAppShell::ProcessGeckoEvents(aInfo=0x00000001114305c0) + 440 at nsAppShell.mm:388
frame #49: 0x00007fff8c694661 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
frame #50: 0x00007fff8c685d12 CoreFoundation`__CFRunLoopDoSources0 + 242
frame #51: 0x00007fff8c68549f CoreFoundation`__CFRunLoopRun + 831
frame #52: 0x00007fff8c684f25 CoreFoundation`CFRunLoopRunSpecific + 309
frame #53: 0x00007fff85353a0d HIToolbox`RunCurrentEventLoopInMode + 226
frame #54: 0x00007fff85353685 HIToolbox`ReceiveNextEventCommon + 173
frame #55: 0x00007fff853535bc HIToolbox`_BlockUntilNextEventMatchingListInModeWithFilter + 65
frame #56: 0x00007fff886fb26e AppKit`_DPSNextEvent + 1434
frame #57: 0x00007fff886fa8bb AppKit`-[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 122
frame #58: 0x0000000104229cf7 XUL`-[GeckoNSApplication nextEventMatchingMask:untilDate:inMode:dequeue:](self=0x000000010061e980, _cmd=0x00007fff8912e5c3, mask=18446744073709551615, expiration=0x422d63c37f00000d, mode=0x00007fff752aad00, flag='\x01') + 119 at nsAppShell.mm:165
frame #59: 0x00007fff886ee9bc AppKit`-[NSApplication run] + 553
frame #60: 0x000000010422c0f2 XUL`nsAppShell::Run(this=0x00000001114305c0) + 162 at nsAppShell.mm:746
frame #61: 0x0000000105fba8bc XUL`nsAppStartup::Run(this=0x00000001111d0920) + 156 at nsAppStartup.cpp:278
frame #62: 0x0000000105e68976 XUL`XREMain::XRE_mainRun(this=0x00007fff5fbff410) + 6070 at nsAppRunner.cpp:4019
frame #63: 0x0000000105e691de XUL`XREMain::XRE_main(this=0x00007fff5fbff410, argc=1, argv=0x00007fff5fbffd18, aAppData=0x00007fff5fbff6a8) + 734 at nsAppRunner.cpp:4088
frame #64: 0x0000000105e6966d XUL`XRE_main(argc=1, argv=0x00007fff5fbffd18, aAppData=0x00007fff5fbff6a8, aFlags=0) + 77 at nsAppRunner.cpp:4300
frame #65: 0x00000001000020af firefox`do_main(argc=1, argv=0x00007fff5fbffd18, xreDirectory=0x0000000100622340) + 1647 at nsBrowserApp.cpp:282
frame #66: 0x00000001000015d3 firefox`main(argc=1, argv=0x00007fff5fbffd18) + 323 at nsBrowserApp.cpp:643
frame #67: 0x0000000100001034 firefox`start + 52
(lldb) print err
(OSStatus) $14678 = -50
(lldb) breakpoint list 49
49: file = 'nsCollationMacUC.cpp', line = 90, locations = 1, resolved = 1, hit count = 92
Condition: err!=0
49.1: where = XUL`nsCollationMacUC::EnsureCollator(int) + 504 at nsCollationMacUC.cpp:90, address = 0x0000000102737548, resolved, hit count = 92
Actual results:
XSLTProcessor.tranformToFragment() does failure (0x80004005).
Expected results:
Display by browser as follows.
by variable:
131
151
161
162
163
164
131
151
161
162
163
164
by document:
131
151
161
162
163
164
131
151
161
162
163
164
Comment 1•10 years ago
|
||
Now, we use ICU collation after landing bug 1045958. So could you test this on the least Firefox again?
Flags: needinfo?(hoshino)
Updated•9 years ago
|
Flags: needinfo?(hoshino)
Comment 2•9 years ago
|
||
I believe that this is same issue as bug 1391628. If this isn't fixed on 56/57, please reopen bug.
Status: UNCONFIRMED → RESOLVED
Closed: 9 years ago
Resolution: --- → DUPLICATE
You need to log in
before you can comment on or make changes to this bug.
Description
•