28.4.1 crashes in Dpup Stretch-7.5

Users and developers helping users with generic and technical Pale Moon issues on all operating systems.

Moderator: trava90

Forum rules
This board is for technical/general usage questions and troubleshooting for the Pale Moon browser only.
Technical issues and questions not related to the Pale Moon browser should be posted in other boards!
Please keep off-topic and general discussion out of this board, thank you!
doffen

28.4.1 crashes in Dpup Stretch-7.5

Unread post by doffen » 2019-04-03, 00:18

I run a Puppylinux Dpup Stretch-7.5, based on Debian Stretch 32-bit binaries, with kernel 4.9.149-i686-pae. My laptop is a Dell Latitude E6230, which is known for swallowing most Linux software. It is set up with Lick, for multi-boot choices between Windows 10 and several Puppys.

The Dpup came with PM 28.2.2 pre-installed, but was upgraded by me to 28.4.1 32-bit, by using the upgrade function in the Help menu choice.
The 64-bit version of 28.4.1 was installed by me, to Windows 10.

My problem is a login page on a site from a telecom company, telia, here in Norway. I can open their homepage https://telia.no, but when I click the login button, which normally would take me to a login window on https://telia.no/min-side, palemoon crashes.
The Windows version also crashes, but with a warning, at the same site.

I have tried running an original Dpup install with the default PM 28.2.2, and everything works as intended.
An old PC with a Lucid Puppy and PM 27.9.4, also log in at the telia site without problems.

Were there changes made between the 28.2.2 and 28.4.1 versions, that could lead to my problem?

New Tobin Paradigm

Re: 28.4.1 crashes in Dpup Stretch-7.5

Unread post by New Tobin Paradigm » 2019-04-03, 00:23

Confirmed cross-platform UXP issue. Looks to be a nullptr (cause VS directly said it was a nullptr) in svg mask handling somewhere..

Borealis Win64 (March 28th Trunk) Call Stack which should be similar in any UXP application:

Code: Select all

