pawlaszczyk / fqlite

64 stars 11 forks source link

Crashing when using FQLite via CLI #1

Closed L-Andrade closed 2 years ago

L-Andrade commented 3 years ago

Hello! I was attempting to use FQLite v1.5.2 via CLI and I'm getting an exception using: java -cp fqlite.jar fqlite.base.MAIN database.db

Stack trace is:

Exception in thread "main" java.lang.NoClassDefFoundError: org/antlr/v4/runtime/CharStream
    at fqlite.parser.TableParser.parseCREATETABLEStatement(TableParser.java:81)
    at fqlite.parser.SQLiteSchemaParser.parse(SQLiteSchemaParser.java:100)
    at fqlite.util.Auxiliary.readMasterTableRecord(Auxiliary.java:221)
    at fqlite.base.Job.processDB(Job.java:758)
    at fqlite.base.MAIN.main(MAIN.java:75)
Caused by: java.lang.ClassNotFoundException: org.antlr.v4.runtime.CharStream
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:636)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:182)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:519)
    ... 5 more

According to the instructions, all that is required is a JRE 1.8 or higher. I've tried with Oracle's JRE 1.8 and OpenJDK 16 and the result is always the same. I didn't have any issues using via the GUI. Am I missing something here?

Thank you in advance!

pawlaszczyk commented 3 years ago

Hi,

there was another bug in this version.

I have uploaded a new version in the meantime (Version 1.5.3).

https://www.staff.hs-mittweida.de/~pawlaszc/fqlite/downloads/fqlite_v1.5.3.jar

To run the FQLite in GUI mode the executable jar can normally be started with a double-click on the jar-archive file. If this does not work, since javaw is not linked correctly to .jar files, you can use the command line as well:

$ java -jar fqlite.jar

To run the FQLite from the command line you can use the following command:

$ fqlite.jar nogui

Regards

Dirk


Prof. Dr. Dirk Pawlaszczyk

Studiendekan Master Cybercrime/Cybersecurity Fakultät Angewandte Computer und Biowissenschaften Hochschule Mittweida University of Applied Sciences Technikumplatz 17 D-09648 Mittweida


http://www.it-sicherheit-studieren.de http://www.forensik-studieren.dehttp://www.forensik-sutieren.de http://www.cybercrime-studieren.de

Von: Luís Miguel Andrade @.> Antworten an: pawlaszczyk/fqlite @.> Datum: Montag, 5. April 2021 um 19:40 An: pawlaszczyk/fqlite @.> Cc: Subscribed @.> Betreff: [pawlaszczyk/fqlite] Crashing when using FQLite via CLI (#1)

Hello! I was attempting to use FQLite v1.5.2 via CLI and I'm getting an exception using: java -cp fqlite.jar fqlite.base.MAIN database.db

Stack trace is:

Exception in thread "main" java.lang.NoClassDefFoundError: org/antlr/v4/runtime/CharStream

    at fqlite.parser.TableParser.parseCREATETABLEStatement(TableParser.java:81)

    at fqlite.parser.SQLiteSchemaParser.parse(SQLiteSchemaParser.java:100)

    at fqlite.util.Auxiliary.readMasterTableRecord(Auxiliary.java:221)

    at fqlite.base.Job.processDB(Job.java:758)

    at fqlite.base.MAIN.main(MAIN.java:75)

Caused by: java.lang.ClassNotFoundException: org.antlr.v4.runtime.CharStream

    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:636)

    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:182)

    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:519)

    ... 5 more

According to the instructions, all that is required is a JRE 1.8 or higher. I've tried with Oracle's JRE 1.8 and OpenJDK 16 and the result is always the same. I didn't have any issues using via the GUI. Am I missing something here?

Thank you in advance!

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://github.com/pawlaszczyk/fqlite/issues/1, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACNHHBXUH4623ZXM2V3RSZDTHHYXBANCNFSM42NFPWMQ.

L-Andrade commented 3 years ago

Hello again! Thanks for the quick fix, but now it's crashing when writing the CSV results:

Total number of free list pages 0000000a
 no 10
FreeListPage starts at offset 0000006b
head:: 107
first:: 434176 0hx 6a000
Start free page recovery .....
 Number of Entries in freepage list 9
Task total: 9
Number of cells 31
 Finished. No further free pages. Scanned 9
Duration of free page recovery in ms: 50
Lines after free page recovery: 35

Start with scan...
 Start worker thread1
