• Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
Question by BlockFade · Aug 20, 2017 at 04:15 AM · c#editorbugbug reportbeta

Access Violation (Read from location 00000000 caused an access violation)

I have a editor script I call FastSceneCreator which converts scenes into a prefab.
Here is the script:

   public class FastSceneCreator : EditorWindow
     {
         [MenuItem("UNDERUNITY/Convert to Fast Scene %#.", false, 0)]
         public static void Convert()
         {
             // EditorUtility.DisplayDialog("Convert to Fast Scene", "Converting...", "Okay");
             CreateScenePrefab(new GameObject(SceneManager.GetActiveScene().name).transform);
         }
     
         public static void CreateScenePrefab(Transform p)
         {
             p.gameObject.AddComponent<FastScene>();
             GameObject[] gameobjects = GameObject.FindObjectsOfType<GameObject>();
             for (int i = 0; i < gameobjects.Length + 1; i++)
             {
                 if (i < gameobjects.Length)
                 {
                     if (gameobjects[i].transform.parent == null)
                     {
                         gameobjects[i].transform.SetParent(p);
                         continue;
                     }
                 }
                 else
                 {
                     if (AssetDatabase.LoadAssetAtPath<GameObject>(SceneManager.GetActiveScene().path.Replace(".unity", "") + ".prefab") != true)
                     {
                         PrefabUtility.CreatePrefab(SceneManager.GetActiveScene().path.Replace(".unity", "") + ".prefab", p.gameObject);
                     }
                     else
                     {
                         p.GetComponent<FastScene>().Additive = AssetDatabase.LoadAssetAtPath<GameObject>(SceneManager.GetActiveScene().path.Replace(".unity", "") + ".prefab").GetComponent<FastScene>().Additive;
                         PrefabUtility.ReplacePrefab(p.gameObject, AssetDatabase.LoadAssetAtPath<GameObject>(SceneManager.GetActiveScene().path.Replace(".unity", "") + ".prefab"), ReplacePrefabOptions.ReplaceNameBased);
                     }
                     RemoveChildrenAndDelete(p);
                     break;
                 }
             }
         }
     
         public static void RemoveChildrenAndDelete(Transform p)
         {
             EditorUtility.DisplayDialog("Convert to Fast Scene", "Finishing things up...", "...");
             p.DetachChildren();
             if (Resources.Load<FastSceneSettings>("fastsettings").NotifySceneConvert == true)
             {
                 EditorUtility.DisplayDialog("Convert to Fast Scene", "Scene successfuly converted.", "Okay");
             }
         }
     }



When I use the Convert to Fast Scene menu item, the editor hangs without going into "Not Responding", then it crashes.
If you need the error log, tell me!

Comment

People who like this

0 Show 2
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image TheSOULDev · Aug 20, 2017 at 04:00 PM 0
Share

You need to properly format your code, no one can decipher this bunch of trash in red text. Access violation means you're touching things you're not supposed to touch - you need to check your memory access.

avatar image BlockFade TheSOULDev · Aug 20, 2017 at 08:33 PM 0
Share

I fixed it now. (The formatting of the code)

1 Reply

  • Sort: 
avatar image

Answer by christoph_r · Aug 20, 2017 at 10:40 PM

I'd say for (int i = 0; i < gameobjects.Length + 1; i++) in line 14 appears to be the issue.

Comment
BlockFade
Quatum1000

People who like this

0 Show 6 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image BlockFade · Aug 20, 2017 at 10:55 PM 0
Share

Oh! Thanks! You made me realize that the Array "gameobjects" was filled by the children of the parent object, and when I set the parent of the child to another one, the gameobject in the array was set to null, so the loop was still iterating over the null! That's just a theory though, I'll go test out the new code, and tell you if it worked!

avatar image christoph_r · Aug 21, 2017 at 12:37 AM 0
Share

If you iterate until i is equal to gameobjects.Length (which you are doing according to that line), you will read beyond the array, which causes an access violation.

avatar image adrienPlayerium christoph_r · Aug 21, 2017 at 12:59 AM 2
Share

@christoph_r if you read the for loop he does some weird stuff when reaching the length of the array, he doesn't iterate on gameobjects beyond its length.

avatar image bobisgod234 adrienPlayerium · Aug 21, 2017 at 01:15 AM 2
Share

On top of that, accessing an array with an out of bounds index should only throw a managed IndexOutOfRangeException, certainly not result in an access violation or unity crashing.

Show more comments
Show more comments

Unity Answers is in Read-Only mode

Unity Answers content will be migrated to a new Community platform and we are aiming to launch a public beta by June 9. Please note, Unity Answers is now in read-only so we can prepare for the final data migration.

For more information and updates, please read our full announcement thread in the Unity Forum.

Follow this Question

Answers Answers and Comments

380 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Unity3D Editor frozen after waking up PC from power save mode? 2 Answers

Multiple Cars not working 1 Answer

Tons of weird Script compilation errors / editor delays 0 Answers

Distribute terrain in zones 3 Answers

TextMeshPro Object not updating in real time 0 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges