When trying to migrate my main application from OI v9.4.6 to OI v10.1.0.0 everything runs fine except for 1 error:
Error writing "INSIDECH*DLLSTRUCTHOSTENT" [REP120 - Inherited entity SYSPROG*DLLSTRUCTHOSTENT cannot be modified.]
What should/can I do to fix it?
Thanks a lot in advance for any hints.
Stefano
When trying to migrate my main application from OI v9.4.6 to OI v10.1.0.0 everything runs fine except for 1 error:
Error writing "INSIDECH*DLLSTRUCTHOSTENT" [REP120 - Inherited entity SYSPROG*DLLSTRUCTHOSTENT cannot be modified.]
What should/can I do to fix it?
Thanks a lot in advance for any hints.
Stefano
Hi, Stefano. Is there a difference between the one in your INSIDECH app and the default one that's in SYSPROG?
- Bryan Shumsky
Hi Bryan, how can I check if there's a difference between the 2?
Hi Bryan, how can I check if there's a difference between the 2?
Just open them side by side in the system editor. Open Record, SYSPROCS, DLL_DEF*APP and DLL_DEF.
World leaders in all things RevSoft
… can't find, neither one nor the other. I'm getting kind of embarrassed :sad:
… can't find, neither one nor the other. I'm getting kind of embarrassed :sad:
No, I was slightly misleading sorry. Didn't read it well enough.
The actual error message is complaining that it can't create a SYSREPOS entry not a struct.I would suspect that this is an error in the conversion that happens when there is a struct in sysprog and the same named struct in the app. BUT as HOSTENT seems to ship with the product I'm fairly confident Rev will have to resolve this.
World leaders in all things RevSoft
Thanks a lot Andrew.
Is there anyone at Rev willing to dig into it? By the way, the OpenInsight 10.0 Converter Quick
Start Guide, Version 1.0, on page 27 of 44, at the bottom, shows exactly the same error…
Cheers
Hi, Stefano.
You can access the structure by using Open/Record, table SYSOBJ, record name STRUCT_HOSTENT and STRUCT_HOSTENT*<appid>.
Please see if you can find them that way, and see if they are the same or different?
Thanks,
- Bryan Shumsky
Hi Bryan, thanks, in SYSOBJ I can only find STRUCT_HOSTENT and STRUCT_WIN32_HOSTEND. There is no trace of STRUCT_HOSTENT*INSIDECH.
We are currently testing 9.4 to 10.1 conversions/migrations on our web server OI and main server OI.
The main OI server migration is still running but the web server finished with
- no scan_rep issues for our application, and
- this same issue …
Error writing "WEBTEST*DLLSTRUCTHOSTENT" [REP120 - Inherited entity SYSPROG*DLLSTRUCTHOSTENT cannot be modified.]
our SYSOBJ table has a record for STRUCT_HOSTENT but there is no STRUCT_HOSTENT*WEBTEST
as a test, we copied the contents of SYSOBJ record ( STRUCT_HOSTENT ) to a new SYSOBJ record we named "STRUCT_HOSTENT*WEBTEST". As we don't have any STRUCT_… records in SYSOBJ that point to an application we were not sure if the structure "struct_hostent*<appid>" was correct or not. The end result was we got the same error in our migration's "Migrating C-Structures" tests.
Hi Michael,
Migrating the STRUCT_ records from a v9 application to v10 is a bit of a minefield for these reasons:
1) They might not be 64-bit compliant
2) They exist "outside" of the application inheritance chain in v9 whereas in v10 they are full first-class repository citizens.
3) Developers sometimes modify the core Rev definitions directly (usually with DLL Prototype records) and this can cause issues.
During the migration process the v9 SYSOBJ table scanned for "STRUCT_" records - the problem is that it doesn't know what application they "belong" to so it attempts to bring them into the application you are migrating and flags it for attention to basically saying "is this correct?". After the migration you can review and delete them as appropriate.
In the case of HOSTENT it's already there in the v10 SYSPROG account (and 64-bit safe) so an overwrite is prevented. The bottom line is you can ignore this error.
IIRC think the HOSTENT structure is something of a special case as all of the DLL prototypes and structures that are supplied by Revelation are now prefixed "MSWIN_". Those are the ones that you shouldn't try and overwrite in your own applications.
Regards
Thanks for you explanation Carl, we'll ignore this error.