Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0001233LuxRenderCorepublic2012-05-14 21:152013-05-21 14:33
ReporterAGriffiths 
Assigned Tojeanphi 
PriorityhighSeveritycrashReproducibilityalways
StatusfeedbackResolutionopen 
PlatformPCOSWindows x64OS Version7
Product Version1.0RC1 
Target Version1.3Fixed in Version 
Summary0001233: Unable to process a scene using DAZ 3D Millenium Dragon 2
DescriptionTwo issues, related to using DAZ 3D Millenium Dragon 2. Rendering from DAZ Studio 4 Pro x64 via Reality 2.2 plugin to LuxRender x64 1.0RC1 (2nd release of RC1).

Issue 1 - I have an existing scene with 2 DAZ's Millenium Dragon 2 and a whole bunch of other stuff. Send it to Lux via your Reality Plugin. Lux Opens up and starts to load the scene. It gets stuck in Lux when 'Applying 1 levels of loop subdivision ...' for the shape associated with the 'SPIKES' parameter. I have narrowed down the line of code in Lux to line 301 of loopsubdiv.cpp (luxlib\core) and more specifically the call to gamma(v[i]->valence() when i = 25,575 (always the same index). It goes into the do {} while loop at line 217 of loopsubdiv.h abd never comes out because f is never equal to startFace.

However, if I set the SPIKES parameter to any non-zero value (e.g. 0.001) then the issue does not occur. Even more bizarre is that this happens with only 1 of the two instances of MilDrag 2 in the scene.

Issue 2 - Again using DAZ's Millenium Dragon 2 - in a brand new DAZ scene (I did this to hopefully eliminate the possibility of my original scene from issue one being the cause). Render to Lux as usual, Lux loads, opens scene successfully this time, however Lux gets to the point of preprocessing and crashes. This time the location is at line 222 in qbvhaccel.cpp (luxrays\src\accelerators) because binId is -2147483648 (0x80000000) - obviously out of range and thus causes an Access Violation. In this case i is always 8138 and primsCentroids[primIndex][axis] has NaN values for x, y, & z.

Regards,
Andy
Steps To ReproduceIssue 1 - Load scene rs-22-1.lxs in LuxRender. Scene will load an then endlessly loop when the log says 'Shape 0000005 (plymesh): Applying 1 levels of loop subdivision to 28776 triangles'

LuxIssue1.zip

Issue 2 - Load scene rs-22-2.lxs in LuxRender. LuxRender will load the scene and crash whe it gets to the rendering stage.

LuxIssue2.zip - Trying to upload, but 5MB limit causing issues.
Additional InformationRunning Windows 7 x64
DAZ Studio 4.0.3.47 x64 Pro
Reality 2.20.1.117 x64
LuxRender 1.0RC1 x64 dated 20th April 2012 - The second build of RC1 - Used the 'lux-d48df2ee119a' source code to build debug version.

AMD Phenom II X6 1055T 2.80 GHz 6 core CPU
AMD Radeon HD 6990 Dual GPU, 4GB GDDR5 Video Memory
16GB RAM
TagsNo tags attached.
Mercurial Changeset #
Requires Documentation UpdateNo
Requires Exporter Update
Attached Fileszip file icon LuxIssue1.zip [^] (4,981,113 bytes) 2012-05-14 21:15
zip file icon LuxIssue2.zip [^] (4,261,568 bytes) 2012-05-14 21:17

- Relationships

-  Notes
(0003412)
Lord Crc (administrator)
2012-05-15 15:17

From what I can gather, issue 1 is due to numerical issues. It seems some of the vertices are just too close to each other.

In at least one case a subdivided vertex, which should be between the two source vertices, actually ends up being located at the exact position of one of the source vertices.

This creates a degenerate triangle which the code fails to identify and handle.

I haven't looked into issue 2 yet.
(0003413)
AGriffiths (reporter)
2012-05-15 23:27

Thanks for the feedback. That makes sense - The SPIKES are set to a value of 0 which morphs them to a position where the are not seen. So by setting the parameter to 0.001 was just enough to avoid that issue. I guess that the rotation/scale of the character must have played a big factor in causing this as well. That would be called Murphy's law.

Thanks,
Andy
(0003440)
AGriffiths (reporter)
2012-06-23 10:42
edited on: 2012-06-23 10:43

Not wishing to be a pain, but has there been any progress on these issues?

Lookng forward to trying this scene out with Lux, but need the fixes.

Cheers,
Andy

(0003441)
Lord Crc (administrator)
2012-06-27 02:35
edited on: 2012-06-27 02:48

Unfortunately this is a tricky issue.

I managed to change some code so that it handles the numerical precision issues better, however this is just a bandaid fix.

I would like to make the code properly handle degenerate edges, so that it will never crash for geometry like yours. I'm still working on that.

The fix for issue 1 may or may not solve issue 2, so I will have to wait with the investigation into that until 1 is resolved.

(0003442)
AGriffiths (reporter)
2012-06-27 08:37

Much appreciated - thanks for the update.

Cheers,
Andy
(0003458)
Lord Crc (administrator)
2012-07-05 02:56

I think I'll solve issue 1 by detecting the erroneous condition and simply prevent further subdivision. We may later make the code more robust to these conditions, however for now this should prevent the infinite loops.

I've not yet figured out exactly how to handle issue 2. I know what the problem is, so hopefully I can figure out something soon.
(0003459)
AGriffiths (reporter)
2012-07-05 19:44

Thanks for the update - much appreciated.
(0003941)
jeanphi (administrator)
2013-05-21 14:33

Issue 1 should now be fixed (I can render the scene here in GPU mode.
Issue 2 seems to be fixed too, Lux now aborts with a nice error message when doing hybrid rendering, and renders ok on CPU.

- Issue History
Date Modified Username Field Change
2012-05-14 21:15 AGriffiths New Issue
2012-05-14 21:15 AGriffiths File Added: LuxIssue1.zip
2012-05-14 21:17 AGriffiths File Added: LuxIssue2.zip
2012-05-14 22:43 Lord Crc Assigned To => Lord Crc
2012-05-14 22:43 Lord Crc Status new => assigned
2012-05-15 15:17 Lord Crc Note Added: 0003412
2012-05-15 23:27 AGriffiths Note Added: 0003413
2012-06-23 10:42 AGriffiths Note Added: 0003440
2012-06-23 10:43 AGriffiths Note Edited: 0003440 View Revisions
2012-06-27 02:35 Lord Crc Note Added: 0003441
2012-06-27 02:48 Lord Crc Note Edited: 0003441 View Revisions
2012-06-27 08:37 AGriffiths Note Added: 0003442
2012-07-05 02:56 Lord Crc Note Added: 0003458
2012-07-05 19:44 AGriffiths Note Added: 0003459
2012-08-21 07:12 jeanphi Target Version => 1.0
2012-09-11 06:07 jeanphi Target Version 1.0 => 1.1
2012-10-08 00:19 jeanphi Target Version 1.1 => 1.2
2013-02-25 05:11 jeanphi Target Version 1.2 => 1.3
2013-05-21 14:31 jeanphi Assigned To Lord Crc => jeanphi
2013-05-21 14:33 jeanphi Note Added: 0003941
2013-05-21 14:33 jeanphi Status assigned => feedback


Copyright © 2000 - 2012 MantisBT Group
Powered by Mantis Bugtracker