readRecord():: no overflow ERROR java.nio.BufferUnderflowException
ERROR java.nio.BufferUnderflowException
Auxiliary::ERROR java.nio.BufferUnderflowException
ERROR java.nio.BufferUnderflowException
Auxiliary::ERROR java.nio.BufferUnderflowException
shutdown finished
Duration of scanning all pages in ms : 210
End of Scan...
Write results to file...
Number of records recovered: 4511
Exception in thread "main" java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:61)
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at fqlite.base.JARStarter.main(JARStarter.java:49)
        ... 5 more
Caused by: java.nio.file.InvalidPathException: Illegal char <:> at index 34: resultswpndatabase.db2021-04-06T17:44:27.303.csv
        at sun.nio.fs.WindowsPathParser.normalize(Unknown Source)
        at sun.nio.fs.WindowsPathParser.parse(Unknown Source)
        at sun.nio.fs.WindowsPathParser.parse(Unknown Source)
        at sun.nio.fs.WindowsPath.parse(Unknown Source)
        at sun.nio.fs.WindowsFileSystem.getPath(Unknown Source)
        at java.io.File.toPath(Unknown Source)
        at fqlite.base.Job.writeResultsToFile(Job.java:1360)
        at fqlite.base.Job.processDB(Job.java:1300)
        at fqlite.base.MAIN.main(MAIN.java:101)
        ... 10 more

It exports fine using the GUI, but via CLI it has the stack trace above.

Also, small detail but I think it's worth mentioning just in case, the version is printing as "1.53" in the GUI/console.

pawlaszczyk commented 3 years ago

Hi Luis,

this is interesting:

It is clear that fqlite cannot create a file (in Windows) that contains colon in its name (because C:). The colon is created by appending the timestamp. No problem with Linux or MacOS. I will adjust the time output.

Sorry for this. I will send you an update as soon as possible.

Best Regards

Dirk

Von: Luís Miguel Andrade @.> Antworten an: pawlaszczyk/fqlite @.> Datum: Dienstag, 6. April 2021 um 18:52 An: pawlaszczyk/fqlite @.> Cc: @." @.>, Comment @.> Betreff: Re: [pawlaszczyk/fqlite] Crashing when using FQLite via CLI (#1)

Hello again! Thanks for the quick fix, but now it's crashing when writing the CSV results:

Total number of free list pages 0000000a

no 10

FreeListPage starts at offset 0000006b

head:: 107

first:: 434176 0hx 6a000

Start free page recovery .....

Number of Entries in freepage list 9

Task total: 9

Number of cells 31

Finished. No further free pages. Scanned 9

Duration of free page recovery in ms: 50

Lines after free page recovery: 35

Start with scan...

Start worker thread1

readRecord():: no overflow ERROR java.nio.BufferUnderflowException

ERROR java.nio.BufferUnderflowException

Auxiliary::ERROR java.nio.BufferUnderflowException

ERROR java.nio.BufferUnderflowException

Auxiliary::ERROR java.nio.BufferUnderflowException

shutdown finished

Duration of scanning all pages in ms : 210

End of Scan...

Write results to file...

Number of records recovered: 4511

Exception in thread "main" java.lang.reflect.InvocationTargetException

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

    at java.lang.reflect.Method.invoke(Unknown Source)

    at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:61)

Caused by: java.lang.reflect.InvocationTargetException

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

    at java.lang.reflect.Method.invoke(Unknown Source)

    at fqlite.base.JARStarter.main(JARStarter.java:49)

    ... 5 more

Caused by: java.nio.file.InvalidPathException: Illegal char <:> at index 34: resultswpndatabase.db2021-04-06T17:44:27.303.csv

    at sun.nio.fs.WindowsPathParser.normalize(Unknown Source)

    at sun.nio.fs.WindowsPathParser.parse(Unknown Source)

    at sun.nio.fs.WindowsPathParser.parse(Unknown Source)

    at sun.nio.fs.WindowsPath.parse(Unknown Source)

    at sun.nio.fs.WindowsFileSystem.getPath(Unknown Source)

    at java.io.File.toPath(Unknown Source)

    at fqlite.base.Job.writeResultsToFile(Job.java:1360)

    at fqlite.base.Job.processDB(Job.java:1300)

    at fqlite.base.MAIN.main(MAIN.java:101)

    ... 10 more

It exports fine using the GUI, but via CLI it has the stack trace above.

Also, small detail but I think it's worth mentioning just in case, the version is printing as "1.53" in the GUI/console.

— You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://github.com/pawlaszczyk/fqlite/issues/1#issuecomment-814274074, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACNHHBQSWMHIUKGCKZOJAZDTHM34JANCNFSM42NFPWMQ.

pawlaszczyk commented 2 years ago

Should work in fqlite 1.5.6