>	xul.dll!nsSVGMaskFrame::GetMaskForMaskedFrame(gfxContext * aContext, nsIFrame * aMaskedFrame, const gfxMatrix & aMatrix, float aOpacity, mozilla::gfx::Matrix * aMaskTransform, unsigned char aMaskOp) Line 214	C++
 	xul.dll!nsSVGUtils::PaintFrameWithEffects(nsIFrame * aFrame, gfxContext & aContext, const gfxMatrix & aTransform, const mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> * aDirtyRect) Line 737	C++
 	xul.dll!nsSVGMaskFrame::GetMaskForMaskedFrame(gfxContext * aContext, nsIFrame * aMaskedFrame, const gfxMatrix & aMatrix, float aOpacity, mozilla::gfx::Matrix * aMaskTransform, unsigned char aMaskOp) Line 257	C++
 	xul.dll!CreateAndPaintMaskSurface(const nsSVGIntegrationUtils::PaintFramesParams & aParams, float aOpacity, nsStyleContext * aSC, const nsTArray<nsSVGMaskFrame *> & aMaskFrames, const nsPoint & aOffsetToUserSpace) Line 543	C++
 	xul.dll!nsSVGIntegrationUtils::PaintMaskAndClipPath(const nsSVGIntegrationUtils::PaintFramesParams & aParams) Line 847	C++
 	xul.dll!nsDisplayMask::PaintAsLayer(nsDisplayListBuilder * aBuilder, nsRenderingContext * aCtx, mozilla::layers::LayerManager * aManager) Line 7252	C++
 	xul.dll!mozilla::PaintInactiveLayer(nsDisplayListBuilder * aBuilder, mozilla::layers::LayerManager * aManager, nsDisplayItem * aItem, gfxContext * aContext, nsRenderingContext * aCtx) Line 3739	C++
 	xul.dll!mozilla::FrameLayerBuilder::PaintItems(nsTArray<mozilla::FrameLayerBuilder::ClippedDisplayItem> & aItems, const mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> & aRect, gfxContext * aContext, nsRenderingContext * aRC, nsDisplayListBuilder * aBuilder, nsPresContext * aPresContext, const mozilla::gfx::IntPointTyped<mozilla::gfx::UnknownUnits> & aOffset, float aXScale, float aYScale, int aCommonClipCount) Line 5907	C++
 	xul.dll!mozilla::FrameLayerBuilder::DrawPaintedLayer(mozilla::layers::PaintedLayer * aLayer, gfxContext * aContext, const mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> & aRegionToDraw, const mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> & aDirtyRegion, mozilla::layers::DrawRegionClip aClip, const mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> & aRegionToInvalidate, void * aCallbackData) Line 6099	C++
 	xul.dll!mozilla::layers::BasicPaintedLayer::PaintThebes(gfxContext * aContext, mozilla::layers::Layer * aMaskLayer, void(*)(mozilla::layers::PaintedLayer *, gfxContext *, const mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> &, const mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> &, mozilla::layers::DrawRegionClip, const mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> &, void *) aCallback, void * aCallbackData) Line 94	C++
 	xul.dll!mozilla::layers::BasicLayerManager::PaintSelfOrChildren(mozilla::layers::PaintLayerContext & aPaintContext, gfxContext * aGroupTarget) Line 715	C++
 	xul.dll!mozilla::layers::BasicLayerManager::PaintLayer(gfxContext * aTarget, mozilla::layers::Layer * aLayer, void(*)(mozilla::layers::PaintedLayer *, gfxContext *, const mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> &, const mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> &, mozilla::layers::DrawRegionClip, const mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> &, void *) aCallback, void * aCallbackData) Line 960	C++
 	xul.dll!mozilla::layers::BasicLayerManager::PaintSelfOrChildren(mozilla::layers::PaintLayerContext & aPaintContext, gfxContext * aGroupTarget) Line 736	C++
 	xul.dll!mozilla::layers::BasicLayerManager::PaintLayer(gfxContext * aTarget, mozilla::layers::Layer * aLayer, void(*)(mozilla::layers::PaintedLayer *, gfxContext *, const mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> &, const mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> &, mozilla::layers::DrawRegionClip, const mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> &, void *) aCallback, void * aCallbackData) Line 960	C++
 	xul.dll!mozilla::layers::BasicLayerManager::PaintSelfOrChildren(mozilla::layers::PaintLayerContext & aPaintContext, gfxContext * aGroupTarget) Line 736	C++
 	xul.dll!mozilla::layers::BasicLayerManager::PaintLayer(gfxContext * aTarget, mozilla::layers::Layer * aLayer, void(*)(mozilla::layers::PaintedLayer *, gfxContext *, const mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> &, const mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> &, mozilla::layers::DrawRegionClip, const mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> &, void *) aCallback, void * aCallbackData) Line 960	C++
 	xul.dll!mozilla::layers::BasicLayerManager::PaintSelfOrChildren(mozilla::layers::PaintLayerContext & aPaintContext, gfxContext * aGroupTarget) Line 736	C++
 	xul.dll!mozilla::layers::BasicLayerManager::PaintLayer(gfxContext * aTarget, mozilla::layers::Layer * aLayer, void(*)(mozilla::layers::PaintedLayer *, gfxContext *, const mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> &, const mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> &, mozilla::layers::DrawRegionClip, const mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> &, void *) aCallback, void * aCallbackData) Line 960	C++
 	xul.dll!mozilla::layers::BasicLayerManager::EndTransactionInternal(void(*)(mozilla::layers::PaintedLayer *, gfxContext *, const mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> &, const mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> &, mozilla::layers::DrawRegionClip, const mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> &, void *) aCallback, void * aCallbackData, mozilla::layers::LayerManager::EndTransactionFlags aFlags) Line 623	C++
 	xul.dll!nsDisplayList::PaintRoot(nsDisplayListBuilder * aBuilder, nsRenderingContext * aCtx, unsigned int aFlags) Line 1989	C++
 	xul.dll!nsLayoutUtils::PaintFrame(nsRenderingContext * aRenderingContext, nsIFrame * aFrame, const nsRegion & aDirtyRegion, unsigned int aBackstop, nsDisplayListBuilderMode aBuilderMode, nsLayoutUtils::PaintFrameFlags aFlags) Line 3652	C++
 	xul.dll!PresShell::RenderDocument(const nsRect & aRect, unsigned int aFlags, unsigned int aBackgroundColor, gfxContext * aThebesContext) Line 4729	C++
 	xul.dll!mozilla::image::SVGDrawingCallback::operator()(gfxContext * aContext, const gfxRect & aFillRect, const mozilla::gfx::SamplingFilter aSamplingFilter, const gfxMatrix & aTransform) Line 323	C++
 	xul.dll!gfxCallbackDrawable::Draw(gfxContext * aContext, const gfxRect & aFillRect, mozilla::gfx::ExtendMode aExtendMode, const mozilla::gfx::SamplingFilter aSamplingFilter, double aOpacity, const gfxMatrix & aTransform) Line 172	C++
 	xul.dll!gfxUtils::DrawPixelSnapped(gfxContext * aContext, gfxDrawable * aDrawable, const gfxSize & aImageSize, const mozilla::image::ImageRegion & aRegion, const mozilla::gfx::SurfaceFormat aFormat, mozilla::gfx::SamplingFilter aSamplingFilter, unsigned int aOpacity, double) Line 691	C++
 	xul.dll!mozilla::image::imgFrame::InitWithDrawable(gfxDrawable * aDrawable, const mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits> & aSize, const mozilla::gfx::SurfaceFormat aBackend, mozilla::gfx::SamplingFilter) Line 371	C++
 	xul.dll!mozilla::image::VectorImage::CreateSurfaceAndShow(const mozilla::image::SVGDrawingParameters & aParams, mozilla::gfx::BackendType aBackend) Line 985	C++
 	xul.dll!mozilla::image::VectorImage::Draw(gfxContext * aContext, const mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits> & aSize, const mozilla::image::ImageRegion & aRegion, unsigned int aWhichFrame, mozilla::gfx::SamplingFilter aSamplingFilter, const mozilla::Maybe<mozilla::SVGImageContext> & aSVGContext, unsigned int aFlags) Line 883	C++
 	xul.dll!DrawImageInternal(gfxContext & aContext, nsPresContext * aPresContext, imgIContainer * aImage, const mozilla::gfx::SamplingFilter aSamplingFilter, const nsRect & aDest, const nsRect & aFill, const nsPoint & aAnchor, const nsRect & aDirty, const mozilla::SVGImageContext * aSVGContext, unsigned int aImageFlags, mozilla::gfx::ExtendMode aExtendMode) Line 6595	C++
 	xul.dll!nsLayoutUtils::DrawBackgroundImage(gfxContext & aContext, nsPresContext * aPresContext, imgIContainer * aImage, const mozilla::gfx::IntSizeTyped<mozilla::CSSPixel> & aImageSize, mozilla::gfx::SamplingFilter aSamplingFilter, const nsRect & aDest, const nsRect & aFill, const nsSize & aRepeatSize, const nsPoint & aAnchor, const nsRect & aDirty, unsigned int aImageFlags, mozilla::gfx::ExtendMode aExtendMode) Line 6775	C++
 	xul.dll!nsImageRenderer::Draw(nsPresContext * aPresContext, nsRenderingContext & aRenderingContext, const nsRect & aDirtyRect, const nsRect & aDest, const nsRect & aFill, const nsPoint & aAnchor, const nsSize & aRepeatSize, const mozilla::gfx::IntRectTyped<mozilla::CSSPixel> & aSrc) Line 5558	C++
 	xul.dll!nsCSSRendering::PaintBackgroundWithSC(const nsCSSRendering::PaintBGParams & aParams, nsStyleContext * aBackgroundSC, const nsStyleBorder & aBorder) Line 3309	C++
 	xul.dll!nsDisplayBackgroundImage::PaintInternal(nsDisplayListBuilder * aBuilder, nsRenderingContext * aCtx, const nsRect & aBounds, nsRect * aClipRect) Line 3162	C++
 	xul.dll!nsDisplayBackgroundImage::Paint(nsDisplayListBuilder * aBuilder, nsRenderingContext * aCtx) Line 3136	C++
 	xul.dll!mozilla::FrameLayerBuilder::PaintItems(nsTArray<mozilla::FrameLayerBuilder::ClippedDisplayItem> & aItems, const mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> & aRect, gfxContext * aContext, nsRenderingContext * aRC, nsDisplayListBuilder * aBuilder, nsPresContext * aPresContext, const mozilla::gfx::IntPointTyped<mozilla::gfx::UnknownUnits> & aOffset, float aXScale, float aYScale, int aCommonClipCount) Line 5924	C++
 	xul.dll!mozilla::FrameLayerBuilder::DrawPaintedLayer(mozilla::layers::PaintedLayer * aLayer, gfxContext * aContext, const mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> & aRegionToDraw, const mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> & aDirtyRegion, mozilla::layers::DrawRegionClip aClip, const mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> & aRegionToInvalidate, void * aCallbackData) Line 6083	C++
 	xul.dll!mozilla::layers::ClientPaintedLayer::PaintThebes() Line 91	C++
 	xul.dll!mozilla::layers::ClientPaintedLayer::RenderLayerWithReadback(mozilla::layers::ReadbackProcessor * aReadback) Line 138	C++
 	xul.dll!mozilla::layers::ClientContainerLayer::RenderLayer() Line 64	C++
 	xul.dll!mozilla::layers::ClientContainerLayer::RenderLayer() Line 64	C++
 	xul.dll!mozilla::layers::ClientLayerManager::EndTransactionInternal(void(*)(mozilla::layers::PaintedLayer *, gfxContext *, const mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> &, const mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> &, mozilla::layers::DrawRegionClip, const mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> &, void *) aCallback, void * aCallbackData, mozilla::layers::LayerManager::EndTransactionFlags) Line 326	C++
 	xul.dll!mozilla::layers::ClientLayerManager::EndTransaction(void(*)(mozilla::layers::PaintedLayer *, gfxContext *, const mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> &, const mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> &, mozilla::layers::DrawRegionClip, const mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> &, void *) aCallback, void * aCallbackData, mozilla::layers::LayerManager::EndTransactionFlags aFlags) Line 378	C++
 	xul.dll!nsDisplayList::PaintRoot(nsDisplayListBuilder * aBuilder, nsRenderingContext * aCtx, unsigned int aFlags) Line 1989	C++
 	xul.dll!nsLayoutUtils::PaintFrame(nsRenderingContext * aRenderingContext, nsIFrame * aFrame, const nsRegion & aDirtyRegion, unsigned int aBackstop, nsDisplayListBuilderMode aBuilderMode, nsLayoutUtils::PaintFrameFlags aFlags) Line 3652	C++
 	xul.dll!PresShell::Paint(nsView * aViewToPaint, const nsRegion & aDirtyRegion, unsigned int aFlags) Line 6373	C++
 	xul.dll!nsViewManager::ProcessPendingUpdatesPaint(nsIWidget * aWidget) Line 484	C++
 	xul.dll!nsViewManager::ProcessPendingUpdatesForView(nsView * aView, bool aFlushDirtyRegion) Line 411	C++
 	xul.dll!nsViewManager::ProcessPendingUpdates() Line 1119	C++
 	xul.dll!nsRefreshDriver::Tick(__int64 aNowEpoch, mozilla::TimeStamp aNowTime) Line 1981	C++
 	xul.dll!mozilla::RefreshDriverTimer::TickDriver(nsRefreshDriver * driver, __int64 jsnow, mozilla::TimeStamp now) Line 328	C++
 	xul.dll!mozilla::RefreshDriverTimer::TickRefreshDrivers(__int64 aJsNow, mozilla::TimeStamp aNow, nsTArray<RefPtr<nsRefreshDriver> > & aDrivers) Line 298	C++
 	xul.dll!mozilla::RefreshDriverTimer::Tick(__int64 jsnow, mozilla::TimeStamp now) Line 321	C++
 	xul.dll!mozilla::VsyncRefreshDriverTimer::RunRefreshDrivers(mozilla::TimeStamp aTimeStamp) Line 626	C++
 	xul.dll!mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::TickRefreshDriver(mozilla::TimeStamp aVsyncTimestamp) Line 546	C++
 	xul.dll!mozilla::detail::RunnableMethodImpl<void (__cdecl mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::*)(mozilla::TimeStamp) __ptr64,1,0,mozilla::TimeStamp>::Run() Line 812	C++
 	xul.dll!nsThread::ProcessNextEvent(bool aMayWait, bool * aResult) Line 1149	C++
 	xul.dll!NS_ProcessNextEvent(nsIThread * aThread, bool aMayWait) Line 356	C++
 	xul.dll!mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate * aDelegate) Line 125	C++
 	xul.dll!MessageLoop::Run() Line 206	C++
 	xul.dll!nsBaseAppShell::Run() Line 155	C++
 	xul.dll!nsAppShell::Run() Line 264	C++
 	xul.dll!nsAppStartup::Run() Line 284	C++
 	xul.dll!XREMain::XRE_mainRun() Line 3877	C++
 	xul.dll!XREMain::XRE_main(int argc, char * * argv, const nsXREAppData * aAppData) Line 4006	C++
 	xul.dll!XRE_main(int argc, char * * argv, const nsXREAppData * aAppData, unsigned int aFlags) Line 4088	C++
 	borealis.exe!do_main(int argc, char * * argv, char * * envp, nsIFile * xreDirectory) Line 212	C++
 	borealis.exe!wmain(int argc, wchar_t * * argv) Line 111	C++
 	[External Code]	
Primary SVG code was last touched by kn-yami in https://github.com/MoonchildProductions/UXP/commit/b241a84d884293e1ce49a79c75e362c02c0899f9 but may or may not be directly related to that exact commit but something over all as part of Issue #908 (UXP) for which kn-yami was heading up.

doffen

Re: 28.4.1 crashes in Dpup Stretch-7.5

Unread post by doffen » 2019-04-03, 01:28

Thank you. And translated into a normal, human language, what does that mean? :?
And what to do about it?

New Tobin Paradigm

Re: 28.4.1 crashes in Dpup Stretch-7.5

Unread post by New Tobin Paradigm » 2019-04-03, 03:10

It's a crash and needs to be fixed. There isn't anything you can do about it. Me neither because I am shit with cpp.

I was just documenting it as best I can because I was able to reproduce it with my Navigator that I have debugging symbols for even though I am not very good with that either.

yami_

Re: 28.4.1 crashes in Dpup Stretch-7.5

Unread post by yami_ » 2019-04-03, 08:40

This may be our version of bug #1360343. However Tobin's call stack says it crashed on line 214 which is an if condition.

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35600
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: 28.4.1 crashes in Dpup Stretch-7.5

Unread post by Moonchild » 2019-04-03, 15:24

Aside from what i suggested on IRC this might in fact also be a crash cause. it crashes on the "if" because "this" is null upon entering that function, so whatever the first expression is that uses any reference to it will likely crash. Adding both fixes should cover the most ground :)
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

yami_

Re: 28.4.1 crashes in Dpup Stretch-7.5

Unread post by yami_ » 2019-04-03, 17:31

FYI this issue is tracked as Issue #1034 (uxp) on the UXP bug tracker.

doffen

Re: 28.4.1 crashes in Dpup Stretch-7.5

Unread post by doffen » 2019-04-04, 23:35

Thank you, Tobin, yami_ and Moonchild. <I'm smiling>
(jeez, what happened to an ordinary 'smiley'?)

doffen

Re: 28.4.1 crashes in Dpup Stretch-7.5

Unread post by doffen » 2019-04-30, 19:40

I just downloaded v.28.5.0, and so far, everything works as it should, the problem is solved. Thank you! :D

Locked