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)

31 Branch
x86_64
macOS
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 1391628

People

(Reporter: hoshino, Unassigned)

Details

Attachments

(1 file)

1.20 KB, application/x-compressed-tar
Details
Attached file mactest.tgz
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
OS: Windows 7 → Mac OS X
Now, we use ICU collation after landing bug 1045958. So could you test this on the least Firefox again?
Flags: needinfo?(hoshino)
Flags: needinfo?(hoshino)
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.

Attachment

General

Creator:
Created:
Updated:
Size: