View Issue Details

IDProjectCategoryView StatusLast Update
0007214VCOMPONENT-VKERNELSQLpublic2015-09-14 09:33
ReporterSteve AlbinAssigned ToRuslan Zasukhin 
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
PlatformALLOSALLOS VersionALL
Product Version 
Target Version5.8Fixed in Version5.8 
Summary0007214: Different SQL results for same database on Windows or Mac. Fixed by clone on Windows, but not on Mac
DescriptionOn a user database, I get correct results of a SELECT on Mac but incorrect on Windows. Diagnose database on Mac and All Right! Diagnose same database on Windows and problem with index in one table.

I cloned the database on the Mac, move the database to Windows and still get the same incorrect results. I clone the database on Windows, and the problem resolved.

I've never had inconsistent results moving a database between Mac and Windows.
Steps To ReproduceUse VStudio 5.8.6 on both platforms.

1) On Mac, perform this SQL:
Select distinct Sessions.recid, Sessions.dSessDate, sessions.bBool2, Sessions.nSessTypePtr, Sessions.nLabelPtr,
Sessions.bNoExceptions, Sessions.bNoReport, Sessions.dSessTime
FROM Sessions WHERE Sessions.recid IN (SELECT Players.nSessPtr FROM players WHERE Players.nArtistPtr = 3686 )
ORDER BY Sessions.dSessDate, Sessions.dSessTime, Sessions.recid

Session records retrieved = 259

2) Move the database to Windows and perform same SQL. This time, 66 records retrieved.

3) Clone database on Mac and get same results on Mac. Move cloned database to Windows and get same incorrect results as before. Diagnose on cloned database is ok on Mac but problems on Windows

4) Clone the same database on Windows and now I get consistent 259 records retrieved on same SQL. Diagnose reports database is ok.


I have never before had an issue where results on same database differ depending on platform.


My database is too big to upload via Mantis, but here is a Dropbox link for the database I used.
https://www.dropbox.com/s/pda3fc090hh0ptz/BrianDBlatest.vdb?dl=0
Additional InformationPossibly related:

http://www.valentina-db.com/bt/view.php?id=6956

This database is created and uses same schema as database created in report id 6956 where 10 year old index bug is fixed. I am now using version 5.8.6 which fixes issue reported in 6956, but maybe there was some underlying corruption that effects this.
TagsNo tags attached.

Activities

Steve Albin

Steve Albin

2015-08-29 21:30

reporter   ~0008264

On the database in question, I get this error in the diagnose:

Problems found! ( Field: nAxPtr , type ObjectPtr )

==========> Field: nArtistPtr , type ObjectPtr
==========> IndexFile
PAGE (0, 0) Inventory pages OK.
Index Inventory pages CORRUPTED. Some big page is not marked as first.


Problems found! ( IndexFile )


    
When I clone the database, the problem resolves and the diagnose is clean. As soon as I do a database reindex, the same problem comes back.

This is in Valentina Studio, not my app. Although, of course, my app is not working because of this error.

This problem only occurs using Windows. I run the same database on the Mac and do not get the error.

What bothers me is that I think this error is related to issue number 6956. The resolution of that error caused an announcement on the Valentina list asking developers to upgrade to avoid this problem. I did upgrade, but I think this issue is still at large.
Ivan Smahin

Ivan Smahin

2015-09-03 09:26

developer   ~0008265

Last edited: 2015-09-03 09:32

View 2 revisions

ver. 5.8.8

I did everything above + steps from http://valentina-db.com/en/discussions/index-inventory-pages-corrupted-some-big-page-is-not-marked-as-first.

The only issue I have found is:
After cloning db on the mac, diagnose on the win produces some problems (index errors for few varChar fields). All objectPtr fields are in good state.
The query above works well - both on win and mac (produces the same records).

Also, diagnose that db (healed on win) on the mac produces the same set of errors (varChar index).

Steve Albin

Steve Albin

2015-09-03 21:32

reporter   ~0008267

I will investigate further.

The only thing I would like to remind you is that after clone, I am not seeing any errors on the database. But, reindexing after the clone causes errors to appear in the diagnose on the Players table. At least for me! :-)

Also, as you state, after clone there are errors on some varchar fields. Is that considered acceptable? Seems like a problem.

The latest version of VStudio on Valentina-DB.com is listed at 5.8.6, but when I download it the version displayed in the Finder says 5.8.5. That is the version I was testing with.

Is 5.8.8 available in beta? I'll check and work with that. Maybe this problem is fixed in beta.
Steve Albin

Steve Albin

2015-09-03 21:33

reporter   ~0008268

I only see version 6 in beta.

I realize that your mention of 5.8.8 is probably a typo. Sorry.
Ruslan Zasukhin

Ruslan Zasukhin

2015-09-04 09:15

administrator   ~0008269

Hi Steve,

So, Ivan have sent me your DB indexed on Windows,
and I have debug it on Mac OS X, making diagnose for Artist.lname field,
because this is one of VarChar fields, which show something wrong in Diagnose.

In debugger I have to see that on index page 19, present 2 value, which are in wrong order.
I have extract this values and here they are

RecID 2284 Doyle
RecID 2369 D?rge

It is obvious that second word have typo in the second char.

Most probably windows and Mac OS X sort these words in different way because of this.


RESUME:

1) this is not a bug, which should be fixed.

2) I will try now improve Diagnose, to show RecIDs of such "wrong" 2 words. So user can easy enough self identify them in column.

3) After new build with such feature, you can be able find and fix such words.

4) May be can be found another way to check that each char of a word is LETTER.
 
5) This FIX will go into the next hotifx 5.8.x build (should be in few days from now)
Ruslan Zasukhin

Ruslan Zasukhin

2015-09-04 09:16

administrator   ~0008270

Latest release on site is 5.8.6

5.8.8 -- this is current bug-fix release in development.
Steve Albin

Steve Albin

2015-09-04 12:47

reporter   ~0008272

I have used the same database you have and cannot get any problem in the Artist table. I only get problems in the Players table.


The name in RecID 2369 is not a typo. It should read D?rge using an o with a slash. Maybe there is an encoding problem on my database, but it show fine for me on Windows and Mac.

I just tried again. I am using VStudio 5.8.6 on Windows 8. Windows 8 running on VMware on Mac.

1) Open database and run Diagnose. Diagnose shows problem on two objectptr fields in Players table:
 
==========> Field: nAxPtr , type ObjectPtr
==========> IndexFile
PAGE (0, 0) Inventory pages OK.
Index Inventory pages CORRUPTED. Some big page is not marked as first.


Problems found! ( IndexFile )


Problems found! ( Field: nAxPtr , type ObjectPtr )

==========> Field: nArtistPtr , type ObjectPtr
==========> IndexFile
PAGE (0, 0) Inventory pages OK.
Index Inventory pages CORRUPTED. Some big page is not marked as first.


Problems found! ( IndexFile )


Problems found! ( Field: nArtistPtr , type ObjectPtr )


2) Reindex database and no change. Diagnose shows same problems.

3) Clone database. Run diagnose. Diagnose shows no problems.

4) Reindex database. Run Diagnose. Diagnose show same two ObjectPtr field problems.


Performing a reindex of the database introduces problems in the table. I did nothing to the database between the clone and reindex.
Ruslan Zasukhin

Ruslan Zasukhin

2015-09-04 13:08

administrator   ~0008273

1) problem that we describe comes, as Ivan describes,
if REINDEX DB on windows, and later try diagnose it on MAC.
or reverse.

2) Not only Artist table is affected by this ... Few tables show VarChar trouble.


3) If that word is correct, then ... may be should be used another Locale Name, because now we see EN USA.
Ivan have try French, but that did not help.


4) may be this is not major trouble at all, at east for you, because after reindex on the same OS, indexes become all right.


5) Why you check this on Windows working in VM on Mac?
This trouble happens only on Windows?

what happens if do the same steps just on Mac?
Ruslan Zasukhin

Ruslan Zasukhin

2015-09-04 13:12

administrator   ~0008274

c1) Also Ivan asked to check your vcomponents DLLs...
May be you have catch some mess in vcomponents, and have old dlls.

In about Feb 2015 we did fix for ObjectPtrs indexes...


c2) And you have download DB by URL above?
     https://www.dropbox.com/s/pda3fc090hh0ptz/BrianDBlatest.vdb?dl=0
Steve Albin

Steve Albin

2015-09-04 15:42

reporter   ~0008275

Should I need to check dlls when using VStudio? I download VStudio off your site and install. It is not like my app where I need to build with vcomponents.

But, to be compliant, I reviewed the dlls and they appear to be correct.


I am using the database downloaded from the link mentioned in your last note.

If I download that database to the Mac, there is no problem with it.

When I download it to Windows, I get the problem as described in my recent note. Reindexing breaks the index using VStudio 5.8.6

The problem was discovered by one of my Windows users. To him, he was just getting a bad report. I think the underlying problem is the bad index. I can't seem to recreate the bad report on the Mac, but I can on Windows every time.

Further, when I use VStudio 5.5.8, I don't get this problem on Mac or Windows.


In about Feb 2015 you did do a fix for ObjectPtrs most likely on a bug report that I made. As least that is what you announced on the Valentina list. I renewed my license to get that fix and now I get this problem. This is why I think the problems are related.
http://www.valentina-db.com/bt/view.php?id=6956
Steve Albin

Steve Albin

2015-09-04 15:59

reporter   ~0008276

By the way, in my original report of this problem I was not seeing the full problem. I reported that cloning on Windows fixed the problem, but not on the Mac. The reason it appeared this way was because after cloning on the Mac, I would transfer the database to Windows, but without the .ind file. So, after the clone, the database would automatically get reindexed when opened. Of course, that would break the index. When cloning on Windows, I did not need to transfer the database, so there was no reindexing done and things appeared to be ok.

What made me discover the problem is when I would send the database back to my Windows user after cloning. I would send it back without the .ind file and he would reindex on opening the file and see bad results.

For some reason, the database is not as sensitive to the problem on the Mac, but that is not really an issue. I need to have this fixed for my Windows users.
Steve Albin

Steve Albin

2015-09-04 16:26

reporter   ~0008277

Up to now, I have only been investigating using the database I provided in this report. I just tried performing the steps with other user databases and I see that the same problem exists, but the fields reported on are different. In other words, with the database we are using in this report, I only see problems in the Players table. In other databases I have on hand, the problem report in the Artists table and other tables.

You report seeing problems in the Artist table that I do not see, but maybe there is something related to the local environment that causes that.

Also, the problem seems to be related to the size of the database. I have a very small database that I provide to users as a "starter" database. I can't recreate the problem on that database.

Make of this what you will. Baffles me! :-)
Ruslan Zasukhin

Ruslan Zasukhin

2015-09-04 16:28

administrator   ~0008278

Ivan can teach how to check what DLLs are loaded by some APP.

But you can try next. Trash vcomponents folder, Vstudio DO NOT use it.
  /Program Files/Paradigma Software/vcomponents_win_vc

After this, Vstudio will be able to use only own folder DLLs, which must be 5.8.6 of course.


2) also we can way for our 5.8.8 build ...

3) Ivan later (tomorrow?) will try again with your db I think, but he says he have try many times and was not able to get problem with objectPtr
Steve Albin

Steve Albin

2015-09-04 20:24

reporter   ~0008279

I did trash the vcomponents folders in Windows. I usually rename. I don't develop in Windows so I have no use for them in Program Files.

I quit VStudio and restarted. Still getting same diagnose errors after reindex.

I understand you are using the 5.8.8 version to try this. Maybe it is possible that this version fixes my problem along with other things. I would love to try it myself. I can wait when it is ready as this problem is not a show stopper for me in the short run.
Ruslan Zasukhin

Ruslan Zasukhin

2015-09-05 16:41

administrator   ~0008280

http://valentina-db.com/download/prev_releases/

here you can find 5.8.8 archives.
Steve Albin

Steve Albin

2015-09-05 21:53

reporter   ~0008281

Last edited: 2015-09-05 22:04

View 4 revisions

Unfortunately, I am still having the problem with 5.8.8.

I've created a movie to show exactly what I am talking about.

The movie will show me opening my database, diagnosing, reindexing, cloning, selecting records, reindexing again and selecting again. It is 3 minutes long.

Here is the link:
https://www.dropbox.com/s/utktqi41y0u7tct/Valentina%20Reindex%20corruption.mov?dl=0

Why this is not happening on your computer, I can't say.



I wish I could change the misleading title of the report. It should be "Reindexing database corrupts index on Windows"

Ivan Smahin

Ivan Smahin

2015-09-07 06:43

developer   ~0008282

Steve, on your video I see .vdb size ~100Mb, but db from your dropBox is ~80Mb.
Steve Albin

Steve Albin

2015-09-07 12:08

reporter   ~0008283

Where do you see ~100Mb? In the Windows explorer Window where VStudio opens the database, the column on the right says 80,100 Kb.
Ivan Smahin

Ivan Smahin

2015-09-07 12:45

developer   ~0008284

Ups, sorry, but anyway, dropbox's db is 82,022,400 bytes (82 MB on disk).
Steve Albin

Steve Albin

2015-09-07 13:11

reporter   ~0008285

Yes, I think because either Unix or Windows doesn't know how to count. :-)

I have a shared disk for the Windows environment on my Mac. When I view the database in Finder, the size is 82MB. When I view the same file on Windows 8, it shows as 81,100 Kb.
Steve Albin

Steve Albin

2015-09-07 13:35

reporter   ~0008286

The difference on the database size made me try a different experiment.

I usually move the database off the shared disk before working on it with Windows, but this time I leave it on the shared disk.

I open the database with VStudio on Windows and go through the same steps with the same results. When I'm finished, the database shows problems on the Players table.

I close the databaes on the Mac and then open same database using VStudio 5.8.6 on the Mac. The database still shows problems on the Players table, but on Mac, the reindex "fixes" these problems and the SQL retrieval gives correct results. I say fixes, but then I close the database on Mac and reopen on Windows. Diagnosing the table there still shows the error.

So, it appears to be a problem reading the database. On Mac, the diagnose shows no problem. On Windows, same database, problems.

Can you confirm that you are seeing anything like this on your systems?
Ivan Smahin

Ivan Smahin

2015-09-07 13:44

developer   ~0008287

No. The only thing we see is varchar's index issues as described above. No problems with ObjectPtrs - both win and mac. The query produces correct results on both platforms.

So either we are using different dbs or some dll mess on your win comp.
Steve Albin

Steve Albin

2015-09-07 14:33

reporter   ~0008288

We know it is not a problem with dlls because I trashed the vcomponents folder and am only using the dlls that come with the VStudio installation. In fact, the movie shows the complete VStudio installation on my computer, so you can verify it it is correct.

I have this problem on other DBs also. But, the database in the movie is the same database provided in the DropBox link.

I am running Windows 8. My user is running Windows 7 with the same results.

What else can we look at?
Ruslan Zasukhin

Ruslan Zasukhin

2015-09-08 05:51

administrator   ~0008289

Last edited: 2015-09-08 05:53

View 2 revisions

Ivan, may be ask please Sergey AND Yuri download this DB also,
and point them steps todo to try reproduce ObjectPtr trouble.
This should not take many time for them.

I have take a look on first msg here from Steve, it talks about SQL queries.

We need exact steps for guys:
* download here.
* do step
* do step
* do step === trouble with ObjectPtr


[Point:]

We also use Win7 here.
And we all using x64 version.

I could guess that Steve's user use Win7-32, but I doubt that win8 is 32 bit on Steve machine.

Ruslan Zasukhin

Ruslan Zasukhin

2015-09-08 07:22

administrator   ~0008290

Reproduced by me and Yuri on Win7, using 5.8.8 (6.0 not tested for now)
On Mac both 5.8.8 and 6.0 do not make such trouble.
Steve Albin

Steve Albin

2015-09-08 11:48

reporter  

Windows 8.png (421,187 bytes)
Steve Albin

Steve Albin

2015-09-08 11:49

reporter   ~0008291

I just attached a screen show of the Windows System control panel for my installation. Appears to be 32 bit.
Ruslan Zasukhin

Ruslan Zasukhin

2015-09-08 15:48

administrator   ~0008292

Please try vstudion build from this folder

http://valentina-db.com/download/prev_releases/5.8.8/win_32

date of file - 8 Sept.
Should be okay now.

after you confirm, I will drop here all win archives.
Steve Albin

Steve Albin

2015-09-08 21:09

reporter   ~0008293

I am away until Wednesday evening but I will try this as soon as I get home. Thanks!
Steve Albin

Steve Albin

2015-09-09 19:07

reporter   ~0008294

Yes! The fix appears to work. I have not had time to try other things, but the steps I reported now work properly.

I am curious as to what caused this. Obviously, my database is doing something off the beaten path or this would have occurred to other developers also. I don't have a lot of users, but only one reported this problem. Is there any suspicion that my database schema has a quirk that I can remedy?

Thanks for fixing this. I know you are busy with getting version 6 out the door and don't need more problems.
Ruslan Zasukhin

Ruslan Zasukhin

2015-09-14 09:19

administrator   ~0008296

all win archives re-uploaded.
Ruslan Zasukhin

Ruslan Zasukhin

2015-09-14 09:33

administrator   ~0008297

FIXED in 5.8.8

trouble was fixed by simple clean rebuild.

Issue History

Date Modified Username Field Change
2015-08-25 13:08 Steve Albin New Issue
2015-08-29 21:30 Steve Albin Note Added: 0008264
2015-09-03 09:26 Ivan Smahin Note Added: 0008265
2015-09-03 09:32 Ivan Smahin Note Edited: 0008265 View Revisions
2015-09-03 21:32 Steve Albin Note Added: 0008267
2015-09-03 21:33 Steve Albin Note Added: 0008268
2015-09-04 09:15 Ruslan Zasukhin Note Added: 0008269
2015-09-04 09:16 Ruslan Zasukhin Note Added: 0008270
2015-09-04 12:47 Steve Albin Note Added: 0008272
2015-09-04 13:08 Ruslan Zasukhin Note Added: 0008273
2015-09-04 13:12 Ruslan Zasukhin Note Added: 0008274
2015-09-04 15:42 Steve Albin Note Added: 0008275
2015-09-04 15:59 Steve Albin Note Added: 0008276
2015-09-04 16:26 Steve Albin Note Added: 0008277
2015-09-04 16:28 Ruslan Zasukhin Note Added: 0008278
2015-09-04 20:24 Steve Albin Note Added: 0008279
2015-09-05 16:41 Ruslan Zasukhin Target Version => 5.8
2015-09-05 16:41 Ruslan Zasukhin Note Added: 0008280
2015-09-05 21:53 Steve Albin Note Added: 0008281
2015-09-05 22:03 Steve Albin Note Edited: 0008281 View Revisions
2015-09-05 22:03 Steve Albin Note Edited: 0008281 View Revisions
2015-09-05 22:04 Steve Albin Note Edited: 0008281 View Revisions
2015-09-07 06:43 Ivan Smahin Note Added: 0008282
2015-09-07 12:08 Steve Albin Note Added: 0008283
2015-09-07 12:45 Ivan Smahin Note Added: 0008284
2015-09-07 13:11 Steve Albin Note Added: 0008285
2015-09-07 13:35 Steve Albin Note Added: 0008286
2015-09-07 13:44 Ivan Smahin Note Added: 0008287
2015-09-07 14:33 Steve Albin Note Added: 0008288
2015-09-08 05:51 Ruslan Zasukhin Note Added: 0008289
2015-09-08 05:53 Ruslan Zasukhin Note Edited: 0008289 View Revisions
2015-09-08 07:22 Ruslan Zasukhin Note Added: 0008290
2015-09-08 11:48 Steve Albin File Added: Windows 8.png
2015-09-08 11:49 Steve Albin Note Added: 0008291
2015-09-08 15:48 Ruslan Zasukhin Note Added: 0008292
2015-09-08 21:09 Steve Albin Note Added: 0008293
2015-09-09 19:07 Steve Albin Note Added: 0008294
2015-09-14 09:19 Ruslan Zasukhin Note Added: 0008296
2015-09-14 09:33 Ruslan Zasukhin Note Added: 0008297
2015-09-14 09:33 Ruslan Zasukhin Status new => resolved
2015-09-14 09:33 Ruslan Zasukhin Fixed in Version => 5.8
2015-09-14 09:33 Ruslan Zasukhin Resolution open => fixed
2015-09-14 09:33 Ruslan Zasukhin Assigned To => Ruslan Zasukhin