Closed Bug 1497581 Opened 6 years ago Closed 4 years ago

Assertion failure: !locale.IsEmpty(), at intl/locale/LocaleService.cpp:565

Categories

(Core :: Internationalization, defect, P3)

defect

Tracking

()

RESOLVED FIXED
87 Branch
Tracking Status
firefox-esr60 --- wontfix
firefox-esr78 --- wontfix
firefox62 --- wontfix
firefox63 --- wontfix
firefox64 --- wontfix
firefox85 --- wontfix
firefox86 --- wontfix
firefox87 --- fixed

People

(Reporter: jbeich, Assigned: petr.sumbera)

References

(Regression)

Details

(Keywords: regression)

Attachments

(1 file)

$ ./mach bootstrap
$ echo "ac_add_options --enable-debug" >>.mozconfig
$ echo "ac_add_options --disable-updater" >>.mozconfig
$ ./mach build
$ ./mach install
$ firefox about:blank
Assertion failure: !locale.IsEmpty(), at /wrkdirs/usr/ports/www/firefox/work/firefox-62.0.3/intl/locale/LocaleService.cpp:708
#01: _ZNSt3__16vectorImNS_9allocatorImEEE21__push_back_slow_pathImEEvOT_[/usr/local/lib/firefox/libxul.so +0x2907425]
#02: _ZNSt3__16vectorImNS_9allocatorImEEE21__push_back_slow_pathImEEvOT_[/usr/local/lib/firefox/libxul.so +0x2907f36]
#03: _ZNSt3__16vectorImNS_9allocatorImEEE21__push_back_slow_pathImEEvOT_[/usr/local/lib/firefox/libxul.so +0x290a24c]
#04: _ZNSt3__16vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEE21__push_back_slow_pathIS6_EEvOT_[/usr/local/lib/firefox/libxul.so +0x28d863a]
#05: _ZNSt3__16vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEE21__push_back_slow_pathIS6_EEvOT_[/usr/local/lib/firefox/libxul.so +0x28d91ed]
#06: std::__1::function<void()(long)>::swap(std::__1::function<void()(long)>&)[/usr/local/lib/firefox/libxul.so +0x2883e58]
#07: std::__1::function<void()(long)>::swap(std::__1::function<void()(long)>&)[/usr/local/lib/firefox/libxul.so +0x288a32b]
#08: std::__1::function<void()(long)>::swap(std::__1::function<void()(long)>&)[/usr/local/lib/firefox/libxul.so +0x288a39f]
#09: std::__1::function<void()(long)>::swap(std::__1::function<void()(long)>&)[/usr/local/lib/firefox/libxul.so +0x2883f0d]
#10: std::__1::function<void()(long)>::swap(std::__1::function<void()(long)>&)[/usr/local/lib/firefox/libxul.so +0x288a32b]
#11: std::__1::function<void()(long)>::swap(std::__1::function<void()(long)>&)[/usr/local/lib/firefox/libxul.so +0x2889c48]
#12: std::__1::function<void()(long)>::swap(std::__1::function<void()(long)>&)[/usr/local/lib/firefox/libxul.so +0x2889517]
#13: _ZNSt3__16vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEE21__push_back_slow_pathIS6_EEvOT_[/usr/local/lib/firefox/libxul.so +0x28e4004]
#14: std::__1::operator>><char, std::__1::char_traits<char>, std::__1::allocator<char> >(std::__1::basic_istream<char, std::__1::char_traits<char>>&, std::__1::basic_istream<char, std::__1::char_traits<char>>&, std::__1::basic_string<std::__1::basic_istream, c[/usr/local/lib/firefox/libxul.so +0x681994b]
#15: std::__1::operator>><char, std::__1::char_traits<char>, std::__1::allocator<char> >(std::__1::basic_istream<char, std::__1::char_traits<char>>&, std::__1::basic_istream<char, std::__1::char_traits<char>>&, std::__1::basic_string<std::__1::basic_istream, c[/usr/local/lib/firefox/libxul.so +0x682320d]
#16: std::__1::operator>><char, std::__1::char_traits<char>, std::__1::allocator<char> >(std::__1::basic_istream<char, std::__1::char_traits<char>>&, std::__1::basic_istream<char, std::__1::char_traits<char>>&, std::__1::basic_string<std::__1::basic_istream, c[/usr/local/lib/firefox/libxul.so +0x6823d1b]
#17: _start[/usr/local/bin/firefox +0xd684]
#18: _start[/usr/local/bin/firefox +0xd0a5]
Segmentation fault

https://searchfox.org/mozilla-central/rev/80ac71c1c54a/intl/locale/LocaleService.cpp#565
https://searchfox.org/mozilla-central/rev/80ac71c1c54a/browser/installer/package-manifest.in#60
https://searchfox.org/mozilla-central/rev/80ac71c1c54a/intl/locale/LocaleService.cpp#570-574
Probably, caused by bug 1431260 which added MOZ_ASSERT too early. --enable-debug build is very slow, and bisecting on Tier3 platform is non-trivial due to frequest bustage.
Blocks: 1431260
P3 due to tier-3 platform.
Priority: -- → P3
Seeing this on Thunderbird 60 ESR with --enable-debug --disable-updater on Linux as well, so this isn't exclusive to Firefox nor BSD.

Seeing this on linux64, firefox build, running mochitest locally:

mach configure
mach build
mach mochitest --debugger=rr --this-chunk=1 --total-chunks=16 --headless

mozconfig:

ac_add_options --enable-debug
ac_add_options --disable-optimize
ac_add_options --enable-js-shell
ac_add_options --enable-clang-plugin
ac_add_options --enable-linker=lld
mk_add_options MOZ_MAKE_FLAGS="-j8 -s"
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-debug

The assert (or even most of the body) should be in an #ifdef MOZ_UPDATER, since update.locale is not packaged when the updater is disabled - https://searchfox.org/mozilla-central/rev/ddb81c7a43ffada1f6cb4200c4f625e50e44dcf3/browser/installer/package-manifest.in#59-62

Alternatively, update.locale should unconditionally be added to the package (even if the updater is disabled).

See Also: → 1554742
Assignee: nobody → petr.sumbera
Status: NEW → ASSIGNED
Pushed by archaeopteryx@coole-files.de:
https://hg.mozilla.org/integration/autoland/rev/8edb010df11b
Avoid debug assertion with --disable-updater r=zbraniecki DONTBUILD
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 87 Branch
Has Regression Range: --- → yes
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: