mgear-dev / mgear_dist

mGear v.3.x.x distribution repository
http://www.mgear-framework.com/
MIT License
184 stars 53 forks source link

2019 OSX builds - crash during build from selection #29

Open liorbenhorin opened 5 years ago

liorbenhorin commented 5 years ago

Hello! - hope this is the correct place for this :) I just finished building the plug-ins for Maya 2019 on OSX.

Description When I import the template biped guide, and 'build from selection' - Maya crashes mid-way into the build.

What is working:

p.s Build of the plug-ins seem to work perfect on 2018 OSX

To Reproduce

image

The error does not say much, not the standard Maya fatal error:

image

Additional information built plugins: https://www.dropbox.com/s/imdxbs1s22u1ior/2019-osx-plug-ins.zip?dl=0 scons build log: https://www.dropbox.com/s/glonggxthhfuw3y/scons-build-log.txt?dl=0

Osx 10.14 Maya 2019 SCons 3.0.1 installed with brew

EDIT:

Further testing shows that the crash is related to the arm_2_jnt01 and leg_2_jnt01. When these modules are deleted from the template, the build completes successfully.

Investigation continues...

EDIT 2:

Building with 'objects' mode works, any mode above will crash.

image

So far this actually looks like a 2019 OSX issue, and not related to the plug-ins themselves, but this is just a gut feeling.

miquelcampos commented 5 years ago

@liorbenhorin Thanks for sharing this info. To be honest, I didn't test it in OSX with Maya 2019 I will try to ask some colleagues to see if someone can help with this Thanks, Miquel

EDIT:

Oh I see this in the log: OPENMAYA_DEPRECATED(2019, "Use the other constructor instead.") Maybe this is the root of the issue

dmtbkv commented 5 years ago

I had the same experience on macOS 10.13.6 Maya 2019 It seems to work when Guide Settings > Add Internal Proxy Channels is off, it crushes when is on. On linux Maya 2019 works fine with Add Internal Proxy Channels on

miquelcampos commented 5 years ago

Ops! I completely misunderstood the issue :( (I should not read this things in a rush, sorry)

The problem is not at plugins compile time. but later at guide build time. correct?

liorbenhorin commented 5 years ago

@miquelcampos correct.

Same happens for me:

It seems to work when Guide Settings > Add Internal Proxy Channels is off, it crushes when is on.

miquelcampos commented 5 years ago

@liorbenhorin thanks for the confirmation Do you know if Maya 2019 OSX has any issue with proxy channels?

dmtbkv commented 5 years ago

I haven't had any issues with Maya 2019 proxy channels on macOS.

miquelcampos commented 5 years ago

This is going to be hard to debug for me since I don't have Maya 2019 in OSX env :(

@liorbenhorin @jollypixel can you help with this?

Thanks Miquel

liorbenhorin commented 5 years ago

I will definitely take a look as soon as I have a couple of hours

miquelcampos commented 5 years ago

Thanks!

dmtbkv commented 5 years ago

@miquelcampos Yes, of course :)

miquelcampos commented 5 years ago

thanks!

dmtbkv commented 5 years ago

It doesn't crush when this is commented out in arm_2jnt_01/init.py ''' attribute.addProxyAttribute( attrs_list, [self.fk0_ctl, self.fk1_ctl, self.fk2_ctl, self.ik_ctl, self.upv_ctl, self.mid_ctl]) attribute.addProxyAttribute(self.roll_att, [self.ik_ctl, self.upv_ctl]) ''' If I uncomment this Maya crushes whitout even trying to save a temp file ''' attribute.addProxyAttribute(self.roll_att, [self.ik_ctl, self.upv_ctl]) ''' I tryied leaving only one object (instead of a list) and it doesn't crush, but the proxy attribute doesn't have a name?! ''' attribute.addProxyAttribute(self.roll_att, self.ik_ctl) ''' Yet attribute.addProxyAttribute() works fine when I run it in the script editor. I'll keep looking

dmtbkv commented 5 years ago

On closer inspection... // Error: file: /Applications/Autodesk/maya2019/Maya.app/Contents/scripts/others/dynRenameAttrWin.mel line 277: Target objects must be specified in "node.attribute" format //

Screen Shot 2019-04-10 at 20 46 47

dmtbkv commented 5 years ago

It works with "Use Classic Channel Names" off and one object instead of a list

dmtbkv commented 5 years ago

Just run this on five objects (the last one had an attribute "test" and works fine.

import pymel.core as pm from mgear.core import attribute attribute.addProxyAttribute(pm.selected()[-1].test, pm.selected()[:-1])