Main bug.
A new user can't at all connect and get a blank screen.
This without crash.
If the user have an analyser he will find that tiki has sent this code
<html><header</header><body></body></html>
Note : I had redacted this before a commit but I used the "close button" of "code" plugin which have cut off a large part of my text, and I had a net cutoff just after. So I reproduce here (main page) my solution (which have been detailed in comments). Later Chealer got on the subject.
Probably and surely avoid that $_SESSION'attributes' should be not null, but not only in my opinion.
But as the developer writing, when user is null (new one) the instruction
array_merge($prefs, $_SESSION['attributes'])
has the aim to keep $prefs values even $_SESSION'attributes' is empty (first start)
The fact that array_merge($prefs, $_SESSION'attributes') returns "null" for any reason (bug in SESSION old DATA etc...), is always an error (if an array is null the instruction array_merge returns an array null in any case).
So the right instruction which answers to the developer aim is (because $prefs can't be null)
if (! is_null ($_SESSION['attributes']))array_merge($prefs, $_SESSION['attributes']);
I commit this changes the 19th which has been immediately rewind to be sure that the bug remains...
I don't understand Chealer decision(see the comments).
Waiting for Chealer solution and remarks, may be I have not seen something.
To go farther... I let Chealer go on.
Spent near 12hours to find that in user_prefs.php if the data come from another version the $_SESSION'attributes' is a null area.
when merged with prefs default we get null prefs which automatically crashes the execution.
To help developers solve the bug, we kindly request that you demonstrate your bug on a show2.tiki.org instance. To start, simply select a version and click on "Create show2.tiki.org instance". Once the instance is ready (in a minute or two), as indicated in the status window below, you can then access that instance, login (the initial admin username/password is "admin") and configure the Tiki to demonstrate your bug. Priority will be given to bugs that have been demonstrated on show2.tiki.org.
To help developers solve the bug, we kindly request that you demonstrate your bug on a show.tikiwiki.org instance. To start, simply select a version and click on "Create show.tikiwiki.org instance". Once the instance is ready (in a minute or two), as indicated in the status window below, you can then access that instance, login (the initial admin username/password is "admin") and configure the Tiki to demonstrate your bug. Priority will be given to bugs that have been demonstrated on show.tikiwiki.org.