Color Picker in a Group change color Undo crash
Closed, ResolvedPublic

Description

win32, r45474

repeatable, with some options

1st try

Load ColorPicker_Undo_Crash.blend

- change in small 3d View to Rendered
- click on "Refl. Ammount" color and change the color few times (not leaving Color Picker - "CP")
- click somewhere to leave CP
- Ctrl+Z ("Undo"). It must be not on the FIRST chosen color (maybe it's normal I don't know)
- click on "Refl. Ammount" color and change the color few times ... till it crash

I tried on GPU rendering (Supported of course) and on CPU. Seems that on GPU it crashes quicker than on CPU.

2nd try

Reload .blend

- select the group in nodes, Alt+G, repeat the same "spell" (change Glossy BSDF Color)... no crashing

- select all before Material Output, Ctrl+G (Group), enter this group, connect Glossy BSDF to the left, exit the group
- repeat "crash sequence"... it will crash but not so fast (as on the 1st try). Try to click and drag on CP after Undo - it will crash (it's a "booster")

3rd try

load *3rdTry.blend

- repeat "crash sequence" (change any Color of the group). On my experience it crashes faster than the previous try. Here are two BSDF connected instead of one.

4th try

load *4thTry.blend Look to the group's connections...

- repeat "crash sequence". It will crash not counting that these colours aren't acting but Cycles is still refreshing on changes.

Details

Type
Bug

I have not yet been able to redo the crash, but I can see from valgrind that there is a threading issue here with material preview render using data freed by undo. That would explain why the crash is affected by sort of random things, threading issues depend on timing of clicks and operations.

Brecht, how can I traceback this? I'm not familiar with "tracebacking" so if you have some wiki (or just simple step-to-step directions) then I'll do it.

It's not really necessary to make a backtrace, since the problem I found is likely the same issue you had, but there's some info on that here:
http://wiki.blender.org/index.php/Dev:Doc/Tools/Debugging/GDB

Brecht, I asked on BA forum "how to debug on Win XP" but still no answer. I would like to help with this but I can't install Linux (in closest two months - for sure) and I don't know what program I need to use on WinXP and what to write in console or whatever is necessary.

Fix in svn, thanks for the report.

Missed your reply, but yes, getting a backtrace on Windows is difficult. In nearly all cases backtraces aren't very important though, if we have no way to redo it and there are no leads to investigate further, then it's useful, but in this case I had an idea where the problem was :)