Project settings are lost in 8858.

I Just shut down 8823 and loaded a project in 8858 that loaded the same project I was working in. Bad news :(

Key settings were lost:

Sources (path definition of Content root) are gone.
Dependencies are gone!!!! (libraries, jars)

Still there:
Web facet
Spring facet


When reviewing the .iml files (using a backup), I noticed a few missing pieces (.ipr is ok):

... ... ]]>
...
a few thousand lines missing in the xml file.

I cannot find one single reason to think this was done by my machine (MBP), but can´t be sure.
I think this happened when opening the file.

Any project file migration in process when opening the file?

Thanks,
Gustavo.

8 comments
Comment actions Permalink

I´ve also noticed an exception:

Illegal url: 'intellijad://intellijad'
java.lang.AssertionError: Illegal url: 'intellijad://intellijad'

Thanks,
Gustavo


Illegal url: 'intellijad://intellijad'
java.lang.AssertionError: Illegal url: 'intellijad://intellijad'
at com.intellij.openapi.vfs.impl.VirtualFilePointerManagerImpl.a(VirtualFilePointerManagerImpl.java:104)
at com.intellij.openapi.vfs.impl.VirtualFilePointerManagerImpl.create(VirtualFilePointerManagerImpl.java:72)
at com.intellij.openapi.vfs.impl.VirtualFilePointerContainerImpl.create(VirtualFilePointerContainerImpl.java:50)
at com.intellij.openapi.vfs.impl.VirtualFilePointerContainerImpl.add(VirtualFilePointerContainerImpl.java:109)
at com.intellij.openapi.vfs.impl.VirtualFilePointerContainerImpl.readExternal(VirtualFilePointerContainerImpl.java:71)
at com.intellij.openapi.roots.impl.libraries.LibraryImpl.b(LibraryImpl.java:82)
at com.intellij.openapi.roots.impl.libraries.LibraryImpl.(LibraryImpl.java:42) at com.intellij.openapi.roots.impl.libraries.LibraryTableImplUtil.loadLibrary(LibraryTableImplUtil.java:4) at com.intellij.openapi.roots.impl.ModuleLibraryOrderEntryImpl.(ModuleLibraryOrderEntryImpl.java:5) at com.intellij.openapi.roots.impl.OrderEntryFactory.createOrderEntryByElement(OrderEntryFactory.java:21) at com.intellij.openapi.roots.impl.RootModelImpl.]]>(RootModelImpl.java:396)
at com.intellij.openapi.roots.impl.ModuleRootManagerImpl.loadState(ModuleRootManagerImpl.java:203)
at com.intellij.openapi.roots.impl.ModuleRootManagerImpl.loadState(ModuleRootManagerImpl.java:129)
at com.intellij.openapi.components.impl.stores.ComponentStoreImpl.a(ComponentStoreImpl.java:68)
at com.intellij.openapi.components.impl.stores.ComponentStoreImpl.access$000(ComponentStoreImpl.java:74)
at com.intellij.openapi.components.impl.stores.ComponentStoreImpl$1.run(ComponentStoreImpl.java:4)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:20)
at com.intellij.openapi.components.impl.stores.ComponentStoreImpl.initComponent(ComponentStoreImpl.java:112)
at com.intellij.openapi.components.impl.ComponentManagerImpl.a(ComponentManagerImpl.java:37)
at com.intellij.openapi.components.impl.ComponentManagerImpl.access$1100(ComponentManagerImpl.java:111)
at com.intellij.openapi.components.impl.ComponentManagerImpl$ComponentConfigComponentAdapter$1.getComponentInstance(ComponentManagerImpl.java:6)
at com.intellij.openapi.components.impl.ComponentManagerImpl$ComponentConfigComponentAdapter.getComponentInstance(ComponentManagerImpl.java:23)
at com.intellij.util.pico.DefaultPicoContainer.getLocalInstance(DefaultPicoContainer.java:230)
at com.intellij.util.pico.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:217)

0
Comment actions Permalink

I just installed IDEA 8.0 EAP for the first time in many months to kick the
tires (build 8858). Last time I tried I hit a showstopper problem so gave
up on it. This time around isn't looking too good so far either, I've been
bitten by the same problem as you. It's a disaster to say the least, seems
every single one of my 50+ .iml files has been stripped back to the bare
minimum. Ouch...

Here's what I've discovered:

If I quit IDEA, check one or more of the truncated iml files back out from
the codestore and restart IDEA, the file gets truncated again towards the
end of the startup/project loading process. If on the other hand I go into
the project settings and assign the content root manually, src directories
etc, then quit/restart IDEA, the settings stick.

Comparing the two iml files (from codestore vs the new IDEA 8.0 generated
one) doesn't show any obvious discrepancies/differences. Assuming that is
indeed the case, why do the iml files configured in IDEA 8.0 manage to retain
their settings OK? Is there something extra added to the .ipr file? I can't
see anything of note.

This bug is a complete showstopper, there's no way I'm planning on recreating
all my modules from scratch. Anyone know of a workaround?

Chris

