Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

crash in XxHordiffImp::boundsHordiff2 #5

Open
blais opened this issue Oct 6, 2016 · 3 comments
Open

crash in XxHordiffImp::boundsHordiff2 #5

blais opened this issue Oct 6, 2016 · 3 comments
Labels
bug Something isn't working major

Comments

@blais
Copy link
Owner

blais commented Oct 6, 2016

Original report by René Bertin (Bitbucket: RJVB, GitHub: RJVB).


I have a couple of logfiles that cause a crash in XxHordiffImp::boundsHordiff2() line 248 (if ( ignoreWs && isspace( c[i] ) ) (with i==0). A quick look with a debugger suggests that pr[i] contains an invalid address (the debugger balks when I try to print *pr[i]).

@blais
Copy link
Owner Author

blais commented Oct 7, 2016

Original comment by Martin Blais (Bitbucket: blais, GitHub: blais).


Thanks Rene.
This looks like a definite bug.

@blais
Copy link
Owner Author

blais commented Oct 7, 2016

Original comment by René Bertin (Bitbucket: RJVB, GitHub: RJVB).


Martin Blais wrote on 20161007::00:51:43 re: "Re: [Bitbucket] Issue #5: crash in XxHordiffImp::boundsHordiff2 (blais/xxdiff)"

Yep. I looked into fixing it, this is probably case of a missing end condition related to very long lines, but couldn't understand what the code does quickly enough.
I forgot to mention that I get a "diff error:" dialog popup before the crash, but cannot read it fully. Executing the diff command in a shell works fine as far as I can tell.

Edit: got the error message through the Qt4 version:

Diff error:
e-devel-qtwebkit/work/build/Source/WebCore/generated/JSTextTrackCue.o .obj/Volumes/VMs/MPbuild/_Volumes_Debian_MP9_site-ports_aqua_qt5-kde-devel/qt5-kde-devel-qtwebkit/work/build/Source/WebCore/generated/JSTextTrackCueList.o .obj/Volumes/VMs/MPbuild/_Volumes_Debian_MP9_site-ports_aqua_qt5-kde-devel/qt5-kde-devel-qtwebkit/work/build/Source/WebCore/generated/JSTextTrackList.o .obj/Volumes/VMs/MPbuild/_Volumes_Debian_MP9_site-ports_aqua_qt5-kde-devel/qt5-kde-devel-qtwebkit/work/build/Source/WebCore/generated/JSTrackEvent.o .obj/Volumes/VMs/MPbuild/_Volumes_Debian_MP9_site-ports_aqua_qt5-kde-devel/qt5-kde-devel-qtwebkit/work/build/Source/WebCore/generated/JSVideoTrack.o .obj/Volumes/VMs/MPbuild/_Volumes_Debian_MP9_site-ports_aqua_qt5-kde-devel/qt5-kde-devel-qtwebkit/work/build/Source/WebCore/generated/JSVideoTrackList.o .obj/Volumes/VMs/MPbuild/_Volumes_Debian_MP9_site-ports_aqua_qt5-kde-devel/qt5-kde-devel-qtwebkit/work/build/Source/WebCore/generated/JSInternalSettingsGenerated.o .obj/Volumes/VMs/MPbuild/_Volumes_Debian_MP9_site-ports_aqua_qt5-kde-devel/qt5-kde-devel-qtwebkit/work/build/Source/WebCore/generated/InspectorFrontend.o .obj/Volumes/VMs/MPbuild/_Volumes_Debian_MP9_site-ports_aqua_qt5-kde-devel/qt5-kde-devel-qtwebkit/work/build/Source/WebCore/generated/InspectorBackendDispatcher.o .obj/Volumes/VMs/MPbuild/_Volumes_Debian_MP9_site-ports_aqua_qt5-kde-devel/qt5-kde-devel-qtwebkit/work/build/Source/WebCore/generated/InspectorTypeBuilder.o .obj/Volumes/VMs/MPbuild/_Volumes_Debian_MP9_site-ports_aqua_qt5-kde-devel/qt5-kde-devel-qtwebkit/work/build/Source/WebCore/generated/CSSGrammar.o .obj/Volumes/VMs/MPbuild/_Volumes_Debian_MP9_site-ports_aqua_qt5-kde-devel/qt5-kde-devel-qtwebkit/work/build/Source/WebCore/generated/HTMLElementFactory.o .obj/Volumes/VMs/MPbuild/_Volumes_Debian_MP9_site-ports_aqua_qt5-kde-devel/qt5-kde-devel-qtwebkit/work/build/Source/WebCore/generated/JSHTMLElementWrapperFactory.o .obj/Volumes/VMs/MPbuild/_Volumes_Debian_MP9_site-ports_aqua_qt5-kde-devel/qt5-kde-devel-qtwebkit/work/build/Source/WebCore/generated/HTMLNames.o .obj/Volumes/VMs/MPbuild/_Volumes_Debian_MP9_site-ports_aqua_qt5-kde-devel/qt5-kde-devel-qtwebkit/work/build/Source/WebCore/generated/XMLNSNames.o .obj/Volumes/VMs/MPbuild/_Volumes_Debian_MP9_site-ports_aqua_qt5-kde-devel/qt5-kde-devel-qtwebkit/work/build/Source/WebCore/generated/XMLNames.o .obj/Volumes/VMs/MPbuild/_Volumes_Debian_MP9_site-ports_aqua_qt5-kde-devel/qt5-kde-devel-qtwebkit/work/build/Source/WebCore/generated/WebKitFontFamilyNames.o .obj/Volumes/VMs/MPbuild/_Volumes_Debian_MP9_site-ports_aqua_qt5-kde-devel/qt5-kde-devel-qtwebkit/work/build/Source/WebCore/generated/EventFactory.o .obj/Volumes/VMs/MPbuild/_Volumes_Debian_MP9_site-ports_aqua_qt5-kde-devel/qt5-kde-devel-qtwebkit/work/build/Source/WebCore/generated/ExceptionCodeDescription.o .obj/Volumes/VMs/MPbuild/_Volumes_Debian_MP9_site-ports_aqua_qt5-kde-devel/qt5-kde-devel-qtwebkit/work/build/Source/WebCore/generated/HTMLEntityTable.o .obj/Volumes/VMs/MPbuild/_Volumes_Debian_MP9_site-ports_aqua_qt5-kde-devel/qt5-kde-devel-qtwebkit/work/build/Source/WebCore/generated/ColorData.o .obj/Volumes/VMs/MPbuild/_Volumes_Debian_MP9_site-ports_aqua_qt5-kde-devel/qt5-kde-devel-qtwebkit/work/build/Source/WebCore/generated/UserAgentStyleSheetsData.o .obj/Volumes/VMs/MPbuild/_Volumes_Debian_MP9_site-ports_aqua_qt5-kde-devel/qt5-kde-devel-qtwebkit/work/build/Source/WebCore/generated/PlugInsResourcesData.o .obj/Volumes/VMs/MPbuild/_Volumes_Debian_MP9_site-ports_aqua_qt5-kde-devel/qt5-kde-devel-qtwebkit/work/build/Source/WebCore/generated/XPathGrammar.o .obj/platform/text/mac/StringImplMac.o .obj/platform/mac/WebCoreNSStringExtras.o .obj/plugins/mac/PluginViewMac.o .obj/rendering/svg/RenderSVGAllInOne.o .obj/svg/SVGAllInOne.o .obj/accessibility/AccessibilityAllInOne.o .obj/inspector/InspectorAllInOne.o .obj/loader/appcache/ApplicationCacheAllInOne.o .obj/platform/text/TextAllInOne.o .obj/rendering/style/StyleAllInOne.o .obj/html/HTMLElementsAllInOne.o .obj/editing/EditingAllInOne.o .obj/rendering/RenderingAllInOne.o .obj/css/CSSAllInOne.o .obj/css/MediaAllInOne.o .obj/dom/DOMAllInOne.o .obj/bindings/js/JSBindingsAllInOne.o .obj/Volumes/VMs/MPbuild/_Volumes_Debian_MP9_site-ports_aqua_qt5-kde-devel/qt5-kde-devel-qtwebkit/work/build/Source/WebCore/.rcc/qrc_WebCore.o .obj/Volumes/VMs/MPbuild/_Volumes_Debian_MP9_site-ports_aqua_qt5-kde-devel/qt5-kde-devel-qtwebkit/work/build/Source/WebCore/.rcc/qrc_WebKit.o .obj/Volumes/VMs/MPbuild/_Volumes_Debian_MP9_site-ports_aqua_qt5-kde-devel/qt5-kde-devel-qtwebkit/work/build/Source/WebCore/.rcc/qrc_InspectorBackendCommands.o .obj/Volumes/VMs/MPbuild/_Volumes_Debian_MP9_site-ports_aqua_qt5-kde-devel/qt5-kde-devel-qtwebkit/work/build/Source/WebCore/.moc/moc_QtMIMETypeSniffer.o

Issue 5: crash in XxHordiffImp::boundsHordiff2
https://bitbucket.org/blais/xxdiff/issues/5/crash-in-xxhordiffimp-boundshordiff2

Martin Blais:

Thanks Rene.
This looks like a definite bug.

--

Unwatch this issue to stop receiving email updates:
https://bitbucket.org/api/1.0/repositories/blais/xxdiff/issue/5/unwatch/RJVB/c99551a954bfe50b7556abca7d95ff7e955de3d1/

@blais
Copy link
Owner Author

blais commented Jun 20, 2017

Original comment by Martin Blais (Bitbucket: blais, GitHub: blais).


This has changed since:
https://bitbucket.org/blais/xxdiff/commits/d587b31c8d3628b46a317531c23bcb16809c77db

However, while it doesn't crash anymore, the UI does not really render much. It's still broken for very long lines.

@blais blais added major bug Something isn't working labels May 22, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working major
Projects
None yet
Development

No branches or pull requests

1 participant