trevorsandy / lpub3d

An LDraw™ editor for LEGO® style digital building instructions.
https://trevorsandy.github.io/lpub3d/
130 stars 19 forks source link

running LPub 3D scripted generates unclean program exits at random #737

Closed nathaneltitane closed 10 months ago

nathaneltitane commented 11 months ago

image

nathaneltitane commented 11 months ago

p.s.: process seems to finish correctly and instructions are generated as expected

might want to look at wrapping up the process tree nicely when run through CLI?

edit:

new output today:

156044 Segmentation fault      lpub3d24 --preferred-renderer "${renderer}" --projection "${projection}" --process-export --clear-cache --export-option "${export_option}" --pdf-output-file "${instructions_file}" "${instructions_model_path}" > "${sink}" 2>&1
trevorsandy commented 10 months ago

Thank you for reporting this behaviour.

On both Windows and Unix-based systems, the CLI is used heedlessly to run a build check with 7 scenarios - I have not seen any random abnormal ends.

If the source of the abnormal end is indeed LPub3D then it would be triggered within LPub3D from either a bug or a malformed configuration which could include the command line supplied arguments. Without information about or access to the configuration scheme and no knowledge about how to consistently trigger the unexpected abnormal end, there is not enough information to action this ticket.

might want to look at wrapping up the process tree nicely when run through CLI?

LPub3D does not actively engage (i.e. spawn any children) in a manner that would interfere with the systematic closure of the child when the parent terminates. In fact, for CLI calls, not withstanding at startup, 3rd party renderer calls are the only external child process calls I can think of. These calls are handled by QProcess start and are formalized by waitForFinished which uses a user configurable wait timeout. With this framework. I do not see the likelihood of an abnormal end being triggered by a child process as the termination chain flows down not up.

Cheers,

nathaneltitane commented 9 months ago

Hello Trevor, seems the issue is happening yet again: this issue happens at random through a batch of instructions being generated. Som e instructions complete and other fail as a segfault:

here is the issue again:

[ ⎼ ] Generating.../home/nathanel/.local/bin/frobulator: line 1550: 1504854 Segmentation fault (core dumped) lpub3d24 --preferred-renderer "${renderer}" --projection "${projection}" --process-export --clear-cache --export-option "${export_option}" --pdf-output-file "${instructions_file}" "${instructions_model_path}" > "${sink}" 2>&1

for better context here i can mail you the model and the command line argument used with my l2cu utility to see what's happening.