PS: Yep I'm seeing the Illegal url: 'intellijad://intellijad' exception too.


I Just shut down 8823 and loaded a project in 8858 that loaded the
same project I was working in. Bad news :(

Key settings were lost:

Sources (path definition of Content root) are gone. Dependencies are
gone!!!! (libraries, jars)

Still there:
Web facet
Spring facet
When reviewing the .iml files (using a backup), I noticed a few
missing pieces (.ipr is ok):

<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_5"
inherit-compiler-output="false">
<output
url="file://$MODULE_DIR$/out/exploded/xywweb/WEB-INF/classes" />
<output-test url="file://$MODULE_DIR$/out/test/production" />
..
<content url="file://$MODULE_DIR$">
..
<orderEntry type="module-library">
<library>
<CLASSES>
<root
url="jar://$MODULE_DIR$/lib/aopalliance/aopalliance.jar!/" />
</CLASSES>
..
a few thousand lines missing in the xml file.

I cannot find one single reason to think this was done by my machine
(MBP), but can´t be sure. I think this happened when opening the file.

Any project file migration in process when opening the file?

Thanks,
Gustavo.



0
Comment actions Permalink

It looks like the problem is caused by the following entry in an .iml file:

]]>

If I remove that before starting IDEA, I don't see the Illegal url: 'intellijad://intellijad'
exception, and the module doesn't get trashed. It took me a lot of time and
trial & error to figure that out and get everything working again, hope it
saves someone else the same pain!

Jetbrains: please try to harden the module parsing/loading so that if something
unexpected happens, the module file doesn't get overwritten.

Chris

I just installed IDEA 8.0 EAP for the first time in many months to
kick the tires (build 8858). Last time I tried I hit a showstopper
problem so gave up on it. This time around isn't looking too good so
far either, I've been bitten by the same problem as you. It's a
disaster to say the least, seems every single one of my 50+ .iml files
has been stripped back to the bare minimum. Ouch...

Here's what I've discovered:

If I quit IDEA, check one or more of the truncated iml files back out
from the codestore and restart IDEA, the file gets truncated again
towards the end of the startup/project loading process. If on the
other hand I go into the project settings and assign the content root
manually, src directories etc, then quit/restart IDEA, the settings
stick.

Comparing the two iml files (from codestore vs the new IDEA 8.0
generated one) doesn't show any obvious discrepancies/differences.
Assuming that is indeed the case, why do the iml files configured in
IDEA 8.0 manage to retain their settings OK? Is there something extra
added to the .ipr file? I can't see anything of note.

This bug is a complete showstopper, there's no way I'm planning on
recreating all my modules from scratch. Anyone know of a workaround?

Chris

PS: Yep I'm seeing the Illegal url: 'intellijad://intellijad'
exception too.

>> I Just shut down 8823 and loaded a project in 8858 that loaded the
>> same project I was working in. Bad news :(
>>
>> Key settings were lost:
>>
>> Sources (path definition of Content root) are gone. Dependencies are
>> gone!!!! (libraries, jars)
>>
>> Still there:
>> Web facet
>> Spring facet
>> When reviewing the .iml files (using a backup), I noticed a few
>> missing pieces (.ipr is ok):
>> > inherit-compiler-output="false"> >> > url="file://$MODULE_DIR$/out/exploded/xywweb/WEB-INF/classes" /> >> >> .. >> >> .. >> >> >> >> > url="jar://$MODULE_DIR$/lib/aopalliance/aopalliance.jar!/" /> >> >> .. >> a few thousand lines missing in the xml file. >> I cannot find one single reason to think this was done by my machine >> (MBP), but can´t be sure. I think this happened when opening the >> file. >> >> Any project file migration in process when opening the file? >> >> Thanks, >>]]> Gustavo.


0
Comment actions Permalink

Thanks a lot Chris for your hint.
I will try it later on today.

Gustavo.

0
Comment actions Permalink

Hello Chris,

I just installed IDEA 8.0 EAP for the first time in many months to
kick the tires (build 8858). Last time I tried I hit a showstopper
problem so gave up on it. This time around isn't looking too good so
far either, I've been bitten by the same problem as you. It's a
disaster to say the least, seems every single one of my 50+ .iml files
has been stripped back to the bare minimum. Ouch...

Here's what I've discovered:

If I quit IDEA, check one or more of the truncated iml files back out
from the codestore and restart IDEA, the file gets truncated again
towards the end of the startup/project loading process. If on the
other hand I go into the project settings and assign the content root
manually, src directories etc, then quit/restart IDEA, the settings
stick.

Comparing the two iml files (from codestore vs the new IDEA 8.0
generated one) doesn't show any obvious discrepancies/differences.
Assuming that is indeed the case, why do the iml files configured in
IDEA 8.0 manage to retain their settings OK? Is there something extra
added to the .ipr file? I can't see anything of note.

This bug is a complete showstopper, there's no way I'm planning on
recreating all my modules from scratch. Anyone know of a workaround?


Workaround: remove IntelliJad plugin.

--
Dmitry Jemerov
Development Lead
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"


