bug repport: dae2egg crash

Hi.

I’m just received some news collada file that I tried to convert.

created by 3dsmax and exported with the open collada plugin
The coherency checker think they’re good.
But the dae2egg ( 1.7.0 version) crash.

Reading /c/Users/Snorky/Desktop/WRONGC~1/door_3ds10x64_opencollada.dae
Assertion failed: csource->GetStride() == 4, file c:\panda3d-1.7.0\pandatool\src
\daeegg\daeToEggConverter.cxx, line 418

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

I don’t know what feature this mesh has, but if I try to export it with an autodesk collada plugin ( which is a very bad collada plugin: coherency checker found eror in the dae created) the mesh export, but crash if I try to pview it:

Loading ../../Users/Snorky/Desktop/wrong collada/door_3ds10x64_autodesk_collada.egg
Assertion failed: length_sq != 0.0f at line 209 of c:\panda3d-1.7.0\panda\src\linmath\lmatrix4_src.cxx
Assertion failed: Attempt to compute inverse of singular matrix! at line 1514 of c:\panda3d-1.7.0\built\include\lmatrix4_src.I
Error in ../../Users/Snorky/Desktop/wrong collada/door_3ds10x64_autodesk_collada.egg at line 67, column 18:
          -1.#QNAN -1.#QNAN -1.#QNAN
                 ^
parse error
:egg2pg(error): Error reading ../../Users/Snorky/Desktop/wrong collada/door_3ds10x64_autodesk_collada.egg
:loader(error): Couldn't load file ../../Users/Snorky/Desktop/wrong collada/door_3ds10x64_autodesk_collada.egg: invalid.
Unable to load ../../Users/Snorky/Desktop/wrong collada/door_3ds10x64_autodesk_collada.egg

If I import the dae into maya and them rexport it, no more crash, but I get a triangle soup with nothing to do with the original mesh.

I’m investigating this using on my side. But I think the crash on the dae2egg ( or on pview of the mesh) shouldn’t append.

I can send privately the mesh if needed

EDIT: if I import the dae into 3dsmax and then export using panda plugin, everything is fine

a bit more information:

I found that these line are problematic:

<float_array id="geom-Object01-map-1-array" count="84">1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1</float_array>
          <technique_common>
            <accessor source="#geom-Object01-map-1-array" count="28" stride="3">
              <param name="R" type="float"/>
              <param name="G" type="float"/>
              <param name="B" type="float"/>
            </accessor>
          </technique_common>

if I change it to:

<float_array id="geom-Object01-map-1-array" count="112">1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1</float_array>
          <technique_common>
            <accessor source="#geom-Object01-map-1-array" count="28" stride="4">
              <param name="R" type="float"/>
              <param name="G" type="float"/>
              <param name="B" type="float"/>
              <param name="A" type="float"/>
            </accessor>
          </technique_common>

then the dae2egg doesn’t crash

Could you email me the .dae file that makes dae2egg crash?

of course.
I just send one of the dae. (don’t worry about the texture)

ok

new bug about dae2egg.

these collada ( created by 3dsmax + openCOllada1.2.5) are fine in other application. but loaded in pview ( or dae2exe) they get dislocated: each part of the building is separted:

what pview show:

it’s hard to see without any texture, but the building is clearly separated in two part, and the ‘tower’ is merged into one part)