Crash when using @startgit

0 votes
asked Jul 14, 2021 in Bug by albert (3,520 points)
edited Jul 14, 2021 by albert

Based on the question https://forum.plantuml.net/13557/support-for-the-different-%40start-commands?show=13557I did a bit a larger test.

I used on the plantuml repository the command:

git log --all --graph --decorate=short --abbrev-commit --oneline

redirected it tho a file and placed the command @startgit at the beginning of the file and @endgit at the end.

I ran plantuml on it with version: PlantUML version 1.2021.9beta3 (Unknown compile time)

and got a crash:

this=(7,34)
java.lang.UnsupportedOperationException: (7,34)
        at net.sourceforge.plantuml.gitlog.CursorPosition.getDownFromInternal(CursorPosition.java:211)
        at net.sourceforge.plantuml.gitlog.CursorPosition.getDownFromHere(CursorPosition.java:114)
        at net.sourceforge.plantuml.gitlog.Commit.getAncestors(Commit.java:112)
        at net.sourceforge.plantuml.gitlog.GNodeBuilder.<init>(GNodeBuilder.java:61)
        at net.sourceforge.plantuml.gitlog.GitDiagram.<init>(GitDiagram.java:62)
        at net.sourceforge.plantuml.gitlog.GitDiagramFactory.createSystem(GitDiagramFactory.java:66)
        at net.sourceforge.plantuml.PSystemBuilder.createPSystem(PSystemBuilder.java:133)
        at net.sourceforge.plantuml.BlockUml.getDiagram(BlockUml.java:163)
        at net.sourceforge.plantuml.SourceFileReaderAbstract.getGeneratedImages(SourceFileReaderAbstract.java:151)
        at net.sourceforge.plantuml.Run.manageFileInternal(Run.java:520)
        at net.sourceforge.plantuml.Run.processArgs(Run.java:403)
        at net.sourceforge.plantuml.Run.manageAllFiles(Run.java:370)
        at net.sourceforge.plantuml.Run.main(Run.java:198)

The total file might be a bit large, but I don't think that is the problem her (just a guess).

The big question is why does it go wrong?

commented Jul 14, 2021 by albert (3,520 points)

Looks like I've been able to reduce the problem slightly (this is from the doxygen repository:

@startgit
* c77aea4c Added initial script for Travis CI service
*   38059b8b Merge pull request #7 from ogbash/experimental/prototype
|\
| * be4c107a Add scopes to Fortran prototype name parsing.
| * f138b8f3 Prototype scan for function, does not yet catch parameter types.
* |   9bfa0dd1 Merge pull request #6 from bo0ts/tabify
|\ \
| * | 4ed8db1d configgen.py: Tabify
* | |   8e79dfb3 Merge pull request #2 from pepr/master
|\ \ \
| * | | 574f39d4 French maintainer added, TranslatorFrench converted to UTF-8.
| * | | b25d914d .gitignore removed
| * | | 4a5d43a4 Merge branch 'master' of https://github.com/doxygen/doxygen.git
| |\| |
| * | | 46dba7a8 Muhammad Bashir Al-Noimi is the new maintainer for the Arabic language
| * | | f7db425d Minor fix of the doc/language.tpl; .gitignore with __*/
| | |/
| |/|
* | | 59f32335 Replaced empty configure.bin with real one
| |/
|/|
* | eb193634 Bug 700709 - typedef warning when "using" some operator functions
* | 580c6607 Fixed build issue when using --with-sqlite3 option
|/
* 3e8a7fbd Documentation fixes provided by Albert
* 7abdf4e5 Fixed rwx attributes of tmake files
* 852cf316 Removed obsolete file
@endgit

Stack trace identical, just the

this=(4,14)
java.lang.UnsupportedOperationException: (4,14)

is different.

commented Jul 14, 2021 by albert (3,520 points)

A bit further looks like the construct:

| * | | 4a5d43a4 Merge branch 'master' of https://github.com/doxygen/doxygen.git
| |\| |
| * | | 46dba7a8 Muhammad Bashir Al-Noimi is the new maintainer for the Arabic language

is the problem. i.e. the merge / split between 2 branches. (replacing the "\" by a space and the tree. now not representing the correct situation, generates. When replacing the "\" with "/" there is also a crash).

Your answer

Your name to display (optional):
Privacy: Your email address will only be used for sending these notifications.
Anti-spam verification:

[Antispam2 Feature: please please wait 1 or 2 minutes (this message will disappear) before pressing the button otherwise it will fail](--------)
To avoid this verification in future, please log in or register.
...