0
Comment actions Permalink

Hmm, thanks for the pointer. I had already considered that IntelliJad was
the problem, but since it didn't show up in the list of installed plugins
(and it wasn't in my .IntelliJIdea80/plugins directory) I'd assumed it couldn't
be causing this after all. However it turns out the problem was caused by
a ]]> tag in .IntelliJIdea80/config/options/jdk.table.xml
which I guess was migrated over to IDEA 8.0 when I installed it, picking
up my 7.0 configuration on the way. I deliberately didn't move over my plugins
because I was expecting several of them to not work under 8.0 anyway. Looks
like that strategy might have backfired! :)

Thanks again Dmitry.

Workaround: remove IntelliJad plugin.



0
Comment actions Permalink

Hello Chris,

I just installed IDEA 8.0 EAP for the first time in many months to
kick the tires (build 8858). Last time I tried I hit a showstopper
problem so gave up on it. This time around isn't looking too good so
far either, I've been bitten by the same problem as you. It's a
disaster to say the least, seems every single one of my 50+ .iml files
has been stripped back to the bare minimum. Ouch...

Here's what I've discovered:

If I quit IDEA, check one or more of the truncated iml files back out
from the codestore and restart IDEA, the file gets truncated again
towards the end of the startup/project loading process. If on the
other hand I go into the project settings and assign the content root
manually, src directories etc, then quit/restart IDEA, the settings
stick.

Comparing the two iml files (from codestore vs the new IDEA 8.0
generated one) doesn't show any obvious discrepancies/differences.
Assuming that is indeed the case, why do the iml files configured in
IDEA 8.0 manage to retain their settings OK? Is there something extra
added to the .ipr file? I can't see anything of note.

This bug is a complete showstopper, there's no way I'm planning on
recreating all my modules from scratch. Anyone know of a workaround?


Workaround: remove IntelliJad plugin.


The proposed Workaround doesn't work at all, because the problem is, that IDEA tries to access the plugin in a way that doesn't work. The reason for this seems to be located inside the project settings, because even after deinstalling IntelliJad and after removing my .IntelliJIdea80, so that the 8858 has to start with a fresh new cache and everything, the problem still appears. (Exception and settings destroying)

I also would like to ask to review the project parsing code. How can a simple exception of a plugin access code destroy such basic user settings?

Besides: No idea of this is related but even working with the destroyed projects doesn't work, because if I want to repair the settings, idea starts to hang randomly. Most of the time I cannot even open the project settings without 100% cpu usage. This is under ubuntu btw. I am afraid that this eap is completely useless for me (which is a pity because of the great new features and bug fixes I've seen)

Andreas

0
Comment actions Permalink

Andreas, see my other post in this thread about an entry in jdk.table.xml,
if you remove that the problem goes away. I agree though, there's definitely
room for some improvements to the exception handling so this kind of thing
can't happen again.

Regards,
Chris

>>

>> Hello Chris,
>>> I just installed IDEA 8.0 EAP for the first time in many months to
>>> kick the tires (build 8858). Last time I tried I hit a showstopper
>>> problem so gave up on it. This time around isn't looking too good so
>>> far either, I've been bitten by the same problem as you. It's a
>>> disaster to say the least, seems every single one of my 50+ .iml
>>> files has been stripped back to the bare minimum. Ouch...
>>>
>>> Here's what I've discovered:
>>>
>>> If I quit IDEA, check one or more of the truncated iml files back
>>> out from the codestore and restart IDEA, the file gets truncated
>>> again towards the end of the startup/project loading process. If on
>>> the other hand I go into the project settings and assign the content
>>> root manually, src directories etc, then quit/restart IDEA, the
>>> settings stick.
>>>
>>> Comparing the two iml files (from codestore vs the new IDEA 8.0
>>> generated one) doesn't show any obvious discrepancies/differences.
>>> Assuming that is indeed the case, why do the iml files configured in
>>> IDEA 8.0 manage to retain their settings OK? Is there something
>>> extra added to the .ipr file? I can't see anything of note.
>>>
>>> This bug is a complete showstopper, there's no way I'm planning on
>>> recreating all my modules from scratch. Anyone know of a workaround?
>>>
>> Workaround: remove IntelliJad plugin.
>>

The proposed Workaround doesn't work at all, because the problem is,
that IDEA tries to access the plugin in a way that doesn't work. The
reason for this seems to be located inside the project settings,
because even after deinstalling IntelliJad and after removing my
.IntelliJIdea80, so that the 8858 has to start with a fresh new cache
and everything, the problem still appears. (Exception and settings
destroying)

I also would like to ask to review the project parsing code. How can a
simple exception of a plugin access code destroy such basic user
settings?

Besides: No idea of this is related but even working with the
destroyed projects doesn't work, because if I want to repair the
settings, idea starts to hang randomly. Most of the time I cannot even
open the project settings without 100% cpu usage. This is under ubuntu
btw. I am afraid that this eap is completely useless for me (which is
a pity because of the great new features and bug fixes I've seen)

Andreas



0

Please sign in to leave a comment.