Giter Club home page Giter Club logo

Comments (5)

SethTisue avatar SethTisue commented on May 29, 2024

maybe @retronym will have some insight

a few things you might try in the hopes of producing clues as to the scope and nature of the problem:

  • downgrade to Java 11 or 8, or upgrade to 17
  • try it on Linux or MacOS, perhaps it's some Windows-specific issue

also, I have to ask: does jardiff work at all for you on your setup? is the problem specific to the particular JARs you want to analyze, or is it broken no matter what JARs you run it on?

from jardiff.

retronym avatar retronym commented on May 29, 2024

jardiff is trying to create a file to write the rendered output.

https://github.com/scala/jardiff/blob/main/core/src/main/scala/scala/tools/jardiff/JarDiff.scala#L106

https://github.com/scala/jardiff/blob/0c6a7bd0eb00cf9838a90e2072ca7f1a315277a2/core/src/main/scala/scala/tools/jardiff/AsmTextifyRenderer.scala#L29

You could try jardiff -g C:/path/without/spaces to rule out some issue with the default temp directory being in a file systenm, or part of a file system that is related to the bug

from jardiff.

som-snytt avatar som-snytt commented on May 29, 2024

It's error number one, so it must be the first thing that can go wrong.

ERROR_SUCCESS

0 (0x0)

The operation completed successfully.

ERROR_INVALID_FUNCTION

1 (0x1)

Incorrect function.

ERROR_FILE_NOT_FOUND

2 (0x2)

The system cannot find the file specified.

https://docs.microsoft.com/en-us/windows/win32/debug/system-error-codes--0-499-

from jardiff.

werame avatar werame commented on May 29, 2024

The dir jardiff-16971073125157135731 got created but there are no files in it besides another .git subdir. The file path above doesn't have spaces in it.

So it appears to fail at the 1st attempt to create a file.

I just realized the file name is "con" which is verboten on Windows (regardless of capitalization) unless you use the unfiltered I/O driver. cON.class.asm

It's a somewhat standard trick done by some obfuscators.

You could perhaps use paths starting with \\?\ (on Windows) which fixes that (as well as removing the 260-chars path limit), but this obfuscator is also "smart" enough to create capitalization-based conflicts on Windows (like also having a different class file called just con.class), which is not resolved by \\?\.

In the meantime I've used IntelliJ to do the jar comparison, which does it in-memory, so it doesn't run into such issues on Windows.

from jardiff.

SethTisue avatar SethTisue commented on May 29, 2024

ahhh, our old friend con, who pops up every so often and bites somebody. glad you sorted it out

from jardiff.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.