animetosho / Nyuu

Flexible usenet binary posting tool
215 stars 30 forks source link

Unexpected fatal exception encountered #125

Closed dystopia2017 closed 7 months ago

dystopia2017 commented 7 months ago

Hello, I was posting a split rar set of files, and it got to .r35 and then gives this error and stack dump. If I rerun the command, it now instantly fails also giving the same stack dump. Is there anything I can do to resume the post?

[INFO] Uploading 40827 article(s) from 67 file(s) totalling 27.24 GiB
[INFO] Reading file blah.r35...
[ERR ] Unexpected fatal exception encountered, stack trace below

<--- Last few GCs --->

[45392:020B9630]       40 ms: Scavenge 2.8 (4.4) -> 2.5 (5.2) MB, 0.5 / 0.0 ms  (average mu = 1.000, current mu = 1.000)
 allocation failure

<--- JS stacktrace --->

==== JS stack trace =========================================

    0: ExitFrame [pc: 010E13A7]
    1: StubFrame [pc: 0113077A]
Security context: 0x2a3c0469 <JSObject>
    2: inspect(aka inspect) [0556C5D5] [internal/util/inspect.js:289] [bytecode=0B4EA7FD offset=110](this=0x20d80279 <un
defined>,0x2b8048c1 <Error map = 13AB712D>,0x2b814e1d <Object map = 13AB71F5>)
    3: afterInspector(aka afterInspector) [2113FF55] [internal/errors.js:698] [bytecode=0B4E9811 offset=273](this=0x20d8
0279 <undefined>,0x...

FATAL ERROR: invalid array length Allocation failed - JavaScript heap out of memory

eg

animetosho commented 7 months ago

The error suggests that you are out of memory - can you check if you are low on RAM?
If that isn't the case, could you give the command you're using?

As for resumption, currently Nyuu doesn't really have anything built in. You can move out the successfully posted files and make a new upload with the remaining unposted files; if you're outputting an NZB, you may need to merge the old one with the new upload.

dystopia2017 commented 7 months ago

Thanks for the response, I have 32gb of ram of which 24gb is free. I have managed to resume the post by removing .r35 and continuing from .r36 onwards. Something specifically about that rar file is causing the error. This is my posting script that is working again after removing .r35

@echo off
:SetupVariables
set idir=T:\Skeen\Scripts\___WiP___\SCENE
set outd=S:\_Work_\_Posting_
set pstd=S:\_Work_\_Posted_
set nzbd=T:\Skeen\Scripts\___WiP___\SCENE\_Toolset_\_Nzbs_
set apps=T:\Skeen\Scripts\_Apps_
set serv=REMOVED
set user="REMOVED"
set pass="REMOVED"
set from="REMOVED"
set grps=alt.binaries.REMOVED
set suba=-F --subject
set subb=- {filename} yEnc ({part}/{parts})
set dirn=REMOVED
set nyuu=T:\Skeen\Scripts\_Apps_\nyuu-v0.4.1-win32\nyuu.cmd
set temp=S:\_Work_\_Temp_
%apps%\nyuu.exe -h %serv% --ssl -u %user% -p %pass% -f %from% -g %grps% %suba% "%dirn% %subb%" -n 12 -o "%nzbd%\%dirn%.nzb" "%outd%\%dirn%"
move "%outd%\%dirn%" %pstd%\
animetosho commented 7 months ago

Thanks for the info. I don't see anything likely to cause any issues there, and it's odd that it's just one file.

I think the memory issue might be something unrelated.

Could you run set NODE_OPTIONS=--max-old-space-size=4096 then run the problematic Nyuu command, and see if that produces a different error?

dystopia2017 commented 7 months ago

It's slightly different, a file not found error when the file does exist. My post has completed now with this one file missing, but there is enough par2 to recover it, So you can mark this as closed if you want. Or I can do some futher testing if you have some more ideas.

File Not Found
The system cannot find the file specified.

<--- Last few GCs --->

[45604:01CDB350]        9 ms: Mark-sweep 0.8 (3.0) -> 0.7 (3.2) MB, 0.8 / 0.0 ms  (average mu = 0.743, current mu = 0.74
3) allocation failure GC in old space requested

<--- JS stacktrace --->

==== JS stack trace =========================================

    0: ExitFrame [pc: 010E13A7]
    1: StubFrame [pc: 0113077A]
Security context: 0x13bc0469 <JSObject>
    2: /* anonymous */(aka /* anonymous */) [35064A89] [internal/timers.js:597] [bytecode=2C9EB171 offset=712](this=0x39
0c0279 <undefined>,0x13bf85cd <Object map = 3080021D>,0x36a94359 <JSFunction nativeModuleRequire (sfi = 13BD50A1)>,0x13b
f858d <NativeModule map = 30804255>,0x36a93d65 <process map = 30814C95>,0x36a9476d <JSFunction int...

FATAL ERROR: invalid array length Allocation failed - JavaScript heap out of memory

eg

animetosho commented 7 months ago

Well that's completely unexpected - maybe it's another issue this time?

What's the line(s) above "File Not Found", or is that the only output?

Also, could you check that your EXE is correct? The size for nyuu.exe v0.4.1 should be exactly 16,816,128 bytes.
Edit: I presume you're using the fixed build after #102?

dystopia2017 commented 7 months ago

Good morning, I checked the version of nyuu I have and maybe it has become corrupt. Mine was 17,072,128 bytes with a CRC32 of 116A27FA.

nyuu

So I then redownloaded it and put it on a different drive and tried to run it again. This time it just gives a stackdump with no error reported.

error

animetosho commented 7 months ago

Mine was 17,072,128 bytes with a CRC32 of 116A27FA.

That's the old broken build - those errors make sense then.

The same error occurring on your re-downloaded version doesn't make sense though - you did double-check that the EXE is correct?

If so, I don't know why your machine causes the JS heap to go corrupt. Maybe you can give the source-based version (below) a try.

nyuu-v0.4.1-win32-source.zip
You'll need to reference nyuu.cmd instead of nyuu.exe

dystopia2017 commented 7 months ago

So I just tried again using the source and it just does the stack trace instantly again. It really doesn't like this .rar file. You can just mark this as closed if you want.

same

animetosho commented 7 months ago

Really appreciate your effort in running all these tests :)

I'm interested in solving the problem (or at least identifying the cause) so long as you're willing to help.

To save you further trouble, are you able to reproduce the problem with that file on another machine? And/or with posting to a different server? If so, are you able to give me a copy of the file to test with?
Maybe you can also test with chopping the file to a smaller size to see if it still occurs, if you don't want to send me the full file, and/or with a different filename if you consider that sensitive.

dystopia2017 commented 7 months ago

https://mega.nz/file/1q0GHCzK#7-TH5Nyz5jVJlNEwqJNYVgqZS9qnoWTyMT1W03Jvue4 I put the file here if you want to play with it. it's the contents of file.rar

animetosho commented 7 months ago

Thanks for providing that!

Unfortunately, I'm unable to reproduce your issue. I tried both EXE and source versions, and even tried replicating your script and folder structure, as well as testing on a fresh Windows 10 install, but none showed any signs of failure.
Actually, that's not correct - I do consistently get:

T:\Skeen\Scripts\_Apps_\nyuu.exe: --max-old-space= is not allowed in NODE_OPTIONS

...so I find it even more bizarre that you don't get that error, given that this should trigger before Nyuu actually does anything (i.e. before it even considers the filename, meaning that what files you're trying to post should be irrelevant).

(removing the NODE_OPTIONS line makes it work for me)

I've got no clue what the problem is here - I can't really make much sense out of your results unfortunately. It might just be your machine?

dystopia2017 commented 7 months ago

Yeah it's some weird glitch in the matrix. Maybe it's something with my machine. Any thank you for helping me and looking into the issue.