Firefox crashes on DragonFlyBSD
Categories
(Core :: Internationalization, defect)
Tracking
()
People
(Reporter: arcade, Unassigned)
References
Details
User Agent: Mozilla/5.0 (X11; DragonFly x86_64; rv:75.0) Gecko/20100101 Firefox/75.0
Steps to reproduce:
Browsing through different sites, when I got back to some tab I was using long time ago browser crashed.
Actual results:
[Child 15100, MediaDecoderStateMachine #1] WARNING: Decoder=8166d73c0 Decode error: NS_ERROR_DOM_MEDIA_FATAL_ERR (0x806e0005) - RefPtr<mozilla::MozPromise<RefPtr<mozilla::MediaTrackDemuxer::SamplesHolder>, mozilla
::MediaResult, true> > mozilla::MediaSourceTrackDemuxer::DoGetSamples(int32_t): manager is detached.: file /construction/www/firefox/firefox-75.0/dom/media/MediaDecoderStateMachine.cpp, line 3367
[Child 15100, MediaDecoderStateMachine #1] WARNING: Decoder=8166d73c0 Decode error: NS_ERROR_DOM_MEDIA_FATAL_ERR (0x806e0005) - RefPtr<mozilla::MozPromise<RefPtr<mozilla::MediaTrackDemuxer::SamplesHolder>, mozilla
::MediaResult, true> > mozilla::MediaSourceTrackDemuxer::DoGetSamples(int32_t): manager is detached.: file /construction/www/firefox/firefox-75.0/dom/media/MediaDecoderStateMachine.cpp, line 3367
then after some time:
Exiting due to channel error.
Exiting due to channel error.
Exiting due to channel error.
Exiting due to channel error.
Exiting due to channel error.
Exiting due to channel error.
Exiting due to channel error.
Exiting due to channel error.
Exiting due to channel error.
Segmentation fault (core dumped)
Expected results:
Not crashing would be fine.
Ok, long story.
~ > uname -a
DragonFly probe2 5.9-DEVELOPMENT DragonFly v5.9.0.217.gac9f0-DEVELOPMENT #122: Fri Apr 24 09:17:33 EEST 2020 arcade@probe2:/usr/obj/usr/src/sys/DMIN x86_64
Here on DragonFly Firefox was crashing from time to time on a regular basis. The only good progress we got is to disable E10S, this way browser stays much more stable. The other issues we are experiencing are:
-
Text input fields are lagging on E10S, no issue without E10S. Tapping a key might result in a delay up to 2-3 seconds before anything appears. Interface otherwise is not lagging at all.
-
Sound can click and drop from time to time, mostly when playing YouTube. Regardless of E10S. Skips appear when host allocates all of the memory and hits swap and only gets worse.
-
Firefox crashes. Mostly this happens on E10S randomly while browsing. There were reports of this happening few times in a row, so a person started firefox, it was working fine for an hour, but when it started crashing it starts dying almost instantly (VM pressure again?).
-
Some internal pages are not working. Password manager, about:performance, profiler are not working.
-
DEBUG builds fail... that's said, what I can actually is like:
Program terminated with signal 11, Segmentation fault.
#0 0x00000008012f34dc in ?? ()
(gdb) bt full
#0 0x00000008012f34dc in ?? ()
No symbol table info available.
#1 0x0000000801100134 in ?? ()
No symbol table info available.
#2 0x0000000801100121 in ?? ()
No symbol table info available.
#3 0x00000008010f79f1 in ?? ()
No symbol table info available.
#4 0x00007fdfe1175c20 in ?? ()
No symbol table info available.
#5 0x0000000806619060 in ?? ()
No symbol table info available.
#6 0x0000000000000400 in ?? ()
No symbol table info available.
#7 0x0000000000000000 in ?? ()
No symbol table info available.
I'm creating this bug in hope of getting enough people on the same page so we can trace the issue. I'll try to update it regulary with my experience, debug logs crashes etc. Generally I need help in tracing Firefox to get some clue on whats actually broken and why.
Comment 2•5 years ago
|
||
Bugbug thinks this bug should belong to this component, but please revert this change in case of error.
Ah, one more crash situation. Even without E10S Firefox can crash when closing browser. When the window is already closed and process starts quitting it can stall for almost about a minute doing nothing. After that it can drop core.
For now I'm stuck with:
Assertion failure: !locale.IsEmpty(), at /construction/www/firefox/firefox-75.0/intl/locale/LocaleService.cpp:376
It looks like my platform doesn't have update channel available so "update.locale" was omitted everywhere. Is there any suggestions how to correctly configure Firefox installation to not trigger that assert?
The decode errors in the original report are fatal for media decoding, but shouldn't bring down the browser. Resetting component as it seems like the issues are rooted outside of media code. It's possible we may need a metabug to track separate issues blocking Fx working, but I'm afraid I don't know enough about what is doing the blocking here.
Comment 6•5 years ago
|
||
(In reply to arcade from comment #4)
For now I'm stuck with:
Assertion failure: !locale.IsEmpty(), at /construction/www/firefox/firefox-75.0/intl/locale/LocaleService.cpp:376
It looks like my platform doesn't have update channel available so "update.locale" was omitted everywhere. Is there any suggestions how to correctly configure Firefox installation to not trigger that assert?
This particular thing seems Core: Internationalization-related so I'll move this bug there and tie it to an older DragonFly support bug.
Comment 7•5 years ago
|
||
Bug 1634205 may be interesting wrt the profiler.
Comment 8•5 years ago
|
||
Because this bug's Severity has not been changed from the default since it was filed, and it's Priority is -- (non,) indicating it has has not been previously triaged, the bug's Severity is being updated to -- (default, untriaged.)
Comment 9•5 years ago
|
||
The severity field is not set for this bug.
:m_kato, could you have a look please?
For more information, please visit auto_nag documentation.
Comment 11•5 years ago
|
||
update.locale is nothing. I guess that we may disable updater?
Comment 12•5 years ago
|
||
Yeah, I don't think it's Internationalization. Our build system should never create an empty update.locale.
Comment 13•5 years ago
|
||
There should be no update.locale if there's no updater enabled. The fact that the intl backbone relies on it is probably a bug.
See https://phabricator.services.mozilla.com/D73955#2290520, we have this info in three locations by now, it just doesn't pan out.
Comment 14•5 years ago
|
||
The fact that the intl backbone relies on it is probably a bug.
Can you elaborate? What is intl backbone in this sentence? And what is relies?
| Reporter | ||
Comment 15•5 years ago
|
||
I'm back.
I think it would be faster to let assertion issues flow in they own bugs, I'll try to proceed to debugging and stuff. So I just commenting it and rebuild Firefox again. Now I'm stuck at:
[363723, Main Thread] WARNING: Workers don't support the 'mem.mem.' preference!: file /construction/www/firefox/firefox-76.0.1/dom/workers/RuntimeService.cpp, line 538
…
[363723, Main Thread] WARNING: Unable to read system value: 'aValue > 0', file /construction/www/firefox/firefox-76.0.1/xpcom/base/nsSystemInfo.cpp, line 1128
Assertion failure: false (MOZ_ASSERT_UNREACHABLE: PR_GetPhysicalMemorySize not implemented here), at /construction/www/firefox/firefox-76.0.1/image/SurfaceCache.cpp:1528
I'll try to disable it and rebuild.
On the profiler — it would be really nice to have it, yet it doesn't work for me.
| Reporter | ||
Comment 16•5 years ago
|
||
One more nice build, just an assertion in graphics layer.
[388736, Main Thread] WARNING: Workers don't support the 'mem.mem.' preference!: file /construction/www/firefox/firefox-76.0.1/dom/workers/RuntimeService.cpp, line 538
…
[388736, Main Thread] WARNING: Unable to read system value: 'aValue > 0', file /construction/www/firefox/firefox-76.0.1/xpcom/base/nsSystemInfo.cpp, line 1128
[388736, Main Thread] WARNING: Can't get nsINetworkLinkService.: file /construction/www/firefox/firefox-76.0.1/dom/media/VideoUtils.cpp, line 730
[388736, Main Thread] WARNING: Can't get nsINetworkLinkService.: file /construction/www/firefox/firefox-76.0.1/dom/media/VideoUtils.cpp, line 730
[388736, Main Thread] WARNING: Failed to get base domain!: file /construction/www/firefox/firefox-76.0.1/ipc/glue/BackgroundUtils.cpp, line 353
[388736, Main Thread] WARNING: '!mInitSucceeded', file /construction/www/firefox/firefox-76.0.1/editor/libeditor/TextEditSubActionHandler.cpp, line 102
[388736, Main Thread] WARNING: '!aWin', file /construction/www/firefox/firefox-76.0.1/dom/base/Document.cpp, line 1397
[388736, Main Thread] WARNING: '!aWin', file /construction/www/firefox/firefox-76.0.1/dom/base/Document.cpp, line 1397
[388736, Main Thread] WARNING: '!mInitSucceeded', file /construction/www/firefox/firefox-76.0.1/editor/libeditor/TextEditSubActionHandler.cpp, line 102
[388736, Main Thread] WARNING: '!mInitSucceeded', file /construction/www/firefox/firefox-76.0.1/editor/libeditor/TextEditSubActionHandler.cpp, line 102
Crash Annotation GraphicsCriticalError: |[0][GFX1]: RGBX corner pixel at (0,0) in 1920x1059 surface, bounded by (0,0,1920,1059) is not opaque: 9,8,8,255 (t=22.256) [GFX1]: RGBX corner pixel at (0,0) in 1920x1059 surface, bounded by (0,0,1920,1059) is not opaque: 9,8,8,255
Assertion failure: [GFX1]: RGBX corner pixel at (0,0) in 1920x1059 surface, bounded by (0,0,1920,1059) is not opaque: 9,8,8,255, at /construction/www/firefox/firefox-76.0.1/gfx/2d/Logging.h:756
…
Hit MOZ_CRASH(GFX: An assert from the graphics logger) at /construction/www/firefox/firefox-76.0.1/gfx/2d/Logging.h:757
Hope one day I'll dig it up. Though debug build takes a lot of time and resources.
| Reporter | ||
Comment 17•5 years ago
|
||
Removing the last crash uncovered probably a huge issue on our platform. Crashes happen probably during each redraw. Typical crash looks like:
Crash Annotation GraphicsCriticalError: |[0][GFX1]: RGBX corner pixel at (0,0) in 1920x1059 surface, bounded by (0,0,1920,1059) is not opaque: 9,8,8,255 (t=6.52262) |[2671][GFX1]: RGBX corner pixel at (1919,0) in 1920x1059 surface, bounded by (0,0,1920,74) is not opaque: 13,12,12,255 (t=530.971) |[2672][GFX1]: RGBX corner pixel at (1919,73) in 1920x1059 surface, bounded by (0,0,1920,74) is not opaque: 13,12,12,255 (t=531.002) |[2658][GFX1]: RGBX corner pixel at (0,73) in 1920x1059 surface, bounded by (0,0,1920,74) is not opaque: 13,12,12,255 (t=456.514) |[2659][GFX1]: RGBX corner pixel at (960,37) in 1920x1059 surface, bounded by (0,0,1920,74) is not opaque: 51,49,49,255 (t=456.571) |[2660][GFX1]: RGBX corner pixel at (0,0) in 1920x1059 surface, bounded by (0,0,1920,74) is not opaque: 13,12,12,255 (t=528.595) |[2661][GFX1]: RGBX corner pixel at (1919,0) in 1920x1059 surface, bounded by (0,0,1920,74) is not opaque: 13,12,12,255 (t=530.395) |[2662][GFX1]: RGBX corner pixel at (1919,73) in 1920x1059 surface, bounded by (0,0,1920,74) is not opaque: 13,12,12,255 (t=530.455) |[2663][GFX1]: RGBX corner pixel at (0,73) in 1920x1059 surface, bounded by (0,0,1920,74) is not opaque: 13,12,12,255 (t=530.522) |[2664][GFX1]: RGBX corner pixel at (960,37) in 1920x1059 surface, bounded by (0,0,1920,74) is not opaque: 52,50,50,255 (t=530.583) |[2665][GFX1]: RGBX corner pixel at (0,0) in 1920x1059 surface, bounded by (0,0,1920,74) is not opaque: 13,12,12,255 (t=530.629) |[2666][GFX1]: RGBX corner pixel at (1919,0) in 1920x1059 surface, bounded by (0,0,1920,74) is not opaque: 13,12,12,255 (t=530.704) |[2667][GFX1]: RGBX corner pixel at (1919,73) in 1920x1059 surface, bounded by (0,0,1920,74) is not opaque: 13,12,12,255 (t=530.733) |[2668][GFX1]: RGBX corner pixel at (0,73) in 1920x1059 surface, bounded by (0,0,1920,74) is not opaque: 13,12,12,255 (t=530.774) |[2669][GFX1]: RGBX corner pixel at (960,37) in 1920x1059 surface, bounded by (0,0,1920,74) is not opaque: 52,50,50,255 (t=530.811) |[2670][GFX1]: RGBX corner pixel at (0,0) in 1920x1059 surface, bounded by (0,0,1920,74) is not opaque: 13,12,12,255 (t=530.945) [GFX1]: RGBX corner pixel at (1919,73) in 1920x1059 surface, bounded by (0,0,1920,74) is not opaque: 13,12,12,255
Assertion failure: [GFX1]: RGBX corner pixel at (1919,73) in 1920x1059 surface, bounded by (0,0,1920,74) is not opaque: 13,12,12,255, at /construction/www/firefox/firefox-76.0.1/gfx/2d/Logging.h:756
#01: std::_Function_base::_Base_manager<bool (*)(mozilla::TimeStamp)>::_M_manager(std::_Any_data&, std::_Any_data const&, std::_Manager_operation)[/usr/local/lib/firefox/libxul.so +0x2de68f7]
#02: std::_Function_base::_Base_manager<bool (*)(mozilla::TimeStamp)>::_M_manager(std::_Any_data&, std::_Any_data const&, std::_Manager_operation)[/usr/local/lib/firefox/libxul.so +0x2de8763]
#03: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct(unsigned long, char)[/usr/local/lib/firefox/libxul.so +0x309815d]
#04: std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_assertion()[/usr/local/lib/firefox/libxul.so +0x2f51faa]
#05: std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_assertion()[/usr/local/lib/firefox/libxul.so +0x2f538d9]
#06: std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_assertion()[/usr/local/lib/firefox/libxul.so +0x2f4d2d9]
#07: std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_assertion()[/usr/local/lib/firefox/libxul.so +0x2f8a3ad]
#08: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct(unsigned long, char)[/usr/local/lib/firefox/libxul.so +0x30cd6c2]
#09: std::_Rb_tree_node<std::pair<int const, int> >* std::_Rb_tree<int, std::pair<int const, int>, std::_Select1st<std::pair<int const, int> >, std::less<int>, std::allocator<std::pair<int const, int> > >::_M_copy<std::_Rb_tree<int, std::pair<int const, int>, [/usr/local/lib/firefox/libxul.so +0x30f9dcb]
#10: std::_Rb_tree_node<std::pair<int const, int> >* std::_Rb_tree<int, std::pair<int const, int>, std::_Select1st<std::pair<int const, int> >, std::less<int>, std::allocator<std::pair<int const, int> > >::_M_copy<std::_Rb_tree<int, std::pair<int const, int>, [/usr/local/lib/firefox/libxul.so +0x3100610]
#11: std::_Rb_tree<int, std::pair<int const, int>, std::_Select1st<std::pair<int const, int> >, std::less<int>, std::allocator<std::pair<int const, int> > >::_M_erase(std::_Rb_tree_node<std::pair<int const, int> >*)[/usr/local/lib/firefox/libxul.so +0x30e1403]
#12: std::_Rb_tree_node<std::pair<int const, int> >* std::_Rb_tree<int, std::pair<int const, int>, std::_Select1st<std::pair<int const, int> >, std::less<int>, std::allocator<std::pair<int const, int> > >::_M_copy<std::_Rb_tree<int, std::pair<int const, int>, [/usr/local/lib/firefox/libxul.so +0x30e4567]
#13: std::_Rb_tree_node<std::pair<int const, int> >* std::_Rb_tree<int, std::pair<int const, int>, std::_Select1st<std::pair<int const, int> >, std::less<int>, std::allocator<std::pair<int const, int> > >::_M_copy<std::_Rb_tree<int, std::pair<int const, int>, [/usr/local/lib/firefox/libxul.so +0x30fc92a]
#14: std::_Rb_tree_node<std::pair<int const, int> >* std::_Rb_tree<int, std::pair<int const, int>, std::_Select1st<std::pair<int const, int> >, std::less<int>, std::allocator<std::pair<int const, int> > >::_M_copy<std::_Rb_tree<int, std::pair<int const, int>, [/usr/local/lib/firefox/libxul.so +0x30fd3f6]
#15: std::_Rb_tree_node<std::pair<int const, int> >* std::_Rb_tree<int, std::pair<int const, int>, std::_Select1st<std::pair<int const, int> >, std::less<int>, std::allocator<std::pair<int const, int> > >::_M_copy<std::_Rb_tree<int, std::pair<int const, int>, [/usr/local/lib/firefox/libxul.so +0x30fdef1]
#16: std::_Rb_tree_node<std::pair<int const, int> >* std::_Rb_tree<int, std::pair<int const, int>, std::_Select1st<std::pair<int const, int> >, std::less<int>, std::allocator<std::pair<int const, int> > >::_M_copy<std::_Rb_tree<int, std::pair<int const, int>, [/usr/local/lib/firefox/libxul.so +0x30fe190]
#17: std::_Rb_tree_node<std::pair<int const, int> >* std::_Rb_tree<int, std::pair<int const, int>, std::_Select1st<std::pair<int const, int> >, std::less<int>, std::allocator<std::pair<int const, int> > >::_M_copy<std::_Rb_tree<int, std::pair<int const, int>, [/usr/local/lib/firefox/libxul.so +0x31255dc]
#18: std::_Rb_tree_node<std::pair<int const, int> >* std::_Rb_tree<int, std::pair<int const, int>, std::_Select1st<std::pair<int const, int> >, std::less<int>, std::allocator<std::pair<int const, int> > >::_M_copy<std::_Rb_tree<int, std::pair<int const, int>, [/usr/local/lib/firefox/libxul.so +0x310ef05]
#19: std::_Rb_tree_node<std::pair<int const, int> >* std::_Rb_tree<int, std::pair<int const, int>, std::_Select1st<std::pair<int const, int> >, std::less<int>, std::allocator<std::pair<int const, int> > >::_M_copy<std::_Rb_tree<int, std::pair<int const, int>, [/usr/local/lib/firefox/libxul.so +0x310efb9]
#20: std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_replace_aux(unsigned long, unsigned long, unsigned long, wchar_t)[/usr/local/lib/firefox/libxul.so +0x27ae72f]
#21: std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_replace_aux(unsigned long, unsigned long, unsigned long, wchar_t)[/usr/local/lib/firefox/libxul.so +0x27a176d]
#22: std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<ch[/usr/local/lib/firefox/libxul.so +0x26ca641]
#23: std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<ch[/usr/local/lib/firefox/libxul.so +0x26d325e]
#24: std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<ch[/usr/local/lib/firefox/libxul.so +0x26d4cea]
#25: std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<ch[/usr/local/lib/firefox/libxul.so +0x26d5004]
#26: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >& std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allo[/usr/local/lib/firefox/libxul.so +0x267b292]
#27: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >& std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allo[/usr/local/lib/firefox/libxul.so +0x26840b9]
#28: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >& std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allo[/usr/local/lib/firefox/libxul.so +0x2684943]
#29: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >& std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allo[/usr/local/lib/firefox/libxul.so +0x26773b3]
#30: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >& std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allo[/usr/local/lib/firefox/libxul.so +0x2677435]
#31: std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >* std::_Rb_tree<std::__cxx11::basic_string<char, std::ch[/usr/local/lib/firefox/libxul.so +0x269761b]
#32: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >& std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allo[/usr/local/lib/firefox/libxul.so +0x267466a]
#33: pthread_detach[/usr/lib/libpthread.so.0 +0xb42e]
#34: ??? (???:???)
Comment 18•5 years ago
|
||
arcade, comment #16 and comment #17 are another issue, so could you file new issue for #16 and #17?
Updated•5 years ago
|
Updated•5 years ago
|
| Reporter | ||
Comment 19•3 years ago
|
||
I think it might be closed. For a last few builds it's quite stable on DragonFly. Thank you all!
(In reply to arcade from comment #19)
I think it might be closed. For a last few builds it's quite stable on DragonFly. Thank you all!
Thanks for letting us know!
| Reporter | ||
Comment 21•2 years ago
|
||
Well, it was working asof 106. Right now version 108 crashes for me almost instantly, so I guess I'll try to revert making DEBUG work first.
Description
•